1.2 Вебхук Message
Для синхронных ответов требуется тело ответа, а также должен возвращаться статус 200
(OK); для асинхронных ответов требуется статус 202
(Accepted).
Если от клиента приходит несколько сообщений одновременно в момент вызова вебхука, {edna} может отправить их как отдельные сообщения или как одно, включающее в себе тексты всех сообщений. По умолчанию сообщения отправляются по отдельности.
Это поведение управляется настройкой bot.message.concat
.
Параметр | Тип | Описание |
---|---|---|
|
boolean (обязательно) |
|
|
string (обязательно) |
Сообщение клиента для обработки ботом |
|
string (необязательно) |
Внешний ID клиента (только для авторизованных клиентов). Этот параметр устарел, вместо него используйте |
|
long (необязательно) |
Внутренний ID клиента (подходит как для авторизованных, так и для неавторизованных клиентов) |
|
string (необязательно) |
Внутренний ID треда |
|
number (необязательно) |
Внутренний ID сообщения клиента в {edna} |
|
number (необязательно) |
Индекс сообщения клиента в треде |
|
object (обязательно) |
Информация о канале, в котором получено сообщение |
|
string |
Тип канала ( |
|
boolean |
|
|
string (необязательно) |
Только для типа канала (
|
|
dictionary (необязательно) |
Данные клиента (см. [1.5 Кастомизация данных клиента (clientData) в содержимом вебхука]) |
|
map<String, String> |
Дополнительные параметры для изменения сегментации (используется как в пользовательских, так и в преднастроенных сегментах). |
|
string (обязательно) |
Время получения сообщения, дата в формате UTC: yyyy-MM-dd’T’HH:mm:ss.SSS’Z’ |
|
array of object (необязательно) |
|
|
string (обязательно) |
Информация об отправителе, всегда |
|
Object (необязательно) |
Дополнительные настройки сообщения |
|
boolean (необязательно) |
Параметр, который указывает, замаскированы ли цифры в связанном сообщении клиента ( |
|
Object (необязательно) |
Отправляется боту при включенной функциональности распознавания голосовых сообщений |
|
boolean |
Распознанный текст голосового сообщения |
|
Integer |
Качество распознавания (число от 0 до 100) |
|
String |
Статус распознавания. Допустимые значения: processing, success, noInput, maxSpeech, noMatch, error |
|
String (необязательно) |
В этом поле передается код кнопки, которая была нажата клиентом. |
HTTP запрос
POST <url for webhook message> HTTP/1.1 Content-Type: application/json { "action":"MESSAGE", "threadsClientId":1, "sessionId":"1", "questionId":43, "questionIndex":null, "receivedAt":"2018-11-13T13:13:11.876Z", "text":"Message", "channelInfo":{ "channelType":"MOBILE", "authorized":true }, "platform":"Android", "attachments":[ { "url":"hhtp://...", "name":"test.jpg", "type":"image/jpeg", "size":256 } ], "clientData":{ "phone":"79000000000" }, "sender":"ThreadsAPI" }
Пример успешного HTTP ответа
Для синхронных ответов ожидается текст сообщения и статус 200
(OK); для асинхронных ответов ожидается статус 202
(Accepted).
{ "action":"MESSAGE", "threadsClientId":1, "sessionId":"1", "questionId":43, "questionIndex":null, "receivedAt":"2018-11-13T13:13:11.756Z", "text":"Message", "segmentationInfo": { "key":"value" }, "attachments":[ { "url":"https://...", "name":"test.jpg", "type":"image/jpeg", "size":256 } ], "sender":"ThreadsAPI", "settings" : { "masked" : true } }