Этот метод позволяет вашему серверу прочитать ответное сообщение пользователя в чате. Например, после отправки пользователю HSM-сообщения с чат-кнопками, при нажатии одной из кнопок возвращается параметр payload (код кнопки, указанный при создании шаблона HSM-сообщения).
URL-адрес подключения
Для чтения ответных сообщений пользователей в чатах укажите API Endpoint вашей системы в личном кабинете при регистрации, который будет обрабатывать входящие POST-запросы от API edna.
Примеры
Пример полученного текстового сообщения.
{ "id": 101, "subject": "test_subject_WA", "subjectId": 345, "subscriber": { "id": 202, "identifier": "79000000000" }, "userInfo": { "userName": "alex", "firstName": null, "lastName": null, "avatarUrl": null }, "messageContent": { "type": "TEXT", "attachment": null, "location": null, "caption": null, "text": "Спасибо за помощь", "payload": null, "story": null, "items": null }, "receivedAt": "2022-04-29T15:30:08Z", "replyOutMessageId": 5043874, "replyOutMessageExternalRequestId": "2c2dd5f1-5ad8-449d-9c38-b6bdf288f1e5", "replyInMessageId": null }
Пример сообщения-реакции, полученного в ответ на сообщение с интерактивным меню.
{ "id": 102, "subject": "test_subject_WA", "subjectId": 345, "subscriber": { "id": 202, "identifier": "79000000000" }, "userInfo": { "userName": "alex", "firstName": null, "lastName": null, "avatarUrl": null }, "messageContent": { "type": "LIST_PICKER", "attachment": null, "location": null, "caption": null, "text": null, "payload": null, "story": null, "items": [ { "identifier": "01", "title": "item 1", "subtitle": null } ] }, "receivedAt": "2022-04-29T15:27:40Z", "replyOutMessageId": null, "replyOutMessageExternalRequestId": null, "replyInMessageId": 537701 }
Пример входящего сообщения со значением PRODUCT
в параметре messageContent.type
.
{ "id": 803101, "subject": "test_subject_WA", "subjectId": 47610, "subscriber": { "id": 4633047, "identifier": "79997776655" }, "userInfo": { "userName": "Иван Иванов", "firstName": null, "lastName": null, "avatarUrl": null }, "messageContent": { "type": "PRODUCT", "attachment": null, "location": null, "caption": null, "text": "Hello", "payload": null, "story": null, "items": null, "contact": null, "product": { "id": "321", "catalogId": "123" }, "catalog": null, "order": null }, "receivedAt": "2024-08-05T08: 24: 14Z", "replyOutMessageId": null, "replyOutMessageExternalRequestId": null, "replyInMessageId": null }
Пример входящего сообщения со значением ORDER
в параметре messageContent.type
.
{ "id": 804201, "subject": "test_subject_WA", "subjectId": 47610, "subscriber": { "id": 4633047, "identifier": "79997776655" }, "userInfo": { "userName": "Иван Иванов", "firstName": null, "lastName": null, "avatarUrl": null }, "messageContent": { "type": "ORDER", "attachment": null, "location": null, "caption": null, "text": null, "payload": null, "story": null, "items": null, "contact": null, "product": null, "catalog": null, "order": { "catalogId": "1022121105031922", "products": [ { "id": "111222", "quantity": 2, "price": 5, "currency": "RUB" } ] } }, "receivedAt": "2024-08-05T12:44:22Z", "replyOutMessageId": null, "replyOutMessageExternalRequestId": null, "replyInMessageId": null }
Пример колбэка для входящего сообщения с параметром referral
. Позволяет получать информацию о месте, в котором клиент начал диалог в WhatsApp.
{ "id": 115611, "subject": "test_WA", "subjectId": 195, "subscriber": { "id": 1111111, "identifier": "79000000000" }, "userInfo": { "userName": "Anna", "firstName": null, "lastName": null, "avatarUrl": null }, "messageContent": { "type": "TEXT", "attachment": null, "location": null, "referral": { "body": "This is a great product", "headline": "Our new product", "sourceId": "123", "sourceType": "ad", "sourceUrl": "https://www.fb.com" }, "caption": null, "text": "text for test", "payload": null, "story": null, "items": null, "contact": null, "product": null, "catalog": null, "order": null }, "receivedAt": "2024-01-11T11:20:00Z", "replyOutMessageId": null, "replyOutMessageExternalRequestId": null, "replyInMessageId": null }
Параметры запроса
Параметр | Тип данных | Описание |
id | long | Идентификатор запроса. |
subject | string | Название подписи. |
subjectId | long | Идентификатор подписи. Можно узнать через метод получения списка каналов. |
subscriber | object | Информация об отправителе сообщения. |
subscriber.id | long | Идентификатор. |
subscriber.identifier | string | Номер телефона. |
userInfo | object | Информация о пользователе. |
userInfo.userName | string | Имя. |
userInfo.firstName | string | Фамилия. |
userInfo.lastName | string | Отчество. |
userInfo.avatarUrl | string | Аватар. |
messageContent | object | Информация о сообщении. |
messageContent.text | string (optional) | Текст сообщения. |
messageContent.type | string | Определяет тип сообщения. Может быть текст, кнопка, изображение, документ, аудио, видео, заказ или товар. |
messageContent.caption | string (optional) | Название. |
messageContent.payload | string (optional) | Код кнопки. Указывается при создании HSM-шаблона. |
messageContent.items | object | Набор параметров, которые возвращаются в ответном сообщении от клиента, когда он реагирует на сообщение с интерактивным меню. Если сообщение клиента обычное (например, текст) и не является реакцией на сообщение с интерактивным меню, параметр возвращается следующим образом: messageContent.items = null . |
messageContent.items.title | string (required) | Название элемента исходного интерактивного меню. |
messageContent.items.subtitle | string (optional) | Подзаголовок элемента исходного интерактивного меню. |
messageContent.items.identifier | integer (optional) | Сквозной для всего сообщения ID элемента, вернется в ответном сообщении пользователя. |
messageContent.location | object (optional) | Адрес локации. |
messageContent.attachment | object (optional) | null или данные документа. |
messageContent.attachment.url | string (optional) | URL прикрепленного изображения, документа или видео. |
messageContent.attachmentname | string (optional) | Название прикрепленного изображения, документа или видео. |
messageContent.attachmentsize | string (optional) | Размер. |
messageContent.contact | object (optional) | Карточка контакта, состоящая из полей: имя, фамилия, мобильный телефон. |
contact.firstName | string (optional) | Имя в карточке контакта. |
contact.lastName | string (optional) | Фамилия в карточке контакта. |
contact.phoneNumber | string (optional) | Мобильный телефон в карточке контакта. |
receivedAt | string | Дата и время получения. |
replyInMessageId | long | Внутренний идентификатор цитируемого сообщения пользователя. Пользователь цитирует своё сообщение, отправленное компании. |
replyOutMessageId | long | Внутренний идентификатор цитируемого сообщения компании. Пользователь цитирует сообщение, полученное от компании. |
replyOutMessageExternalRequestId | long | Внешний идентификатор цитируемого сообщения компании, который она указывает при отправке исходящего сообщения по API. В том случае, если пользователь процитировал сообщение, полученное от компании. |
Параметры ответа
Параметр | Тип данных | Описание |
messageContent.referral | object | Информация, полученная по скрытой от пользователя ссылке или из рекламного объявления (Viber Bot, WhatsApp). |
messageContent.referral.body | string | Текст объявления, связанный с сообщением. |
messageContent.referral.headline | string | Заголовок объявления, связанный с сообщением. |
messageContent.referral.sourceId | string | Идентификатор объявления или публикации в Facebook*. |
messageContent.referral.sourceType | string | Тип источника объявления. Возможные значения: • ad — объявление;• post — публикация. |
messageContent.referral.sourceUrl | string | URL-адрес объявления, которое просмотрел пользователь. |