Для создания канала API в BPMSoft:
Рисунок 1 — Деталь «Каналы»
Рисунок 2 — Окно «Добавление канала API»
Для добавления этого канала введите адрес Пользовательского канала в формате «адрес_custom_channel/Home/InputJSON» (Например, «https://devcustom-customchannel.ru/Home/InputJSON»), который будет принимать ответы операторов и ботов из BPMSoft. После добавлении канала происходит отправка тестового hook на адрес, указанный в форме добавления. Используйте полученный id в запросах к API.
Таблица 1 — Описание полей тестового Hook
В базе данных коннектора появится запись добавленного Custom Channel. Выполните скрипт для просмотра AppId и ChannelId (Id из таблицы Channel) из таблицы:
select * from Channel as c where c."Type" = 'Custom'; 996902C5-CA62-4C8D-8CBE-C7AED80C2893 - AppId из SQL dev3 [BPMSoftOCC-dev-connector].[dbo].[Channel] EB996270-D3DE-4928-BEB3-5B8EFAC213B2 - Id из SQL dev3 [BPMSoftOCC-file-share].[dbo].[Channel]
Рисунок 3 — Результат выполнения скрипта
На среде, где настроен Custom channel (например, «https://devcustom-customchannel.ru/»), необходимо поменять в C:\папка_приложения_CustomChannel\appsettings.json строку подключения к коннектору:
connectorUrl(адрес_коннектора)/api/v1.0/sendmessage/AppId/channelId
"DefaultURI": "https://devcustom-customchannel.ru/api/v1.0/sendmessage/996902C5-CA62-4C8D-8CBE-C7AED80C2893/EB99627...;,
Рисунок 4 — Замена строки
После завершения настройки прикрепите к добавленному каналу оператора и нажмите кнопку «Актуализировать». Подробнее: Привязка оператора к каналу
Рисунок 5 — Добавление оператора
Для того чтобы сервис мог отправлять сообщения в BPMSoft, необходимо наделить сервис функцией отправки этих сообщений в JSON-формате.
В качестве хоста указывается адрес коннектора, который используется при общении из BPMSoft. Это значение находится в системной настройке BPMSoftOCCOperatoHost.
Параметр type определяет тип отправляемого сообщения: text, image, file, location. Если type == 'text', то поле text должно быть заполнено. Аналогично и для остальных типов.
Таблица 2 — Поля
AppId — секретный ключ. ChannelId — guid, пришедший в тестовом hook.
Таблица 3 — Описание полей
Таблица 4 — Структура класса Sender
Таблица 5 — Структура класса Message
Таблица 6 — Структура класса Attachment
Таблица 7 — Структура класса Location
Таблица 8 — Структура класса File
{ "sender": { "id": "4", "name": "Test User", "avatar": "{+}https://media.fox9.com/media.fox9.com/photo/2018/03/02/5%20P%20MISSING%20DOG%20FOUND%20DEAD_00.00.06.04_1520042792006.png_5029487_ver1.0_640_360.jpg+" }, "message": { "type": "text", "text": "Test text" } } Если запрос прошел успешно, то возвращается 200 ОК с телом, например, { "ok": true } Если прошел с ошибками, то в теле ответа будет указан текст ошибки, например, { "ok": false, "error": "hook.message.attachment.image can't be empty" }
Для получения сообщений из BPMSoft необходимо реализовать сервис, принимающий POST запросы. В теле POST запроса — JSON с информацией о полученном сообщении.
На данный момент поддерживается несколько типов сообщений: с кнопками, без кнопок, файл, картинка, местоположение. Тип указан в параметре type. В случае, если тип сообщения — кнопочное, оно может также содержать текст, который идет перед кнопками.
Таблица 9 — Спецификация запроса
Таблица 10 — Спецификация класса Content
Если тип сообщения файл или картинка, то ссылка на файл или картинку.
Если тип сообщения местоположение, то на объект location (Таблица 11)
Таблица 11 — Спецификация класса Location
Таблица 12 — Спецификация класса OperatorInfo
Для корректной работы необходимо возвращать 200 ОК на каждый запрос к вашему Endpoint.
В случае если в настройках канала проставлена галочка «Отправлять информацию об операторе», то при смене оператора будет приходить сообщение с типом operator_info.
{ "channel_id" : "28528776-3130-4C66-E811-08D55CEAB346", "receiver_id" : "123", "type" : "text", "content" : { "text" : "test", "buttons" : [] }, "operatorInfo": "" }
Привязка оператора к каналу
Ссылка, по которой вы перешли, больше недействительна — её срок действия закончился. Ссылка активна в течение 24 часов.
Вы можете запросить новую ссылку.
До встречи в экосистеме BPMSoft.
Теперь вы зарегистрированы в экосистеме BPMSoft. Авторизуйтесь, чтобы получить доступ ко всем её возможностям.
Если у вас возникнут трудности с использованием сайта или сервисов, вы всегда можете обратиться к нам за помощью.
К сожалению, ссылка больше не активна — она действовала только 24 часа.
Здравствуйте.
Эта ссылка больше недействительна, так как вы запрашивали новую.
Перейдите по последней ссылке или запросите новую.
Ссылка, по которой вы перешли, недействительна.
Если вы хотите восстановить пароль, просто запросите новую ссылку.
Ваш пароль успешно обновлён — теперь вы можете пользоваться всеми возможностями экосистемы BPMSoft.
Ваш пароль успешно изменен, вы можете продолжить работу в экосистеме BPMSoft.
Учётная запись пока не активирована.
Мы отправили письмо для подтверждения на ваш Email — перейдите по ссылке в течение 24 часов с момента регистрации.
Если письмо не пришло, пожалуйста, напишите нам об этом.
До встречи в экосистемe BPMSoft.
Учетная запись заблокирована
Пожалуйста, свяжитесь с нами для уточнения данных.
Если пользователь с указанным Email зарегистрирован в системе BPMSoft, ему на почту отправлена ссылка для восстановления пароля.
Чтобы установить новый пароль, перейдите по ссылке из письма.
Ссылка активна в течение 24 часов.