@startuml
scale 800*800
mainframe Обновление данных в модели КА
actor Пользователь as user
participant ARM as ARM
participant OMS as OMS
participant MSKB as MSKB
autonumber

user -> ARM: Нажимает кнопку "Сохранить"
ARM -> OMS: API PUT /contractors/{contractorID}
activate OMS
OMS -> OMS: Разделяет модель КА\nна основные поля\n+ контакты
alt Если изменена только основная модель
OMS -> MSKB: API POST api/business/v2/physic/update
activate MSKB
return answer API POST
else Если добавлены контакты
OMS -> MSKB: API POST api/business/v2/contact/create
activate MSKB
return answer API POST
else Если удалены контакты
OMS -> MSKB: Удаление контакта КА:\n API DELETE api/business/v2/contact/delete
activate MSKB
return answer API DELETE
end

return answer API PUT
ARM --> user: Показывает сообщение и\nзакрывает модалку
@enduml