WhatsApp#

Отправка WhatsApp-сообщения#

Поддерживается отправка следующих типов WhatsApp-сообщений:

  • только текст;

  • только изображение.

Примечание

Одновременная отправка в запросе двух типов контента (например, текста с изображением) недопустима.

Примеры запросов на отправку WhatsApp-сообщений#

Для формирования тестового запроса с вашими параметрами Внешняя ссылка Открыть генератор запросов

 1 {
 2    "login":"ВАШ_ЛОГИН",
 3    "password":"ВАШ_ПАРОЛЬ",
 4    "useTimeDiff":false,
 5    "id":"8770100",
 6    "scheduleInfo": {
 7       "timeBegin":"10:00",
 8       "timeEnd":"20:00",
 9       "weekdaysSchedule":"12345"
10    },
11    "destAddr":"Номер_Абонента",
12    "message": {
13       "type":"WHATSAPP",
14       "data": {
15           "instantContent": {
16                "type":"TEXT",
17                "data": {
18                   "text":"Текст WhatsApp-сообщения"
19                }
20            },
21            "serviceNumber":"НОМЕР_ОТПРАВИТЕЛЯ",
22            "ttl":1440
23        }
24     }
25 }

Параметры запросов#

Параметр

Обязат.

Тип

Описание

login

да

string

Имя Партнера.

password

да

string

Пароль Партнера для отправки сообщений.

useTimeDiff

нет

boolean

Учитывание часового пояса при запуске рассылки.

Подробнее

Если true, то отправка сообщения осуществляется абоненту согласно расписанию рассылки и его часовому поясу.

Если false, то сообщение отправляется согласно расписанию инициатора рассылки UTC+3, не обращая внимание на часовой пояс получателя сообщения.

Значение по умолчанию: false.

id

нет

string

Уникальный идентификатор на стороне Партнёра.

Подробнее

Данный параметр используется для контроля повторных отправок и дублирования (сервис контроля включается отдельно). Партнёр может вызывать Сервис-провайдера (запрос на отправку сообщения) с одним и тем же id несколько раз.

При этом:

  • отправка сообщения абоненту будет выполнена только один раз (по первому запросу);
  • в ответах на данные запросы Сервис-провайдер вернет Партнёру один и тот же идентификатор сообщения в системе Сервис-провайдера (тот же, что на первый запрос).

Сервис-провайдер опционально возвращает Партнёру данный идентификатор при его наличии в отчёте о доставке сообщения.

scheduleInfo

нет

object

Расписание рассылки.

Подробнее

Если не указано, отправляется сразу же, в момент получения запроса.

scheduleInfo/
timeBegin

нет

string

Время начала.

Подробнее

Например, 10:00.

scheduleInfo/
timeEnd

нет

string

Время окончания.

Подробнее

Например, 21:00.

scheduleInfo/
weekdaysSchedule

нет

string

Дни рассылки.

Подробнее

Задаются цифрами от 1 (понедельник) до 7 (воскресение), например, 12345.

Если ограничений по дням недели нет, то параметр можно не передавать в запросе, либо можно не указывать его значение.

scheduleInfo/
deadline

нет

string

Дата окончания рассылки.

Подробнее

Например, 2019-05-10T16:29:30+0300.

destAddr

да

string

Номер телефона абонента.

Подробнее

Содержит код страны, код оператора и номер телефона.

Для РФ код может быть 8, 7 или +7.

Примеры: 72101234567, +72101234567, 8-210-123-45-67, 82101234567.

message

да

object

Параметры отправляемого сообщения.

message/type

да

enum

Тип сообщения.

Подробнее

Передается значение WHATSAPP.

message/data/
instantContent

нет

object

Параметры отправляемого WhatsApp-сообщения (изображения, кнопки).

instantContent/
type

нет

enum

Тип параметра сообщения.

Подробнее

Допустимые значения: TEXT (для передачи только текста), IMAGE_URL (для передачи только изображения).

instantContent/
data

нет

object

Параметры отправляемых данных.

Подробнее

Допустимые значения:

  • text (текст сообщения);
  • imageURL (адрес изображения).
instantContent/
data/text

нет

string

Текст сообщения.

Подробнее

Максимальная длина: 1000 символов.

instantContent/
data/imageURL

string

URL изображения для передачи.

Подробнее

Рекомендовано использовать изображение размером 400x400px с расширением JPG или PNG.

message/data/
serviceNumber

нет

string

Сервисное имя, от которого осуществляется отправка сообщения.

message/data/
ttl

нет

integer

Срок жизни WhatsApp-сообщения.

Подробнее Допустимые значения (кратно суткам), мин: 1440, 2880, 4320, 5760, 7200, 8640, 10080.

Примечание

При ttl=0 или отсутствии параметра в запросе берётся значение из настроек по умолчанию, которые задаются при настройке интеграции отдельно для каждого клиента.

message/data/
ttlUnit

нет

enum

Единица измерения периода доставки сообщения.

Подробнее

Передается только вместе с ttl.

Допустимые значения: SECONDS; MINUTES (значение по-умолчанию); HOURS.

extraParam

нет

string

Дополнительные параметры, передаваемые в виде param1=value1,param2=value2, где param1 и param2 — названия параметров, value1 и value2 — значения.

Подробнее

Символ запятой в название параметра входить не может, но может входить в его значение - в этом случае он должен удваиваться. Пример: строка место=абзаково,название=гостевой дом-2,координаты=53.8085896,, 58.6362112,c=23.02.09,по=05.03.09.

registeredDelivery

нет

integer

Необходимость отчётов о доставке.

Подробнее

Возможные значения:

  • 0 — статусы не нужны;
  • 1 — нужны статусы (по умолчанию);
  • 2 — нужны только статусы НЕ ДОСТАВЛЕНО.

notifyUrl

нет

string

Имя хоста входящего API для получения отчета о доставке.

Подробнее

Этот параметр в запросе необязательный, но при его отправке нужно учесть следующее: если парметр указан, он не может быть пустым.

Длина строки notifyUrl не должна превышать 2048 символов.

При невыполнении любого из указанных условий будет сгенерирована ошибка, запрос не будет выполнен.

cascadeChainLink

нет

object

Параметры каскадных сообщений.

Подробнее

См. Каскадная рассылка

Ответ на запрос#

После отправки сообщения Сервис-провайдер синхронно возвращает ответ. В случае успешной отправки возвращается HTTP-код 200 OK.

Ответ при успешной отправке WhatsApp-сообщения#

1 {
2   "mtNum": "107930572",
3   "id": "8770599"
4 }

Ошибки при отправке WhatsApp-сообщений#

Для ошибочных результатов HTTP-код ответа будет отличный от 200 OK (см. Коды ошибок отправки).

1 {
2     "error": {
3         "code": 4,
4         "description": "Invalid request"
5     },
6     "extendedDescription": "Message is too long (2024 symbols). WHATSAPP message max length is 1000 symbols."
7 }

Коды ошибок отправки#

Код

Описание

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

Статусы доставки WhatsApp-сообщений#

Для получения статусов WhatsApp-сообщений необходимо настроить Сервис получения статусов доставки сообщений.

Коды ошибок доставки#

Коды ошибок доставки, в зависимости от типа сообщения, приведены в соответствующей вкладке в разделе Описание кодов ошибок.