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

Session Link

Session Link icon
API для разработчиков

Получайте из своих систем прямую ссылку на диалог клиента; если клиента или диалога ещё нет, они создаются.

  • WhatsApp
  • Instagram
  • REST API

Обзор​

Один вызов API с каналом и номером телефона или email клиента возвращает ссылку, открывающую диалог этого клиента в MonoChat. Если клиента или диалога ещё нет, они создаются.

Поместите ссылку в CRM, службу поддержки или экран заказа, и ваша команда сразу переходит оттуда в чат.

Основные возможности​

  • Открыть или создать. Работает для клиента в конкретном канале WhatsApp, Instagram или другом — по номеру телефона или email.
  • Маршрутизация на лету. Назначьте диалог сотруднику по идентификатору или email либо рабочей группе в том же вызове.
  • Тот же клиент — тот же диалог. Повторный вызов для того же клиента и канала возвращает существующий диалог.

Установка и настройка​

  1. Установите Session Link в разделе Настройки › MonoStore › Приложения или откройте ссылку для установки app.monochat.ai/apps/vvKJe8Nbp4EQNy2KA. Если у вас ещё нет аккаунта MonoChat, по ссылке можно сначала зарегистрироваться, и приложение установится автоматически.
  2. Создайте API-токен в разделе Профиль › API-токены. Токен показывается только один раз, поэтому скопируйте его сразу. См. API-токены.
  3. Откройте Настройки › Session Link API. В документации там указан точный адрес эндпоинта вашего рабочего пространства и готовые для копирования примеры запросов. Попробуйте пример на одном из ваших каналов.
  4. Добавьте в CRM, службу поддержки или на экран заказа кнопку «Написать в WhatsApp», которая вызывает API и открывает возвращённый url.
примечание
  • Ссылка открывает MonoChat для тех, кто вошёл в систему и имеет право видеть этот диалог.
  • Вызов только открывает диалог и не отправляет клиенту сообщение. Чтобы написать первыми, используйте WhatsApp Template API.

Возможности​

В ответе приходят ссылка, открывающая диалог в MonoChat, и идентификатор диалога.

Клиент создаётся при необходимости​

Новый клиент создаётся с указанными вами именем и фамилией; в ответе сказано, был ли клиент уже известен.

Назначение​

Назначьте сотруднику по идентификатору или email либо рабочей группе.

Экран документации​

Справочник API с точным адресом эндпоинта вашего рабочего пространства и готовыми для копирования примерами запросов.

Справочник API​

Вызов — это POST с телом в формате JSON, аутентифицированный с помощью API-токена.

POST https://app.monochat.ai/api/<slug>/custom-functions/<app-folder>/methods/session-link.js
Authorization: Bearer <API_TOKEN>
Content-Type: application/json
  • <slug> — идентификатор организации (tenant slug) вашего рабочего пространства, часть адреса MonoChat после /tenants/.
  • <app-folder> — папка, в которую было установлено приложение. На экране Настройки › Session Link API показан полный адрес с обоими подставленными значениями.
  • Создайте токен в разделе Профиль › API-токены. См. API-токены.

Поля запроса​

ПолеОбязательноеОписание
connectorBrandдаТип канала, например whatsapp или instagram.
channelUsernameдаИмя пользователя вашего канала в MonoChat, например ваш номер WhatsApp без +.
customer.identityTypeдаphoneNumber или email.
customer.identityдаНомер телефона клиента (с кодом страны, без +) или адрес email.
customer.firstname, customer.lastnameнетИспользуются, если клиент новый для MonoChat. По умолчанию -.
assignment.typeнетagent (идентификатор пользователя-сотрудника), agentIdentity (email сотрудника) или workgroup (идентификатор рабочей группы).
assignment.valueвместе с assignment.typeИдентификатор или email, которому назначается диалог.

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

curl --location 'https://app.monochat.ai/api/<slug>/custom-functions/<app-folder>/methods/session-link.js' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API_TOKEN>' \
--data '{
"connectorBrand": "whatsapp",
"channelUsername": "905334445566",
"customer": {
"identityType": "phoneNumber",
"identity": "905306667788",
"firstname": "Ayşe",
"lastname": "Yılmaz"
},
"assignment": { "type": "agentIdentity", "value": "sarah@yourcompany.com" }
}'

Ответ​

{
"result": {
"url": "https://app.monochat.ai/tenants/<slug>?tab=messages&sessionTab=all&filter=…&_id=<sessionId>",
"sessionId": "Zeii7vpeeFFnsJepZ",
"isOldUser": true
}
}
ПолеОписание
urlОткрывает диалог в MonoChat.
sessionIdИдентификатор диалога. Один и тот же клиент в одном и том же канале всегда получает один и тот же диалог.
isOldUserfalse, если клиент был создан этим вызовом.

Ошибки​

Неудачный вызов возвращает статус ошибки и сообщение:

СообщениеПричина
connectorBrand, channelUsername and customer fields are requiredОтсутствует обязательное поле верхнего уровня.
customer.identityType must be one of: phoneNumber, emailidentityType отсутствует или имеет другое значение.
customer.identity field is requiredНе указан номер телефона или email клиента.
Channel not foundВ вашем рабочем пространстве нет канала такого типа с таким именем пользователя.
Customer Channel not foundНе удалось сопоставить клиента с идентификатором в канале.
Agent user not foundНет сотрудника с email, указанным в assignment.value.
401Заголовок Authorization отсутствует или токен недействителен.

Скриншоты​

Вопросы и ответы​

Нет. Он только открывает или создаёт диалог и возвращает ссылку на него. Чтобы написать клиенту первыми, используйте приложение WhatsApp Template API.

С какими каналами он работает?​

С WhatsApp, Instagram и другими каналами, подключёнными к вашему рабочему пространству MonoChat. В запросе вы указываете тип канала и имя пользователя вашего канала.

Создаёт ли он дубликаты диалогов?​

Нет. Один и тот же клиент в одном и том же канале всегда получает один и тот же диалог.

Те, кто вошёл в MonoChat и имеет право видеть этот диалог.