Основные методы

Quiz предоставляет API для экспорта загруженных и обработанных данных в другие информационные системы по протоколу HTTPS в формате JSON. API позволяет:

  • Выгружать данные из объектов Quiz по блокам;

  • Получать блоки объекта и их контрольные суммы. Это гарантирует, что ранее выгруженные с помощью API данные точно совпадают с данными, содержащимися в базе Quiz.

API доступен по адресу https://quiz.ics-it.ru/<ВАШ_ТЕНАНТ>/api/, где <ВАШ_ТЕНАНТ> — наименование проекта.

Для подключения к API требуется ключ аутентификации (токен), который предоставляется сотрудниками ics-it (администратором проекта или по запросу на почту quiz@ics-it.ru). Заголовок с токеном необходимо отправлять в каждом запросе к API:

Authorization: Bearer <ВАШ_ТОКЕН>

Выгрузка блока данных

GET /sync/<ИМЯ_ОБЪЕКТА>, где <ИМЯ_ОБЪЕКТА> – наименование объекта, из которого необходимо получить данные.

Выгрузка происходит по блокам, т.е. один запрос к методу возвращает весь блок данных целиком.

  • Параметры:

    • fields — выгружаемые из объекта поля. Можно использовать любой набор полей из описания объекта. Для перечисления нескольких полей используются символ-разделитель ,. Обязательный параметр.

  • Параметры, определяющие блок данных:

    • date — дата факта, по которой будет получен блок данных, формат даты yyyy-mm-dd. Обязательный параметр для выгрузки объектов-фактов. Конкретное название поля с датой факта указано в описании объекта.

Запрос возвращает все записи из заданного блока объекта.

Получение метаданных объекта

GET /sync/meta/<ИМЯ_ОБЪЕКТА> , где <ИМЯ_ОБЪЕКТА> – наименование объекта, метаданные которого необходимо получить.

Параметр <ИМЯ_ОБЪЕКТА> является опциональным. Если его не указать запрос вернёт метаданные по всем доступным для перегрузки объектам

Пример

Запрос

https://quiz.ics-it.ru/{ВАШ_ТЕНАНТ}/api/sync/meta/question

Ответ

{ "code": "question", "fields": [ { "fieldCode": "ID", "type": "int", "length": 0, "isGroupable": false, "isRowVersion": false }, { "fieldCode": "Name", "type": "varchar", "length": 500, "isGroupable": false, "isRowVersion": false }, { "fieldCode": "Description", "type": "varchar", "length": -1, "isGroupable": false, "isRowVersion": false }, //... ] }