Синхронизация контрагентов
Синхронизация работает по следующей схеме:
1. Запрашиваются данные из альферско по полю ИНН/ОГРН (поле и тип можно указывать в конфиге)
Записи получаются в порядке их добавление в БД (по полю sys:node-dbid)
Запрашиваются записи с типом idocs:contractor
Из записей составляется список ИНН/ОГРН по которому отправляется запрос в Контур
3. По полученным данным из контура обновляются записи контрагентов согласно мапе
(src/main/resources/counterparty-sync/default-mapping-attributes.json
, решено было пока в конфиг не выносить)
Если в записи изменять нечего, запрос на изменение не отправляется
Конфигурация синхронизации:
Ключ - ключ для запросов в контур 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
- Сообщение об ошибке