ENS: настройка интеграции
Описание
Сервис ENS является внешним клиентским сервисом, доступ к которому напрямую отсутствует. Взаимодействие платформы с ENS осуществляется исключительно через системные очереди RabbitMQ. Интеграция с сервисом позволяет осу ществлять отправку сообщений через Email, SMS и push-каналы.
Платформа не выполняет вызовы напрямую к ENS. Клиент должен самостоятельно настроить ENS-сервис на чтение из очередей платформы и запись в них, согласно соглашениям по структуре и маршрутам сообщений.
Интеграция предусматривает два направления взаимодействия:
- Отправка сообщений — платформа публикует события в очереди, откуда ENS забирает сообщения.
- Приём статусов/ошибок — ENS публикует в ответ статусные события и ошибки в другую очередь, откуда их читает платформа.
Каналы Email и SMS настраиваются через механизм сендеров. Push-канал настраивается через механизм пользовательских (кастомных) каналов.
Email и SMS
Каналы Email и SMS используют механизм сендеров. Для каждого типа создаётся отдельный сендер, который затем подключается к виртуальному сендеру аккаунта.
Отправка сообщений
ENS-сервис должен подписаться на соответствующие exchanger'ы RMQ и забирать сообщения по следующим параметрам:
| Тип | Exchange | Routing key |
|---|---|---|
| fintechiq.ens.send | fintechiq.ens.email.send | |
| SMS | fintechiq.ens.send | fintechiq.ens.sms.send |
Параметры Exchange и Routing Key задаются в настройках сендера. При необходимости их можно изменить без изменения кода или повторной интеграции.
Email: пример структуры сообщения
{
"legal_entity_id": "GUID",
"template": {
"template_name": "string",
"brand_name": "string",
"strictly": true
},
"email_from": {
"name": "string",
"address": "email@example.com"
},
"client": {
"external_data": "FSMID",
"template_variable_values": {
"content": "Email body text here"
},
"email_to": [
{
"name": "Recipient Name",
"address": "recipient@example.com",
"isBcc": false
}
]
}
}
Email: параметры запроса
| Имя параметра | Тип | Обязательность | Описание | Ограничения |
|---|---|---|---|---|
| legal_entity_id | GUID |