Синхронизация контрагентов

Синхронизация работает по следующей схеме:

1. Запрашиваются данные из альферско по полю ИНН/ОГРН (поле и тип можно указывать в конфиге) Записи получаются в порядке их добавление в БД (по полю sys:node-dbid) Запрашиваются записи с типом idocs:contractor

  1. Из записей составляется список ИНН/ОГРН по которому отправляется запрос в Контур

3. По полученным данным из контура обновляются записи контрагентов согласно мапе (src/main/resources/counterparty-sync/default-mapping-attributes.json, решено было пока в конфиг не выносить) Если в записи изменять нечего, запрос на изменение не отправляется

Конфигурация синхронизации:

../_images/sync_1.png

Ключ - ключ для запросов в контур https://focus-api.kontur.ru/api3/req/userform

Cron expression - Cron выражение для шедулинга

Batch Size - Кол-во записей запрашиваемое из алфреско для одной итерации, максимальное значение 100

Параметр для поиска - Параметр куда будут устанавливается значения для поиска в запросе. ИНН (inn) или ОГРН (ogrn)

Атрибут для поиска - Атрибут в котором лежит значение ИНН/ОГРН, по которому будет осуществляется поиск в контуре

Состояние синхронизации - информация о состоянии синхронизации, используется когда синхронизация включена

  • lastModifiedNodeDbid - значение поля sys:node-dbid, последней обработанной записи

  • countProcessedNodes- кол-во обработанных записей

  • status- Статус синхронизации:
    • TRIGGER_WAITING- Ожидает начала планового обновления (Cron expression)

    • IN_PROGRESS - Синхронизация в процессе обновления контрагентов

    • RETRY_WAITING- Ожидает время из nextTry для попытки успешно завершить итерацию (всего три попытки, через 10 сек, через 1 минуту и через 10 минут)

    • ERROR - Все попытки успешно завершить итерацию провались. Ожидает начала планового обновления (Cron expression)

    • Дополнительно:

      При запуске микросервиса интеграции, если синхронизация находилась в состоянии IN_PROGRESS или RETRY_WAITING, она продолжит работу. При RETRY_WAITING кол-во попыток будет сброшено Изменение конфигурации синхронизации останавливает синхронизацию и запускает её заново.

  • tryCount - Номер попытки при ошибке во время синхронизации

  • nextTry - Время когда синхронизация начнёт работу после ошибки

  • error - Сообщение об ошибке