Перейти к основному содержимому

Приветствие

Обрабатывает приветственное сообщение бота, то есть сообщение, которое бот отправляет в качестве первого (проактивного) приветствия клиенту.

warning

В запросе должен быть указан clientId или threadsClientId.

clientId можно использовать только для авторизованных клиентов, threadsClientId можно использовать для любых клиентов.

Если указаны оба параметра, приоритет у clientId.

Поля тела запроса

Поле

Тип

Описание

text

string (обязательно)

Ответ бота на сообщение клиента

clientId

string (необязательно)

Внешний ID клиента. Этот параметр устарел, вместо него используйте threadsClientId.

threadsClientId

long (необязательно)

Внутренний ID клиента

receivedAt

string (необязательно)

Время получения сообщения, дата в формате UTC: yyyy-MM-dd’T’HH:mm:ss.SSS’Z'

quickReplies

array (необязательно)

  • type - Тип быстрого ответа. Возможные значения: TEXT для текстовых сообщений, CONTACT для получения данных о клиенте.

  • text - Текст сообщения, строка до 4000 символов

  • shown_text - Текстовое содержимое, необязательный параметр, строка до 2000 символов. Используется только в комбинации с параметром text. Если параметр указан, этот текст отправляется как клиентское сообщение после нажатия на кнопку быстрого ответа.

  • callback_data - Текстовое содержимое, необязательный параметр, строка до 255 символов. Название события, которое будет передаваться, когда вызван JS SDK API для последующей обработки заказчиком на стороне сайта.

  • imageUrl - URL иконки кнопки, строка до 4000 символов.

  • url - Ссылка на прикрепленный файл, строка до 4000 символов.

Длина и количество быстрых ответов настраивается в БД: message.max-quick-replies, message.max-quick-reply-length

settings

Object (необязательно)

Дополнительные настройки сообщения

settings.blockInput

boolean (необязательно)

Параметр, который указывает, заблокировано ли поле ввода сообщения (true - заблокировано, false - не заблокировано). Работает только для быстрых ответов.

quickRepliesHeaderFooter

Object (необязательно)

Дополнительные заголовок и подпись (только для Whatsapp)

quickRepliesHeaderFooter.header

array (необязательно)

  • text - Текст заголовка, максимальная длина 61 символ

  • imageUrl - URL изображения

  • documentUrl - URL файла

  • documentName - Название файла

  • videoUrl - URL видеофайла

В заголовке header можно передать параметры: текст заголовка, изображение, документ, видео. Отправить одновременно в заголовке и текст, и изображение, и документ, и видео нельзя.

quickRepliesHeaderFooter.footer

array (необязательно)

Поля
  • text - Текст подписи, максимальная длина 61 символ

messageListPicker

Object (необязательно)

Интерактивный список (только для Whatsapp)

messageListPicker.header

Object (необязательно)

Поля
  • text (string) - Текст заголовка, максимальная длина 60 символов

messageListPicker.footer

Object (необязательно)

Поля
  • text (string) - Текст подписи, максимальная длина 60 символов

messageListPicker.title

string

Наименование кнопки для интерактивного списка, максимальная длина 20 символов

messageListPicker.sections

array (Максимум 10 элементов во всех items)

Поля
  • title (string) - Заголовок секции с элементами, который отображается пользователю, максимальная длина 24 символа

  • items (array)

messageListPicker.section.items

array

Поля
  • title (string) - Название элемента, максимальная длина 24 символа

  • subTitle (string (необязательно)) - Подзаголовок элемента, максимальная длина 72 символа

  • identifier (string) – сквозной для всего сообщения ID элемента, вернется в ответном сообщении пользователя

Пример curl

$ curl 'http://localhost:8080/api/v1/chatbot/greet' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token>' \
-H 'X-Tenant-Name: local' \
-d '{
"clientId" : "1",
"threadsClientId" : 1,
"text" : "greeting"
'

Пример HTTP запроса

POST /api/v1/chatbot/greet HTTP/1.1
Content-Type: application/json
Authorization: Bearer <token>
X-Tenant-Name: local
Content-Length: 70
Host: localhost:8080

{
"clientId" : "1",
"threadsClientId" : 1,
"text" : "greeting"

Пример успешного HTTP ответа

HTTP/1.1 200 OK
X-Request-Id: b5902143-1395-4d82-b6e6-5da4cffb3a11
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

Пример сообщения с быстрым ответом

Пример curl

$ curl 'http://localhost:8080/api/v1/chatbot' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token>' \
-H 'X-Tenant-Name: local' \
-d '{
"action" : "INIT_CHAT",
"clientId" : "1",
"threadsClientId" : 1,
"sessionId" : "1",
"questionId" : 43,
"receivedAt" : "2024-12-28T11:39:34.260Z",
"quickReplies" : [ {
"type" : "TEXT",
"text" : "quick reply 1",
"imageUrl" : null,
"url" : null,
"shown_text" : null,
"callback_data" : null,
"payload" : null
, {
"type" : "TEXT",
"text" : "quick reply 2",
"imageUrl" : null,
"url" : null,
"shown_text" : null,
"callback_data" : null,
"payload" : null
],
"settings" : {
"blockInput" : true,
"masked" : false
'

Пример HTTP запроса

POST /api/v1/chatbot HTTP/1.1
Content-Type: application/json
Authorization: Bearer <token>
X-Tenant-Name: local
Content-Length: 597
Host: localhost:8080

{
"action" : "INIT_CHAT",
"clientId" : "1",
"threadsClientId" : 1,
"sessionId" : "1",
"questionId" : 43,
"receivedAt" : "2024-12-28T11:39:34.260Z",
"quickReplies" : [ {
"type" : "TEXT",
"text" : "quick reply 1",
"imageUrl" : null,
"url" : null,
"shown_text" : null,
"callback_data" : null,
"payload" : null
, {
"type" : "TEXT",
"text" : "quick reply 2",
"imageUrl" : null,
"url" : null,
"shown_text" : null,
"callback_data" : null,
"payload" : null
],
"settings" : {
"blockInput" : true,
"masked" : false

Пример успешного HTTP ответа

HTTP/1.1 200 OK
X-Request-Id: a74cb2b8-c429-435c-972a-c4796239012e
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Feedback