VIBER + SMS API
DecisionTelecom Viber + SMS API позволяет отправлять и получать деловые сообщения Viber в любую страну мира и из нее через API, и если Viber сообщение не было доставлено клиенту, то оно будет переслано и доставлено, как обычное смс сообщение. Каждое сообщение идентифицируется уникальным случайным идентификатором, поэтому пользователи всегда могут проверить статус сообщения, используя заданную конечную точку.
The Viber + SMS API использует HTTPS с ключом доступа, который используется в качестве авторизации API. Полезные данные запросов и ответов форматируются как JSON с использованием кодировки UTF-8.
API Авторизация - Базовый ключ доступа Base64.
Чтобы получить ключ API, пожалуйста, свяжитесь с вашим менеджером по работе с клиентами.
Авторизация
Базовая авторизация
Пример:
$userHashKey = 'User Hash Key provided by your account manager';
$ch = curl_init('https://web.it-decision.com/v1/api/send-viber');
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$userHashKey");
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($requestParams)); //
$requestParams - raquest array with correct data
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$result = curl_exec($ch);
curl_close($ch);
Отправить Вайбер сообщение
https://web.it-decision.com/v1/api/send-viber
{
"source_addr": "Custom Company",
"destination_addr": 8882222200,
"message_type":106,
"text":"Message content",
"text_sms":"SMS message content", // add this parameter: if, in the event of non-delivery via Viber, it is necessary to resend transactional message via SMS
"image":"https://yourdomain.com/images/image.jpg",
"button_caption":"Join Us",
"button_action":"https://yourdomain.com/join-us",
"source_type":2,
"callback_url":"https://yourdomain.com/viber-callback",
"validity_period":40
}
Параметры
source_addr:
<= 20 chars - от кого сообщение
destination_addr:
<= 20 chars - кому сообщение
message_type (тип отправленного сообщения):
106 только текст (удобно для транзакционных сообщений)
108 текст+картинка+кнопка (удобно для рекламных сообщений)
206 только текст (2Way)*(удобно для рекламных сообщений)
208 текст+изображение+кнопка (двусторонняя)* (удобно для рекламных сообщений)
text:
<= 1000 chars - текст Viber сообщения
text_sms:
<= 70 chars for UCS-2 (16-bit) and <= 160 chars for Latin - альтернативный текст SMS, если сообщение Viber не доставлено (только для транзакционных сообщений)
image (Правильный URL-адрес с изображением для рекламного сообщения с заголовком кнопки и действием кнопки):
jpg or jpeg (тип mime — изображение/jpeg), максимальное разрешение 400x400 пикселей
png (тип mime — image/png), максимальное разрешение 400x400 пикселей
button_caption:
<= 30 chars - надпись на кнопке
button_action:
Правильный URL для перехода при нажатии кнопки
source_type (Процедура отправки сообщения):
promotion message (сообщение может быть с текстом, изображением и кнопкой) - 1
transactional message (текстовое сообщение) – 2
callback_url:
Правильный URL для обратного вызова статуса сообщения
validity_period:
TTL (время жизни) позволяет отправителю ограничить время жизни сообщения. В случае, если сообщение не получило статус «доставлено» до истечения времени, сообщение не будет списано и не будет доставлено пользователю. В случае, если TTL не был указан (нет параметра «ttl»), Viber будет пытаться доставить сообщение в течение 1 дня.
promotion message - мин. TTL 40 секунд макс. TTL 21600 секунд (6 часов)
transactional message - мин. TTL 40 секунд макс. TTL 21600 секунд (6 часов)
transactional message + SMS - TTL всего 40 секунд
Response:
{
"message_id":429
}
Значение:
message_id:
Идентификатор отправленного сообщения
Получить сообщение от пользователя для двусторонних сообщений:
Для двусторонних сообщений система DecisionTelecom Viber будет отправлять обратные вызовы с каждым сообщением пользователя. Содержимое данных отслеживания будет отправлено клиентом в соответствии с данными отслеживания в последнем сообщении, которое было получено на стороне клиента Viber.
Ответ подразумевает, что у пользователя API есть URL-адрес обратного вызова для этих сообщений.
Response:
{
"message_token": 44444444444444,
"phone_number": "972512222222",
"time": 2121212121,
"message":
{
"text": "a message to the service",
"tracking_data": "tracking_id:100035"
}
}
Значения
message_token:
токен сообщения ответа клиента
phone_number:
номер телефона клиента
time:
время ответа клиента
message:
text:
текст ответного сообщения клиента
tracking_data:
tracking_id: Идентификатор сообщения, на которое отвечает клиент
Получить Вайбер сообщение
https://web.it-decision.com/v1/api/receive-viber
{
"message_id":429
}
Параметры
message_id:
ID сообщения, статус которого вы хотите получить (за последние 5 дней)
{
"message_id":429,
"status":1,
"sms_message_id":36478,
"sms_message_status":2
}
Значения
message_id:
ID сообщения, статус которого вы хотите получить (за последние 5 дней)
status:
Текущий статус сообщения Viber
sms_message_id:
Идентификатор SMS-сообщения (если доступно, только для транзакционных сообщений)
sms_message_status:
Статус SMS-сообщения (если доступно, только для транзакционных сообщений)
Статусы сообщений Вайбер
delivered
1
error
2
rejected
3
undelivered
4
pending
5
unknown
20
Статусы SMS сообщений
undeliverable
5
expired
3
Ошибки
message
Rate limit превышен
code
0
status
429
message
Пустой параметр или ошибка проверки параметра
code
1
status
400
message
Сервер столкнулся с непредвиденной ситуацией, из-за которой он не смог выполнить запрос
code
2
status
500
message
Баланс пользователя пуст
code
3
status
402
Пример Viber + SMS
curl --location --request POST 'https://web.it-decision.com/v1/api/receive-viber' \
--header 'Authorization: Basic api key' \
--header 'Content-Type: application/json' \
--data-raw '{"source_addr": "Custom Company","destination_addr": 380636111112,"message_type":106,"text":"Message content","text_sms":"SMS message content","image":"https://yourdomain.com/images/image.jpg","button_caption":"Join Us", "button_action":"https://yourdomain.com/join-us","source_type":2,"callback_url":"https://yourdomain.com/viber-callback","validity_period":3600
}'
Last updated