Сценарии использования API

API Quiz используется для односторонней выгрузки данных из Quiz в интегрируемую внешнюю систему.

Здесь под <API_URL> подразумевается URL вида: https://quiz.ics-it.ru/<ВАШ_ТЕНАНТ>/api/

Пример запросов можно посмотреть в статье Примеры

Выгрузка данных

  1. Синхронизация объектов.

    1. Определить название требуемого объекта в документации.

    2. Получить перечень всех блоков и контрольных сумм объекта:

      <API_URL>/checksum?object=<ИМЯ_ОБЪЕКТА>

    3. Выгрузить данные по каждому блоку объекта, указав необходимые для выгрузки во внешнюю систему поля объекта и поля для получения блока данных. Примеры запросов:

      1. <API_URL>/sync/<ИМЯ_ОБЪЕКТА>?fields=<НЕОБХОДИМЫЕ_ПОЛЯ>&date=<ДАТА_ФАКТА>

      2. <API_URL>/sync/<ИМЯ_ОБЪЕКТА>?fields=<НЕОБХОДИМЫЕ_ПОЛЯ>

    4. Если важна согласованность данных между Quiz и внешней системой, то необходимо сравнить КС по объекту. При расхождении — повторить синхронизацию объектов.

Проверка актуальности выгруженных данных

Для проверки того, что блок данных объекта, выгруженный ранее во внешнюю систему, совпадает с данными, хранящимися в Quiz прямо сейчас, необходимо сравнить КС блоков данных.

  1. Получить перечень всех блоков и КС объекта из Quiz:

    <API_URL>/checksum?object=<ИМЯ_ОБЪЕКТА>

  2. Для каждого блока объекта:

    1. Рассчитать КС блока на стороне клиента.

    2. Сравнить КС, полученные от Quiz (п.1), с КС, рассчитанными на стороне клиента (п.2-a):

      1. Если КС совпадают, синхронизация блока закончена. Данные в вашей базе соответствуют данным в Quiz.

      2. Если КС не совпадают, значит данные в Quiz и данные у клиента различаются. Чтобы получить актуальные данные, необходимо повторно выполнить выгрузку этого блока данных. Quiz не хранит данные, которые были удалены, поэтому блоки при выгрузке нужно заменять полностью на новые.