RetailCRM
Message Gateway: регистрация модуля, токен транспорта, возможности канала и события.
На этой странице
Порядок подключения #
Ключ клиента нужен только для регистрации модуля: дальше весь обмен идёт токеном транспорта, который выдаёт сама CRM.
| Шаг | Где | Что |
|---|---|---|
| 1 | CRM | включить интеграцию Message Gateway |
| 2 | CRM | создать ключ API с правом на интеграционные модули |
| 3 | Кабинет | указать адрес CRM и ключ, сохранить |
| 4 | WidgetChat | сам регистрирует модуль, получает токен транспорта и заводит канал |
| 5 | CRM | проверить, что в разделе Чаты появился канал WidgetChat |
Возможности канала #
Канал объявляет CRM, что он умеет, и интерфейс подстраивается. Работают текст, файлы и изображения по одному вложению на сообщение, правка и удаление сообщения посетителя. Цитаты и статусы delivered и read в объявлении канала стоят, но коннектор их в CRM не передаёт. Заказы и товары не объявлены: их мы не умеем, а заявленная возможность показала бы оператору кнопку, после которой ничего не происходит.
Обмен #
Событие приходит на адрес вида /retailcrm/hook/{clientId}. Подписи у транспортных событий нет, поэтому подлинность держится на случайном номере подключения в адресе; он же сверяется с заголовком ClientId.
MG присылает событие и на наше собственное сообщение. Такие события отбрасываются по полю originator, иначе ответ посетителю ушёл бы вторым экземпляром.
| Направление | Метод или событие |
|---|---|
| наружу | POST /api/transport/v1/messages, originator: customer |
| наружу | PUT и DELETE /api/transport/v1/messages по нашему external_id |
| наружу | POST /api/transport/v1/files/upload_by_url для вложений |
| внутрь | message_sent: ответ менеджера |
| внутрь | message_updated, message_deleted: принимаются и пропускаются, правка ответа в CRM до посетителя не доходит |
Пределы #
Предел транспорта 30 запросов в секунду на токен, сверх него приходит 429. Такие задачи откладываются и повторяются, правки и удаления повторяются свободно: они идут по нашему external_id и второй раз ничего не задваивают.
Проверено на настоящей RetailCRM, а не только на подставном Message Gateway.