Callback функции

Функции, описанные в этой статье, предназначены только для SME.

Для передачи информации об изменении статуса доставки сообщения

Запрос который передает на ваш сервер информацию об изменении статуса доставки сообщения. Параметры запроса передаются в теле запроса и аналогичны ответу для метода (GET) imOutMessageId.

URL-адрес подключения

Для создания callback-оповещения выполняется POST-запрос на URL-адрес, указанный вами при регистрации или в личном кабинете в разделе профиль. 

Должен использоваться только HTTPS протокол.

Формат запроса

В теле запроса передается JSON-объект с данными о доставке сообщения (аналогичный телу ответа на запрос (GET) imOutMessage).

{
    "imOutMessageId": "91973e62-6dad-48f8-9b10-dcc7bdc7f3a9",
    "dlvStatus": "read",
    "dlvStatusAt": "2020-01-10T19:03:52.355+0300",
    "dlvError": null,
    "rate": null,
    "reserveSms": null
}

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

ПараметрТип данныхОписание
imOutMessageIdstringИдентификатор сообщения
dlvStatusstringСтатус сообщения. Возможные значения
dlvStatusAtstringВремя последнего обновления статуса сообщения. Указывается формате ISO 8601. Например, 2019-12-26T19:03:52.355+0300
dlvErrorstringОшибка, возникшая при доставке сообщения. Возможные значения
ratestringЦена доставки резервного SMS-сообщения, если SMS было отправлено
reserveSmsstringСтатус доставки резервного SMS-сообщения.

Формат ответа

В ответ на запрос от вашего сервера должен возвращаться статус его выполнения с кодом 200.

Для передачи сообщения, отправленного пользователем на сервер

Этот метод позволяет выполнить отправку входящего сообщения пользователя на ваш сервер, в результате которого можно просмотреть это сообщение. Метод аналогичен функции imOutMessageDlvStatusCallback. В личном кабинете обязательно должен быть прописан Callback URL. Адрес должен начинаться с HTTPS. Функция передачи сообщения должна использоваться, например, если отправляются HSM сообщения с чат-кнопками. В этом случае в теле запроса будет присутсвовать параметр payload. Это код кнопки на которую нажал пользователь. Код указывается при создании шаблона HSM.

URL-адрес подключения

Для отправки входящего сообщения, выполняется POST-запрос на URL-адрес, указанный вами при регистрации или в личном кабинете в разделе профиль. 

Должен использоваться только HTTPS протокол.

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

В теле запроса передается JSON-объект с входящим сообщением пользователя и его параметрами (аналогичный телу запроса (POST) imOutMessageDlvStatusCallback).

{
    "id": 43407125,
    "imSubject": "subject",
    "address": "79XXXXXXXXX",
    "receivedAt": "2021-10-20T08:42:51.354+0000",
    "imType": "whatsapp",
    "contentType": "text",
    "text": "Hello edna",
    "caption": null,
    "attachmentUrl": null,
    "attachmentName": null,
    "longitude": null,
    "latitude": null,
    "locationAddress": null,
    "userName": "Joe",
    "firstName": null,
    "lastName": null,
    "avatarUrl": null,
    "apiKeyId": 121,
    "historyMessages": [
        null
    ],
    "imSubjectId": 864
}

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

ПараметрТип запросаОписание
idstringИдентификатор сообщения. Генерируется сторонней системой, после чего значение должно быть передано в запрос
imsubjectstringТекст подписи в сообщении
addressstringНомер абонента WhatsApp, c которого было отрпавлено сообщение в формате 79ХХХХХХХХХХ
receivedAtstringВремя принятого сообщения
imTypestringОпределяет канал взаимодействия, который используется для доставки сообщения
contentTypestringОпределяет тип сообщения. Может быть текст, кнопка, изображение, документ, аудио или видео
textstringТекст сообщения
attachmentUrlstringURL прикрепленного изображения/документа/видео
attachmentNamestring (optional)Название прикрепленного изображения/документа/видео.
longitudestringДолгота отправителя
latitudestringШирота отправителя
locationAddressstringАдрес локации
captionstringНазвание локации
userNamestringНикнейм пользователя в whatsapp
firstNamestringИмя пользователя в whatsapp
lastNamestringФамилия пользователя в whatsapp
avatarUrlstringАватар пользователя
payloadstringКод кнопки. Указывается при создании HSM шаблона
apiKeyIdstringКод ключа аккаунта

Формат ответа

В ответ на запрос от сервера клиента должен возвращаться статус его выполнения с кодом 200.