Обработка событий - Сценарии ExtSdk2 — различия между версиями
(не показаны 4 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
− | + | СБИС на любое изменение по документу (отправка, получение подтверждения получения, получение ответа, перевод на другой этап внутреннего документооборота, получение информации из гос системы) формирует событие. | |
− | + | Любая автоматическая обработка документов СБИС (например обновление статусов у исходящих, или автоматическая загрузка входящих) должна строится на вызове метода [https://sbis.ru/help/integration/api/all_methods/changeslist СБИС.СписокИзменений ]. Данный метод постранично возвращает список событий произошедших в СБИС с момента его последнего вызова. Предполагается последовательный вызов данного метода до тех пор пока он не вернет пустой список. Для получения следующей страницы требуется передавать идентификатор и дату время последнего обработанного события из предыдущего вызова. | |
− | |||
− | + | Дата и время последнего обработанного события передается для тех случаев, когда по идентификатору не удастся найти событие например из-за удаления документа из корзины. В этом случае будут переданы события начиная с этого времени, что потенциально ведет к возможной повторной выгрузке ранее выгруженных событий за эту секунду. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Важно. События возвращаются не в хронологическом порядке. | |
− | + | СБИС передает очень много разных событий, неизвестные или не интересующие Вас события должны игнорироваться. Сузить количество поступающих событий можно при помощи фильтра. | |
− | |||
− | |||
− | |||
− | + | Код обработки событий должен удовлетворять следующим требованиям: | |
+ | * корректная работа при повторной обработке ранее обработанного события | ||
+ | * игнорирование / пропуск не известных событий | ||
+ | |||
+ | В ExtSDK2 вызов [https://sbis.ru/help/integration/api/all_methods/changeslist СБИС.СписокИзменений ] делается через [[ CallSabyApi | CallSabyApi ]]. Для более детальной информации ознакомьтесь с документацией по API [https://sbis.ru/help/integration/api/sequence/newdoc Получить документы и проверить их состояние в API]. | ||
+ | |||
+ | |||
+ | ==Обновление статуса раннее отправленного документа== | ||
+ | |||
+ | Поскольку события поступают не в хронологическом порядке, а так же возможно повторное получение событий и редакций документа, определение текущего статуса документа становится сложной задачей. СБИС предлагает простое решение данной проблемы, с любым событием возвращается текущее состояние документа и его активный этап. | ||
[[Категория:Сценарии ExtSdk2]] | [[Категория:Сценарии ExtSdk2]] |
Текущая версия на 09:03, 25 мая 2021
СБИС на любое изменение по документу (отправка, получение подтверждения получения, получение ответа, перевод на другой этап внутреннего документооборота, получение информации из гос системы) формирует событие.
Любая автоматическая обработка документов СБИС (например обновление статусов у исходящих, или автоматическая загрузка входящих) должна строится на вызове метода СБИС.СписокИзменений . Данный метод постранично возвращает список событий произошедших в СБИС с момента его последнего вызова. Предполагается последовательный вызов данного метода до тех пор пока он не вернет пустой список. Для получения следующей страницы требуется передавать идентификатор и дату время последнего обработанного события из предыдущего вызова.
Дата и время последнего обработанного события передается для тех случаев, когда по идентификатору не удастся найти событие например из-за удаления документа из корзины. В этом случае будут переданы события начиная с этого времени, что потенциально ведет к возможной повторной выгрузке ранее выгруженных событий за эту секунду.
Важно. События возвращаются не в хронологическом порядке.
СБИС передает очень много разных событий, неизвестные или не интересующие Вас события должны игнорироваться. Сузить количество поступающих событий можно при помощи фильтра.
Код обработки событий должен удовлетворять следующим требованиям:
- корректная работа при повторной обработке ранее обработанного события
- игнорирование / пропуск не известных событий
В ExtSDK2 вызов СБИС.СписокИзменений делается через CallSabyApi . Для более детальной информации ознакомьтесь с документацией по API Получить документы и проверить их состояние в API.
Обновление статуса раннее отправленного документа
Поскольку события поступают не в хронологическом порядке, а так же возможно повторное получение событий и редакций документа, определение текущего статуса документа становится сложной задачей. СБИС предлагает простое решение данной проблемы, с любым событием возвращается текущее состояние документа и его активный этап.