@startuml
mainframe Оформление заказов в OMS с источником Ozon

participant Ozon_adp
queue "oms.orders_ozon.create" as topic
queue "ozon.oms_orders.guid" as topic3
queue "oms.order.events" as topic2
participant OMS
autonumber

Ozon_adp --> topic: Отправить событие\nсоздания нового заказа

OMS --> topic: Получить событие
OMS -> OMS: Обработка события
OMS -> OMS: Создание заказа
OMS --> topic3: Номер заказа внутренний\n+ номер заказа Ozon
Ozon_adp --> topic3: Читает топик
Ozon_adp -> Ozon_adp: Сохраняет номер заказа
OMS -> OMS: Запускает автооформление

OMS --> topic2: Изменения по заказу
Ozon_adp --> topic2: Получить изменения по заказу

@enduml



@startuml
mainframe Получение и создание заказа в Ozon_adp
participant "Ozon API" as API
participant "Ozon-adp" as Adp
database "Ozon-adp DB" as BD
participant MS_Znak


API -> Adp : Событие о создании заказа
alt Успешное получение события
Adp --> API : Ответ об успешном получении
else Ошибка
Adp --> API : Ответ об ошибке
API -> Adp : Повторная отправка события через 10 минут
end
Adp -> API : Запрос дополнительной информации по заказам
API --> Adp : Подробная информация по заказам
Adp -> BD : Сохранение данных заказа в БД
Adp -> MS_Znak: Запрос на получение информации о маркировке товаров
MS_Znak --> Adp: Маркировка товаров

Adp -->: Передать сообщение с заказом в топик "oms.orders_ozon.create"


@enduml