Универсальный коннектор Chat API
Last updated
Last updated
Chat API — универсальный канал с публичным API, предназначенный для подключения а к ам, для которых нет встроенного в .Организовать такой универсальный канал можно с помощью а
у необходимо создать и настроить с коннектором
Кликните по кнопке настроек а.
Нажмите кнопку Add channel.
Откроется панель выбора .
Выберите .
Откроется панель создания .
По необходимости пропишите заголовок для данного в поле названия с плейсхолдером New channel.
Пропишите адрес вашего сервера в поле Channel webhook URL в виде https://{server_adress}, где {server_adress} — адрес .
Важно: к указанному адресу будет подставлен метод при отправке ом ответа на запрос из канала/сервера клиента: https://your_company.com/send_message.
По необходимости установите токен в поле Channel token.
Важно: токен необходимо указывать в случае, если авторизация на стороне клиента осуществляется через header. Подробнее описано в .
Скопируйте ссылку на вебхук канала агента (поле Chatbot webhook URL), нажав кнопку Copy this webhook.
Для сохранения без его активации, нажмите кнопку CREATE.
Для сохранения и активации , нажмите кнопку CREATE & ACTIVATE.
будет сохранен и активирован, если:
обучен;
токен в поле Channel token уникален (нет ли активных того же типа с тем же значением в поле);
будет доступен адрес ;
удастся зарегистрировать вебхук канала.
будет сохранен, но не активирован, если одно или больше условий не будут выполнены.
Для отмены создания нажмите кнопку CANCEL.
Чтобы отредактировать значение в любом поле, кликните по полю и впишите новое значение.
Изменения будут применены, если:
удастся зарегистрировать вебхук канала.
Изменения не будут применены, если одно или больше условий не будут выполнены.
удастся зарегистрировать вебхук канала.
Платформа развернута в облаке
https://admin.chatme.ai/connector/chatapi/chatapi_message/{token}/bot_api_webhook
Платформа развернута в контуре клиента
https://{server_adress}/connector/chatapi/chatapi_message/{token}/bot_api_webhookГде:
{token} — токен авторизации.
Вид тела запроса:
Важно: структура объекта Message зависит от типа передаваемого сообщения (текст, файл, нажатие на кнопку) и может состоять из разных видов данных и полей.
Пример Visitor:
Ниже представлены примеры содержимого объекта Message для различных типов сообщений.
Текст
Вид Message:
Пример Message:
Файл
Вид Message:
Пример Message:
Нажатие на кнопку
Вид Message:
Пример Message:
Объект Service data
HTTP status: 200 OKBODY:
HTTP status: 400 Bad RequestBODY:
Отсутствует обязательный параметр в теле запроса
HTTP status: 400 Bad Request
Указан некорректный URL
HTTP status: 404: Not Found
Некорректный JSON тела запроса: невалидный параметр event или kind
HTTP status: 200 OK
Ниже изложены форматы, примеры и описания запросов от Публичного API "Chat API" на сервер клиента.
{method} — один из методов Публичного API "Chat API".
Методы Публичного API "Chat API":
Авторизация может осуществляться через:
Уникальный URL
Header
Важно: структура объекта Message зависит от типа передаваемого сообщения (текст, файл, кнопки).
Ниже представлены примеры содержимого объекта Message для различных типов сообщений.
Текст
Вид Message:
Пример Message:
Файл
Вид Message:
Пример Message:
Важно: отправка файлов происходит из слота .
Сообщение с кнопками
Вид Message:
Пример Message:
Важно: идентификатор кнопки может содержать только латинские буквы, цифры, символы дефиса и нижнего подчёркивания, и должен быть не более 24 символов в длину.
Метод: /close_chatТип запроса: POSTContent-type: application/jsonQuery-string параметры: не нужныURL: https://{server_address}/close_chatВид тела запроса:
Взаимодействие с сервером клиента происходит через Публичный API "Chat API" согласно настройкам аккаунта в сервисе клиента.
нет
visitor.fields.login
service_data
Да
Формат:<client chat_id>|chat_api
На усмотрение канала
Да
Нажатие на кнопку приходит как текст лейбла кнопки.
Нет
Нет
Да
Да
Формат: file:Тип файла|ID файла|Ссылка на файл
На усмотрение канала
Нет
Для редактирования , необходимо кликнуть по его иконке на карточке а.
Чтобы применить изменения к активированному , нажмите кнопку APPLY.
обучен;
токен в поле Channel token уникален (нет ли активных того же типа с тем же значением в поле);
будет доступен адрес ;
Чтобы деактивировать , нажмите кнопку DEACTIVATE.
Чтобы применить изменения к деактивированному , нажмите кнопку SAVE.
Чтобы применить изменения и активировать , нажмите кнопку SAVE & ACTIVATE.
Изменения будут применены и будет активирован, если:
обучен;
токен в поле Channel token уникален (нет ли активных того же типа с тем же значением в поле);
будет доступен адрес ;
Изменения будут применены, но не будет активирован, если одно или больше условий не будут выполнены.
Чтобы отменить внесение изменений, нажмите кнопку CANCEL.
Чтобы удалить , нажмите кнопку DELETE.
Поддерживаемый протокол и метод:HTTPS, POST c content-type JSONEndpoint для получения запросов каналом агента:Запросы отправляются на Chatbot Webhook URL, указанный при .Формат endpoint (Chatbot Webhook URL):
{server_adress} — адрес ,
event — тип события, которое обрабатывает по определенной логике.Поддерживаемые типы событий:
new_message — cобытие, которое передается у каналом/сервером клиента и содержит сообщение от а.
chat_id — идентификатор чата/диалога/собеседника на сервере клиента (в приложении для общения - конечном канале), на основании которого создается с данным ом в Платформе.
Visitor — объект, содержащий информацию о е.Вид Visitor:
Message — объект, содержащий информацию, передаваемую в а для обработки.
При kind == attachment Публичный API "Chat API" получает данные о файле и преобразует их в текстовое сообщение для а в формате: file:{file_type}|{file_id}|{file_url} . Сам файл не выкачивает.
Service data — любой объект, содержащий кастомную информацию, отправленную в а для обработки, например, для использования этой информации в е. Необязательный объект.
Канал а неактивен или присутствует ошибка в токене Chatbot Webhook в URL
Запросы отправляются на URL-адрес клиентского сервера, прописанного в поле Channel Webhook: URL при .Формат URL-адреса: https://{server_address}/{method}, где:
{server_adress} — адрес ,
/send_message — отправка сообщения ом у.
/close_chat — отправка события для закрытия а.
Нужно указать URL, содержащий токен, в поле Channel webhook: URL при подключении . При этом поле Channel webhook: Token заполнять не нужно.
Нужно указать токен авторизации в поле Channel webhook: Token при подключении . Токен из поля Channel webhook: Token по умолчанию будет подставлен в header.Формат авторизации с помощью токена:Authorization: Token {token}Пример авторизации:Authorization: Token ac650a3c369a4b9599ad52ab71943712
Method: /send_messageТип запроса: POSTContent-type: application/jsonQuery-string параметры: не нужныВид URL при отправке ом сообщения посетителю:
где {server_adress} — адрес .Вид тела запроса:
chat_id — идентификатор чата/диалога/собеседника на сервере клиента (в приложении для общения - конечном канале), на основании которого создается с данным ом в Платформе.
Message — объект, содержащий информацию, передаваемую в а для обработки.
Перевод на оператора не поддерживается с помощью а . Для выполнения перевода на оператора используется с указанными характеристиками.
Важно: Публичный API "Chat API" имеет ограниченный набор возможностей. Если необходимо, чтобы использовал другие методы со стороны API клиента, то работу с этими методами можно настроить внутри а при помощи конструктора запросов ().
Важно: Закрытие а производится с помощью а . автоматически закрывается на стороне .
Не поддерживается перевод на оператора через слот в текущей реализации функционала . Перевод на оператора можно сделать “вручную” через .