Viber#
Поддерживается отправка следующих типов Viber-сообщений:
только текст;
только изображение;
текст + кнопка для перехода по ссылке;
текст + изображение + кнопка для перехода по ссылке.
Примеры запросов на отправку Viber-сообщений#
Для формирования тестового запроса с вашими параметрами
Открыть генератор запросов
1{
2 "login":"ВАШ_ЛОГИН",
3 "password":"ВАШ_ПАРОЛЬ",
4 "useTimeDiff":false,
5 "id":"8770100",
6 "scheduleInfo":
7 {
8 "timeBegin":"10:00",
9 "timeEnd":"20:00",
10 "weekdaysSchedule":"12345"
11 },
12 "destAddr":"Номер_Абонента",
13 "message":
14 {
15 "type":"VIBER",
16 "data":
17 {
18 "instantContent":
19 {
20 "type":"TEXT",
21 "data":
22 {
23 "text":"VIBERMESS"
24 }
25 },
26 "serviceNumber":"НОМЕР_ОТПРАВИТЕЛЯ",
27 "ttl":1
28 }
29 }
30}
1{
2 "login":"ВАШ_ЛОГИН",
3 "password":"ВАШ_ПАРОЛЬ",
4 "id":"8770100",
5 "scheduleInfo":
6 {
7 "timeBegin":"10:00",
8 "timeEnd":"20:00",
9 "weekdaysSchedule":"12345"
10 },
11 "destAddr":"Номер_Абонента",
12 "message":
13 {
14 "type":"VIBER",
15 "data":
16 {
17 "instantContent":
18 {
19 "type":"IMAGE_URL",
20 "data":
21 {
22 "imageURL":"https://example.ru/image"
23 }
24 },
25 "serviceNumber":"НОМЕР_ОТПРАВИТЕЛЯ",
26 "ttl":1
27 }
28 }
29}
1{
2 "login":"ВАШ_ЛОГИН",
3 "password":"ВАШ_ПАРОЛЬ",
4 "useTimeDiff":false,
5 "id":"8770100",
6 "scheduleInfo":
7 {
8 "timeBegin":"10:00",
9 "timeEnd":"20:00",
10 "weekdaysSchedule":"12345"
11 },
12 "destAddr":"Номер_Абонента",
13 "message":
14 {
15 "type":"VIBER",
16 "data":
17 {
18 "instantContent":
19 {
20 "type":"BUTTON",
21 "data":
22 {
23 "text":"VIBERMESS",
24 "imageURL":"https://example.ru/image",
25 "caption":"ПЕРЕЙТИ",
26 "action":"https://example.ru/image"
27 }
28 },
29 "serviceNumber":"НОМЕР_ОТПРАВИТЕЛЯ",
30 "ttl":1
31 }
32 }
33}
Параметры запросов#
Параметр |
Обязат. |
Тип |
Описание |
|---|---|---|---|
login |
да |
string |
Имя Партнера. |
password |
да |
string |
Пароль Партнера для отправки сообщений. |
useTimeDiff |
нет |
boolean |
Учитывание часового пояса при запуске рассылки. Подробнее
Если
Если
Значение по умолчанию: |
id |
нет |
string |
Уникальный идентификатор на стороне Партнёра. ПодробнееДанный параметр используется для контроля повторных отправок и дублирования (сервис контроля включается отдельно). Партнёр может вызывать Сервис-провайдера (запрос на отправку сообщения) с одним и тем же id несколько раз. При этом:
Сервис-провайдер опционально возвращает Партнёру данный идентификатор при его наличии в отчёте о доставке сообщения. |
shortenLinks |
нет |
boolean |
Параметр управляет включением автоматического сокращения длинных ссылок в сообщении. ПодробнееВозможные значения:
Если параметр в запросе не приходит, но при этом сервис Партнёру доступен, то ссылки будут сокращаться по умолчанию. Возможность пользоваться данным сервисом предварительно оговаривается и настраивается Сервис-Провайдером. Подробнее: см. Сервис сокращения ссылок. |
scheduleInfo |
нет |
object |
Расписание рассылки. ПодробнееЕсли не указано, отправляется сразу же, в момент получения запроса. |
scheduleInfo/
timeBegin
|
нет |
string |
Время начала. Подробнее
Например, |
scheduleInfo/
timeEnd
|
нет |
string |
Время окончания. Подробнее
Например, |
scheduleInfo/
weekdaysSchedule
|
нет |
string |
Дни рассылки. Подробнее
Задаются цифрами от Если ограничений по дням недели нет, то данный параметр может быть пустой или не передан в запросе. |
scheduleInfo/
deadline
|
нет |
string |
Дата окончания рассылки. Подробнее
Например, |
destAddr |
да |
string |
Номер телефона абонента. ПодробнееСодержит код страны, код оператора и номер телефона.
Для РФ код может быть
Примеры: |
message |
да |
object |
Параметры отправляемого сообщения. |
message/type |
да |
enum |
Тип сообщения. Подробнее
Передается значение |
message/data |
да |
object |
Параметры отправляемых данных |
message/data/
instantContent
|
да |
object |
Параметры отправляемого Viber-сообщения (изображения, кнопки). |
instantContent/
type
|
да |
enum |
Тип параметра сообщения. Подробнее
Допустимые значения: Важно Для бизнес-аккаунтов, поддерживающих функционал Viber-сессий,
доступны сообщения либо |
instantContent/
data
|
да |
object |
Параметры отправляемых данных при выборе значения Подробнее
Допустимые значения: |
instantContent/
data/text
|
да |
string |
Текст сообщения. ПодробнееМаксимальная длина: 1000 символов. |
instantContent/
data/imageURL
|
да |
string |
URL изображения для передачи. ПодробнееРекомендовано использовать изображение размером 400x400px с расширением JPG или PNG. |
instantContent/
data/caption
|
да |
string |
Текст кнопки в Viber-сообщении. ПодробнееМаксимум 30 символов. |
instantContent/
data/action
|
да |
string |
Ссылка кнопки в Viber-сообщении. ПодробнееМаксимум 2048 символов. URL для ссылки должен начинаться с http:// , https:// , viber:// , mailto: , tel: . |
message/data/
serviceNumber
|
нет |
string |
Сервисное имя, от которого осуществляется отправка сообщения. |
message/data/ttl |
нет |
integer |
Срок жизни сообщения. ПодробнееДопустимый диапазон, сек: от 30 до 86400. Примечание При |
message/data/
ttlUnit
|
нет |
enum |
Единица измерения периода доставки сообщения. Подробнее
Передается только вместе с
Допустимые значения: |
extraParam |
нет |
string |
Дополнительные параметры, передаваемые в виде Подробнее
Символ запятой в названии параметра использоваться не может, но
может входить в его значение — в этом случае он должен удваиваться.
Пример: строка
|
registeredDelivery |
нет |
integer |
Необходимость отчётов о доставке. ПодробнееВозможные значения:
|
notifyUrl |
нет |
string |
Имя хоста входящего API для получения отчета о доставке. ПодробнееЭтот параметр в запросе необязательный, но при его отправке нужно учесть следующее: если парметр указан, он не может быть пустым.
Длина строки При невыполнении любого из указанных условий будет сгенерирована ошибка, запрос не будет выполнен. |
cascadeChainLink |
нет |
object |
Параметры каскадных сообщений. Подробнее |
Ответ на запрос#
После отправки сообщения Сервис-провайдер синхронно возвращает ответ. В случае успешной отправки возвращается HTTP-код 200 OK.
Ответ при успешной отправке Viber-сообщения#
1 {
2 "mtNum": "7390612217"
3 "id": "8770599"
4 }
Параметр |
Тип данных |
Описание |
|---|---|---|
mtNum |
string |
Идентификатор цепочки отправки, присваиваемый платформой Сервис-провайдера. |
id |
string |
Уникальный идентификатор на стороне Партнёра. Присутствует, если был передан при отправке. |
Ошибки при отправке Viber-сообщения#
Для ошибочных результатов HTTP-код ответа будет отличный от 200 OK (см. Коды ошибок отправки).
1 {
2 "error": {
3 "code": 4,
4 "description": "Invalid request"
5 },
6 "extendedDescription": "Capture is absent or length longer 30 characters"
7 }
В данном примере в Viber-сообщении типа BUTTON отсутствует параметр capture, или его длина превышает 30 символов.
Параметр |
Тип данных |
Описание |
|---|---|---|
error |
object |
Информация об ошибке. |
error/code |
int |
Код ошибки. |
error/description |
string |
Краткое описание ошибки. |
extendedDescription |
string |
Подробное описание ошибки (необязательный параметр). |
Коды ошибок отправки#
Код |
Описание |
HTTP-код |
|---|---|---|
1 |
Service is unavailable |
503 |
2 |
Invalid IP-address |
403 |
3 |
Too many connections |
429 |
4 |
Invalid request |
400 |
5 |
Invalid login |
401 |
6 |
Invalid password |
401 |
7 |
serviceNumber is not defined |
400 |
8 |
destAddr is not correct |
406 |
9 |
Message type is not correct |
406 |
10 |
Prohibited sending duplicates |
409 |
11 |
Invalid TTL |
406 |
100 |
100 |
500 |
Статусы доставки Viber-сообщений#
Для получения статусов Viber-сообщений необходимо настроить Сервис получения статусов доставки сообщений.
Коды ошибок доставки#
Коды ошибок доставки, в зависимости от типа сообщения, приведены в соответствующей вкладке в разделе Описание кодов ошибок.
Viber-сессия#
Примечание
Функционал Viber-сессий недоступен по умолчанию. Для его подключения следует обратиться к своему курирующему менеджеру.
Подключение функционала сессий#
Важно
Для бизнес-аккаунтов, поддерживающих функционал Viber-сессий, доступны сообщения с типом «только текст» или «только изображение» (значение параметра InstantContent.type должно быть либо TEXT, либо IMAGE_URL).
Особенности работы сессий#
Начало сессии:
сессия может быть инициирована только подписчиком;
сессия начинается, когда подписчик отправляет первое сообщение Партнеру;
сессия не может быть инициирована изображением;
если в рамках переписки присутствует только один отправитель (неважно — подписчик или Партнер), то это не считается сессией, сообщения будут тарифицированы обычным образом.
Лимиты сессии:
продолжительность сессии по умолчанию 24 часа;
Партнер может отправить до 60 сообщений (после превышения данного лимита автоматически стартует новая сессия);
Партнер может отправлять до 10 сообщений без ответа подписчика (после превышения данного лимита сессия автоматически закрывается);
Партнер может отправлять только сообщения с типом “текст“ или “изображение“.
Завершение сессии:
по прошествии 24 часов;
по достижении лимита в 60 сообщений (автоматически стартует новая сессия);
по достижении лимита в 10 безответных сообщений от Партнера.