VIBER API

DecisionTelecom Viber API позволяет отправлять и получать деловые сообщения Viber в любую страну мира и из нее через API. Каждое сообщение идентифицируется уникальным случайным идентификатором, поэтому пользователи всегда могут проверить статус сообщения, используя заданную конечную точку.

Viber 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", 										
	"image":"https://yourdomain.com/images/image.jpg", 		
	"button_caption":"Join Us", 							
	"button_action":"https://yourdomain.com/join-us",   	
	"source_type":1, 										
	"callback_url":"https://yourdomain.com/viber-callback",
	"validity_period":3600
}

Параметры

source_addr:

<= 20 chars - от кого сообщение

destination_addr:

<= 20 chars – кому сообщение

message_type (тип отправленного сообщения):

106 только текст (удобно для транзакционных сообщений)

108 текст+картинка+кнопка (удобно для рекламных сообщений)

206 только текст (2Way)*(удобно для рекламных сообщений)

208 текст+изображение+кнопка (двусторонняя)* (удобно для рекламных сообщений)

text:

<= 1000 chars - текст 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 часов)

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, 					
}

Значения

message_id:

ID сообщения, статус которого вы хотите получить (за последние 5 дней)

status:

Текущий статус сообщения Viber

Статусы сообщений Viber

sent
0

delivered

1

error

2

rejected

3

undelivered

4

pending

5

seen

6

unknown

20

Ошибки

Name
Слишком много запросов

message

Rate limit превышен

code

0

status

429

Name
Invalid Parameter: [param_name]

message

Пустой параметр или ошибка проверки параметра

code

1

status

400

Name
Внутренняя Ошибка Сервера

message

Сервер столкнулся с непредвиденной ситуацией, из-за которой он не смог выполнить запрос

code

2

status

500

Name
Требуется пополнение баланса

message

Баланс пользователя пуст

code

3

status

402

Пример Вайбер

curl --location --request POST 'https://web.it-decision.com/v1/api/send-viber' \
--header 'Authorization: Basic api key' \
--header 'Content-Type: application/json' \
--data-raw '{"source_addr": "Custom Company", "destination_addr": 8882222200,"message_type":106,"text":"Message content","image":"https://yourdomain.com/images/image.jpg","button_caption":"Join Us","button_action":"https://yourdomain.com/join-us","source_type":1,"callback_url":"https://yourdomain.com/viber-callback","validity_period":3600}'

Last updated