Модели в рамках одной задачи приходят с parentDepartmentExternalId, но не гарантируется корректный порядок пришедших отделов (может идти сначала дочерний отдел для создания, затем его родительский для создания). Необходимо выстроить модели в правильном порядке перед занесением в task#data для корректной обработки задачи.
POST /api/v1/clients/:clientId/bulkDataSyncTasks
``` { "type": "CLIENT_DEPARTMENTS", "data": [ { "syncTypes" : ["DATA_WITH_LEGAL_ENTITY", "DATA_WITH_HEAD_MANAGER"], "name": "Bulk Отдел1", "externalId": "bulk1", "parentDepartmentExternalId" :"extZp", "parentDepartmentId" :"HRL-UUID_1", "legalEntityExternalId" : "legalExt2", "legalEntityId" : "HRL-UUID_2", "headManagerExternalId" : "extManager1", "headManagerId" : "HRL-UUID_3" }, { "syncTypes" : ["DATA_WITH_LEGAL_ENTITY"], "name": "Bulk Отдел2", "externalId": "bulk2", "parentDepartmentExternalId" :"bulk1", "legalEntityExternalId" : "legalExt1" }, { "name": "Bulk Отдел3", "externalId": "bulk3", "parentDepartmentExternalId" :"bulk2" } ] } ``` |
В заданном примере отделы на этапе валидации должны выстроиться в правильном порядке - “Отдел2”, “Отдел3”, “Отдел1”, “Пример отдела”. Задача завершится успешно, при этом синхронизация отдела “Пример отдела” завершится со статусом FAILED и данными об ошибке, что родительский отдел не существует по указанному внешнему ID.
Если список syncTypes пустой или равен null, то обновление legalEntityId и headManagerId в БД не происходит для сохранения обратной совместимости.
Если в списке syncTypes присутствует значение DATA_WITH_LEGAL_ENTITY, то возможны следующие варианты:
Если в списке syncTypes присутствует значение DATA_WITH_HEAD_MANAGER, то возможны следующие варианты:
Поиск документации