Кастомный канал
Принимает запросы с вашего сервера для создания входящих сообщений в диалоге.
Кастомный канал позволяет подключить к Еадеску любой сервис, для которого ещё нет готовой интеграции. Это может быть сторонняя площадка, ваше веб-приложение, мобильное приложение или любой другой источник сообщений от ваших клиентов.
Например, вам нужны личные сообщения из Авито и у вас есть парсер, тогда вы с помощью кастомного канала передаёте нам информацию о входящих личных сообщениях в Авито вместе с контактной информацией по клиенту. Кастомный канал создаст новый диалог или прикрепит сообщение к существующему, создаст клиента или обновит его данные, а Еадеск будет вести историю всех сообщений.
Когда ваш сотрудник ответит клиенту из интерфейса Еадеска — воспользуйтесь вебхуками, чтобы отследить событие и отправить ему ответ через ваш парсер/скрипт.
Создание кастомного канала
Кастомные каналы доступны только на старших тарифах и во время тестового периода. Смените тариф перед использованием.
Для начала работы создайте первый кастомный канал, перейдите в Настройка → Каналы и нажмите на плюс, выберите «Другой».
Затем укажите название, оно ни на что не влияет и помогает вам узнать канал среди прочих.
После создания кастомного канала вы получаете эндпоинт, на который нужно отправлять POST-запросы для создания сообщений. Пример эндпоинта:
Создание диалогов
Когда канал создан и вы получили эндпоинт, можно отправлять на него запросы. В URL для авторизации необходимо добавить ключ API через параметр ?token=1234567890
. Тогда URL запроса целиком будет выглядеть так:
Подробнее об авторизации в документации. Тело запроса содержит следующие параметры:
Все параметры необязательные, если не указано обратное.
Если одновременно переданы оба параметра dialog_id и reference, то параметр reference игнорируется.
При создании или продолжении диалога одновременно производится создание или обновление контактов.
Обновление контактных данных
Внутри каждого клиента существуют контактные данные, например, Вася Пупкин с номером +79876543210. В этом случае Вася Пупкин — это контакт (клиент), а его номер — контактные данные. При отправке запроса можно обновить эти контактные данные. Для этого передайте в запросе contacts_id.
contacts_id — это массив объектов, каждый из которых содержит:
id — уникальный идентификатор элемента контактных данных.
value — например, "hello@yandex.ru".
type — например "mail", необходимый для интерпретации value.
service — например "mail", сервис для которого используется данное value.
origin — например "chatra", сервис, который создал данный элемент контактных данных.
Пример контактных данных для кастомного канала:
Примечания:
При передаче параметра contacts_id требуется, чтобы контактные данные с таким id существовали и service == "custom", иначе возвращается ошибка.
При передаче параметра contact_object (всей структуры контакта), так же требуется, чтобы в массиве контактных данных существовали данные с service == "custom".
Перед созданием нового контакта, алгоритм пытается найти существующий контакт с подходящими контактными данными и сделать их объединение.
Примеры кода на Node.js
Ниже приведены примеры на JavaScript для создания нового диалога и добавления новых сообщений в существующий в разных вариантах.
Возвращаемые ошибки
В случае, если наш сервер не может обработать ваш запрос — он ответит ошибкой. Перечень ошибок и комментарии к ним.
Last updated