Skip to main content
Altcraft Docs LogoAltcraft Docs Logo
User guide iconUser guide
Developer guide iconDeveloper guide
Admin guide iconAdmin guide
English
  • Русский
  • English
Login
    Getting StartedAdministrator documentationFunctional characteristics
      Technology descriptionarrow
    • Architecture OverviewComponent Description
        Deployment schemesarrow
      • Basic schemeFail-safe schemeTypical Placement in Infrastructure
    System requirements
      Admin Panelarrow
      • Account areaarrow
        • Accountsarrow
        • Account UsersAccount Virtual SendersAccount Database Indexes
        TariffsExternal data configurationLDAPTasksSchedule JobsGlobal Stop ListsWebversion Store Policies
        Settingsarrow
      • Databases
          Accessarrow
        • AdminsAPI tokens
        Notifiers
          MTAarrow
        • Default rulesRetry rulesLock rulesBounce patternsStrategiesKeysISPsPools
      Nodes
        Sendersarrow
      • EmailSMSEvent generatorIntegration with SendsayENS: настройка сендера
        Reportsarrow
      • Audit JournalData Usage
        Toolsarrow
      • ARF decoderURL decoderSMID decoderLicense
      Platform installationarrow
    • Automatic installationManual installationRunning the platform in a Docker container
      Platform configurationarrow
    • Configuration fileDomain settingsLDAP access configurationSending Email via SMTP relayPixel and push domain configurationCluster and Replication SetupSystem notifications configurationProcesses UNIX sockets configurationHTTPS ConfigurationMigrating from MongoDB Community Edition to Percona Server for MongoDBAdding sender IP addressesDeduplication request settingsPostgreSQL database for account dataProxy server settingsKeycloak Integration with AltcraftGetting HTTP service statusesConfiguration MongoDB logs rotation
        Configuration of system constants and directoriesarrow
      • Filtering bot actionsDirectory of gender markers
      Platform maintenancearrow
    • Personnel requirementsPlatform maintenance processesPlatform updatingPlatform service monitoringBackup and recoveryTransferring the platform to a new serverCreating, deleting, and populating tables for statistics in ClickHouseUsage of the aktool utilityUsers and directories engaged by the platform
      Custom channels guidearrow
    • OverviewCreating and configuring a channelEntity field configurationTemplate languageEntities
        Pipesarrow
      • Pipe: Basic ConceptsResultErrorsLogPackUnpackHTTP RequestStore SetStore GetSelectorSQLEventerScheduler
        Pipelinesarrow
      • Pipeline: Basic ConceptsMessageScheduleListenerModerateStop
      Extraarrow
    • System page customizationSend Message IDИнструкция по миграции истории в ClickHouseInstructions for migrating history to ClickHouseUtility for importing push subscriptions to Firebase projectUtility for importing push subscriptions to Firebase project
    Processing HTTP/HTTPS traffic
      Administrator APIarrow
      • Accounts admin apiarrow
        • Restricted accessarrow
        • Account Activation and DeactivationAccount Freeze and Unfreeze
        Get accounts listAdd a new accountDelete the account
        Account usersarrow
      • Update an Existing AccountAdd a new accountDelete a userGet a list of usersSending a Welcome Email
        Nodesarrow
      • Synchronize node MTA configurationGet nodes listGet node MTA statusActivate node MTADeactivate node MTA
        Senders admin apiarrow
      • Create or update AKMTA senderGet AKMTA sender informationAssign account to senderGet senders listDelete senderRestore sender
          Sender queuearrow
        • Get sender queue informationHold sender queueRelease sender queueClear sender queue
        Virtual sendersarrow
      • Get virtual senders listGet virtual sender informationCreate virtual senderUpdate virtual senderClone virtual senderDelete virtual sender
    Documentation Archive
  • Admin Panel
  • Senders
  • ENS: настройка сендера

ENS: настройка сендера

Описание​

Сервис ENS является внешним клиентским сервисом, доступ к которому напрямую отсутствует. Взаимодействие платформы с ENS осуществляется исключительно через системные очереди RabbitMQ. Интеграция с сервисом позволяет осуществлять отправку сообщений через Email и SMS-каналы.

Платформа не выполняет вызовы напрямую к ENS. Клиент должен самостоятельно настроить ENS-сервис на чтение из очередей платформы и запись в них, согласно соглашениям по структуре и маршрутам сообщений.

Сценарии интеграции​

Интеграция предусматривает два направления взаимодействия:

  • Отправка сообщений — платформа публикует события в очереди, откуда ENS забирает сообщения.

  • Приём статусов/ошибок — ENS публикует в ответ статусные события и ошибки в другую очередь, откуда их читает платформа.

Отправка сообщений (Email/SMS)​

ENS-сервис должен подписаться на соответствующие exchanger'ы RMQ и забирать сообщения по следующим параметрам:

ТипExchangeRouting key
Emailfintechiq.ens.sendfintechiq.ens.email.send
SMSfintechiq.ens.sendfintechiq.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_idGUIDДаИдентификатор юридического лица. Указывается в настройках сендера в панели администрирования.-
templateobjectДаОбъект с данными для генерации шаблона.-
template.template_namestringДаНаименование шаблона. Используется один шаблон для всех отправок. Указывается в настройках сендера.-
template.brand_namestringДаНаименование бренда. Указывается в настройках объекта сендера.-
template.strictlybooleanНетЕсли true — происходит строгая проверка всех переменных в template_variable_values. Всегда true.-
email_fromobjectДаИнформация об отправителе.-
email_from.namestringНетИмя отправителя (From Name).-
email_from.addressstringДаАдрес отправителя (From Email).Максимальная длина 256 символов. Адрес должен содержать символ '@' с символами до и после него.
clientobjectДаИнформация о клиенте для отправки сообщения.-
client.external_datastringНетЛюбые данные, которые вызывающий сервис передаёт в ENS и которые возвращаются в callback-уведомлениях.Максимальная длина 192 символа. Используется, например, для FSMID идентификатора.
client.template_variable_valuesСловарь <string,string>ДаЗначения переменных шаблона. При отсутствии переменных передаётся пустой объект { }.-
client.email_toarray[object]ДаМассив с данными о получателях. Допустим только один получатель.-
client.email_to.namestringНетИмя получателя (To Name).-
client.email_to.addressstringДаАдрес получателя (To Email).Максимальная длина 256 символов. Адрес должен содержать символ '@' с символами до и после него.
client.email_to.isBccbooleanНетПризнак скрытой копии (BCC). По умолчанию значение — false.-

SMS: пример структуры сообщения​

{
"legal_entity_id": "GUID",
"template": {
"template_name": "string",
"brand_name": "string",
"strictly": true
},
"client": {
"external_data": "FSMID",
"template_variable_values": {
"content": "SMS text here"
},
"phone": "9191234567"
}
}

SMS: параметры запроса​

Имя параметраТипОбязательныйОписаниеОграничения
legal_entity_idGUIDДаИдентификатор юридического лица. Указывается в настройках объекта сендера в панели администрирования.-
templateobjectДаОбъект с данными для генерации шаблона.-
template.template_namestringДаНаименование шаблона. Используется один шаблон для всех отправок. Указывается в настройках сендера.-
template.brand_namestringДаНаименование бренда. Используется один шаблон для всех отправок. Указывается в настройках сендера.-
template.strictlybooleanНетЕсли true — выполняется строгая проверка всех переменных в template_variable_values. Всегда установлено значение true.-
clientobjectДаИнформация о клиенте для отправки сообщения.-
client.external_datastringНетДополнительные данные, передаваемые в ENS, возвращаются в callback-уведомлениях и при получении данных о сообщении через API.Максимальная длина — 192 символа. Используется, например, для передачи FSMID идентификатора.
client.template_variable_valuesСловарь <string,string>ДаЗначения переменных шаблона. Для передачи всего тела сообщения используется переменная content. При отсутствии переменных передаётся {}.-
client.phonestringДаНомер телефона получателя. Только номера РФ (+7), передаются без кода страны.Формат — 10 цифр (например, "9191234567"). При передаче номера не из РФ отправка будет отклонена.

Получение статусов и ошибок​

ENS должен публиковать сообщения о статусах и ошибках в следующую очередь:

  • Exchange: fintechiq.ens.status
  • Тип: headers
  • Заголовки:
    • type — email или sms
    • publisher-id — значение AppId из исходного события
    • result-type — status

Структура успешного статус-события (Email/SMS)​

{
"AppId": "GUID",
"MessageId": "GUID",
"ContentType": "application/json",
"Timestamp": 1713774123000,
"status": 64,
"external_data": "FSMID"
}

Структура статус-события с ошибкой (Email/SMS)​

{
"AppId": "GUID",
"MessageId": "GUID",
"ContentType": "application/json",
"Timestamp": 1713774123000,
"status": 512,
"external_data": "FSMID",
"error_details": {
"error_code": 2,
"error_message": "Неправильный шаблон"
}
}

Коды статусов Email/SMS​

КодОписаниеОписание
64Доставлено до получателяSMS-провайдер подтвердил успешную доставку сообщения клиенту. Считается событием доставки.
128ДубликатСообщение не отправлялось из-за срабатывания проверки дедупликации. Считается событием недоставки.
512Не доставленоПри отправке произошла ошибка. Детали доступны в полях error_message и error_details. Считается событием недоставки.

Создание и настройка сендера в Altcraft​

Для отправки сообщений необходимо настроить Email и SMS сендер, а затем подклчючить их к виртуальному сендеру аккаунта.

Email сендер​

В панели администратора перейдите в раздел Сендеры —> Email:

Создайте новый сендер с помощью кнопки в правом верхнем углу. Укажите произвольное название сендера и выберите тип — Email: ENS. Далее привяжите аккаунты, в которых будет использоваться этот сендер.

Заполните поля:

  • Ключ маршрутизации
  • Название RMQ exchange для сообщений (используется для отправки Email-сообщений)
  • Название RMQ exchange для статусов (используется для получения статусов Email-сообщений)
  • Publisher ID (идентификатор сервиса (App ID))
  • Идентификатор юридического лица
  • Название шаблона
  • Наименование бренда

SMS сендер​

В панели администратора перейдите в раздел Сендеры —> SMS:

Создайте новый сендер с помощью кнопки в правом верхнем углу. Укажите произвольное название сендера и выберите тип — SMS: ENS. Далее привяжите аккаунты, в которых будет использоваться этот сендер.

Заполните поля:

  • Ключ маршрутизации
  • Название RMQ exchange для сообщений (используется для отправки SMS-сообщений)
  • Название RMQ exchange для статусов (используется для получения статусов SMS-сообщений)
  • Publisher ID (идентификатор сервиса (App ID))
  • Идентификатор юридического лица
  • Название шаблона
  • Наименование бренда

Настройка виртуального сендера​

В панели администратора откройте раздел Управление аккаунтами —> Аккаунты. В списке найдите нужный аккаунт и откройте список виртуальных сендеров:

Создайте новый виртуальный сендер с помощью кнопки в правом верхнем углу:

Укажите произвольное название виртуального сендера, при необходимости добавьте описание и задайте группы доступа:

Далее добавьте правило для Email-сендера:

Выберите ваш Email: ENS сендер и настройте правила. Настройка правил подробно описана в [этой статье]( Выберите ваш Email: ENS сендер и настройте правила:).

Таким же образом надо добавить правило для SMS-сендера:

Сохраните виртуальный сендер с помощью кнопки внизу. Теперь пользователи аккаунта могут использовать его для отправки Email и SMS сообщений.

tip

Виртуальный сендер можно настроить в пользовательском интерфейсе платформы. Подробнее.

Last updated on Mar 27, 2026
Previous
Integration with Sendsay
Next
Reports
  • Описание
  • Сценарии интеграции
  • Отправка сообщений (Email/SMS)
    • Email: пример структуры сообщения
    • Email: параметры запроса
    • SMS: пример структуры сообщения
    • SMS: параметры запроса
  • Получение статусов и ошибок
    • Структура успешного статус-события (Email/SMS)
    • Структура статус-события с ошибкой (Email/SMS)
    • Коды статусов Email/SMS
  • Создание и настройка сендера в Altcraft
    • Email сендер
    • SMS сендер
    • Настройка виртуального сендера
© 2015 - 2026 Altcraft, LLC. All rights reserved.