Обогащение сообщения
В этом разделе описан вариант обогащения сообщения, при котором для регистрации пользователя в Платформу отправляется сообщение, содержащее имя, профессию и пол пользователя. Платформа отправляет это сообщение в систему-источник данных, в которой происходит регистрация пользователя. Ответ с именем, родом деятельности, идентификатором и временем регистрации созданного пользователя возвращается в платформу. В Платформе в тип данных записывается информация, отправленная из системы-отправителя и полученная из системы-источника. После этого сообщение отправляется в систему-получателя.
Предварительные условия
Созданы следующие элементы:
Внешний тип Инициирующий запрос для сценария с обогащением
Тип Ответ от системы источника в сценарии обогащения
Тип Обогащенное сообщение
Инициация процесса
Система-отправитель в сценарии с обогащением
Инициатором выступает Система-отправитель в сценарии с обогащением, на которую поступает сообщение, соответствующее внешнему типу Инициирующий запрос для сценария с обогащением для запуска процесса.
Тип: Расширенное Rest API
Порт для публикации API: указан порт, который будет использоваться данной системой (должен быть свободным).
Обработчик «Инициирующий запрос в сценарии с обогащением»
К системе Система-отправитель в сценарии с обогащением привязан обработчик Инициирующий запрос в сценарии с обогащением.
Тип: Веб-обработчик
Шаблон пути: /СценарийОбогащениеИнициирующийЗапрос
Тип метода: Post
На вкладке В Platform добавлена переменная ИнициирующийЗапрос с типом - внешний тип Инициирующий запрос для сценария с обогащением.
Описание процесса
Бизнес процесс «Процесс обогащения сообщения»
Запускать автоматически: включено
Переменная обработки: переменная ИнициирующийЗапрос с внешним типом Инициирующий запрос для сценария с обогащением.
Также добавлены переменные:
Ответ с типом Ответ от системы источника в сценарии обогащения
Обогащенное Сообщение с типом ОбогащенноеСообщение
На схему добавлены следующие шаги:
Отправка
Сообщение: переменная ИнициирующийЗапрос
Обработчик: Запрос в систему источник в сценарии с обогащением
Тип получателя: Модуль
Получатель: Система-источник в сценарии с обогащением
Ожидание: Ожидать ответа
Время ожидания: 50000(мс)
На вкладке Результат выполнения смапплено ОтветноеСообщение с переменной Ответ:
Система источник данных «Система источник в сценарии с обогащением»
Система-источник в сценарии с обогащением
Системой-источником в сценарии с обогащением данных выступает внешняя система с типом Веб-сервис, настроенная на тестовый сервис https://reqres.in/. Этот сервис предоставляет ресурсы для тестирования REST API.
Запрос отправляется на https://reqres.in/api/users
Тип: Веб-сервисы
Протокол: Rest
Формат: JSON
Способ получения сообщений из Platform: Platform вызывает методы Внешнего сервиса
Базовый URL сервиса подключаемой системы: https://reqres.in/
Обработчик «Запрос в систему источник в сценарии с обогащением»
К Системе-источнику в сценарии с обогащением привязан обработчик Запрос в систему источник в сценарии с обогащением.
Тип: Веб-клиент
Направление интеграции: Из Platform
Шаблон пути: api/users
Тип метода: Post
Ожидание ответа: включено
На вкладке Из Platform добавлена переменная Запрос с внешним типом Инициирующий запрос для сценария с обогащением.
Шаг «Установка переменных»
Из переменной ИнициирующийЗапрос смапплены поля name_(name), job и gender в поля ОбогащенногоСообщения Имя, Профессия и Пол соответственно.
Из переменной Ответ смапплены поля id и createdAt в поля ОбогащенногоСообщения Идентификатор и ДатаРегистрации соответственно.
Шаг «Отправка»
Сообщение: ОбогащенноеСообщение
Получатель: Система-получатель в сценарии с обогащением
Ожидание: Ожидание не требуется
Система-получатель в сценарии с обогащением
Система-получатель в сценарии с обогащением:
Тип: Веб-сервисы
Протокол - Rest
Формат - JSON
Способ получения сообщений в Platform - Внешний сервис вызывает методы Platform
Порт: должен быть свободным
Демо-пример
Успешная обработка сообщения, получение обогащенного сообщения
Отправка из Postman
Создайте запрос в Postman и выполните отправку.
Выберите метод Post.
В поле URL введите адрес Системы-отправителя в сценарии с обогащением + шаблон пути обработчика Инициирующий запрос для сценария с обогащением
В тело введите следующий код:
{ "name":"Ivan", "job":"dentist", "gender":"male" }
Результат: ответ 200
В ЦМ в систему-получатель в сценарии с обогащением в очередь пришло обогащенное сообщение: