Сценарии использования API
API Quiz используется для односторонней выгрузки данных из Quiz в интегрируемую внешнюю систему.
Здесь под <API_URL> подразумевается URL вида: https://quiz.ics-it.ru/<ВАШ_ТЕНАНТ>/api/
Пример запросов можно посмотреть в статье Примеры
Выгрузка данных
Синхронизация объектов.
Определить название требуемого объекта в документации.
Получить перечень всех блоков и контрольных сумм объекта:
<API_URL>/checksum?object=<ИМЯ_ОБЪЕКТА>Выгрузить данные по каждому блоку объекта, указав необходимые для выгрузки во внешнюю систему поля объекта и поля для получения блока данных. Примеры запросов:
<API_URL>/sync/<ИМЯ_ОБЪЕКТА>?fields=<НЕОБХОДИМЫЕ_ПОЛЯ>&date=<ДАТА_ФАКТА><API_URL>/sync/<ИМЯ_ОБЪЕКТА>?fields=<НЕОБХОДИМЫЕ_ПОЛЯ>
Если важна согласованность данных между Quiz и внешней системой, то необходимо сравнить КС по объекту. При расхождении — повторить синхронизацию объектов.
Проверка актуальности выгруженных данных
Для проверки того, что блок данных объекта, выгруженный ранее во внешнюю систему, совпадает с данными, хранящимися в Quiz прямо сейчас, необходимо сравнить КС блоков данных.
Получить перечень всех блоков и КС объекта из Quiz:
<API_URL>/checksum?object=<ИМЯ_ОБЪЕКТА>Для каждого блока объекта:
Рассчитать КС блока на стороне клиента.
Сравнить КС, полученные от Quiz (п.1), с КС, рассчитанными на стороне клиента (п.2-a):
Если КС совпадают, синхронизация блока закончена. Данные в вашей базе соответствуют данным в Quiz.
Если КС не совпадают, значит данные в Quiz и данные у клиента различаются. Чтобы получить актуальные данные, необходимо повторно выполнить выгрузку этого блока данных. Quiz не хранит данные, которые были удалены, поэтому блоки при выгрузке нужно заменять полностью на новые.