Вебхук Client contact provided для уведомления бота о получении данных клиента.
Бот может отправить запрос на получение данных клиента только для канала Telegram. Для этого нужно передать в сообщении быстрый ответ с типом CONTACT.
Пример сообщения для запроса данных клиента
{
"action" : "MESSAGE",
"threadsClientId" : 1,
"sessionId": "1",
"questionId": 43,
"questionIndex": null,
"text": "Message",
"sender": "ThreadsAPI",
"receivedAt" : "2023-08-15T11:49:02.397Z",
"quickReplies" : [
{
"type" : "CONTACT",
"text" : "Текст сообщения"
},
{
"type" : "TEXT",
"text" : "quick reply 1",}
],
"settings" : {
"blockInput" : true,
"masked" : false}
}
При получении данных от клиента на этот вебхук отправляется сообщение с данными.
| Поле | Тип | Описание |
action | boolean (обязательно) | CLIENT_CONTACT. |
threadsClientId | long (необязательно) | Внутренний ID клиента (подходит для авторизованных и неавторизованных клиентов). |
sessionId | string (необязательно) | Внутренний ID треда. |
channelInfo | object (обязательно) | Информация о канале, в котором получено сообщение. Поля: • channelType (string) — тип канала;• authorized (boolean) — true (авторизован), false (не авторизован). |
platform | string (необязательно) | Только для типа канала (channelType) MOBILE: • iOS; • Android. |
clientData | dictionary (необязательно) | Данные клиента (подробнее в разделе Кастомизация данных клиента (clientData) в содержимом вебхука). |
receivedAt | string (обязательно) | Время получения сообщения. Дата в формате UTC: yyyy-MM-dd’T’HH:mm:ss.SSS’Z’. |
sender | string (обязательно) | Информация об отправителе, всегда ThreadsAPI. |
Пример HTTP-запроса
POST <url for webhook message> HTTP/1.1
Content-Type: application/json
{
"action":"CLIENT_CONTACT",
"threadsClientId":1,
"sessionId":"1",
"receivedAt":"2018-11-13T13:13:11.876Z",
"channelInfo":{
"channelType":"TELEGRAM",
"authorized":true
,
"clientData":{
"phone":"79000000000"
,
"sender":"ThreadsAPI"
Ответы
| Ответ | Описание |
200 | Обработка запроса прошла успешно. |
4хх-5хх | Обработка запроса завершилась ошибкой. В этом случае причину ошибки надо поместить в тело запроса. |