Public API используется для интеграции CheckOffice с внешними системами через REST API.
Вебхуки позволяют отправлять POST-запросы при событиях в CheckOffice: создании проверки, изменении статуса проверки, создании задачи, изменении статуса задачи, удалении проверки в архив и удалении задачи в архив.
Настройки Public API и вебхуков доступны в разделе:
Боковое меню слева > «Администрирование» > «Публичное API»
Функционал доступен всем клиентам в течение пробного периода, а также в коммерческих тарифах.
Лимит количества запросов к серверу — 500 запросов в час по умолчанию.
Для выполнения запросов понадобится ключ API.
Не передавайте ключ API посторонним лицам, т. к. они смогут получить доступ к вашим данным.
С помощью Public API можно выполнять действия с данными CheckOffice, например:
Актуальный список доступных методов смотрите в документации Swagger:
https://название-вашей-площадки.checkoffice.ru/documentation/api/public

Перейдите в раздел:
Боковое меню слева > «Администрирование» > «Публичное API»
Скопируйте ключ API.
Откройте документацию Swagger:
https://название-вашей-площадки.checkoffice.ru/documentation/api/public
Для выполнения запросов в Swagger введите ваш ключ API.
Например, для получения данных проверки потребуется указать ID проверки. Его можно посмотреть в CheckOffice при открытии проверки.

ID задачи можно посмотреть при открытии задачи в CheckOffice.

Ниже приведен пример выполнения запроса через Swagger и пример curl-запроса с использованием API-Key.
В параметре inspectionId указывается ID проверки.
В заголовке API-Key необходимо передать ваш ключ API.
Для выполнения запроса из внешней системы передайте ключ API в заголовке:
API-Key: [Ваш-ключ-API]
Вебхуки позволяют отправлять запросы во внешнюю систему при наступлении выбранных событий в CheckOffice.
Доступные события вебхуков:
Запросы отправляются методом POST.
Перейдите в раздел:
Боковое меню слева > «Администрирование» > «Публичное API»
Добавьте вебхук.
Укажите:


Можно создать несколько вебхуков под разные задачи.
Примечание: если в URL есть пробелы, их нужно заменить на +.
При наступлении выбранного события CheckOffice отправляет POST-запрос на указанный адрес.
В теле запроса передаются два поля:
Примеры типов событий:
Схему данных поля data можно посмотреть в Swagger:
https://название-вашей-площадки.checkoffice.ru/documentation/api/public
В поле data отправляются объекты Task и Inspection.

CheckOffice не обрабатывает ответы на запрос вебхука.
Если при отправке данных возникла ошибка, система не повторяет отправку данных.
При создании вебхуков можно добавить заголовки.


Заголовок передается в запросе вебхука.
Что именно указывать в заголовках, зависит от принимающей стороны.
Заголовки могут использоваться:
Например, принимающая сторона может потребовать заголовок KEY с определенным значением.
Если необходимости передавать заголовки нет — их не нужно заполнять.
Публичное API имеет версию.
Актуальную версию можно посмотреть в разделе:
Боковое меню слева > «Администрирование» > «Публичное API»

При развитии CheckOffice новые данные добавляются в актуальную версию API.
Если изменения несовместимы с текущей версией, создается новая версия.
Устаревшие версии, которые больше невозможно поддерживать, могут удаляться.
Если в настройках вебхука указана удаляемая версия API, вебхук будет автоматически перенастроен на самую свежую версию.
Рекомендуем периодически обновлять интеграции до актуальной версии API.
API и вебхуки: в чем разница
Public API используется, когда внешняя система должна самостоятельно получать, создавать или изменять данные в CheckOffice через API-запросы.
Вебхуки используются для автоматической отправки событий из CheckOffice во внешнюю систему после наступления определенного события.
Иными словами:
— API > внешняя система обращается к CheckOffice
— Вебхук > CheckOffice отправляет событие во внешнюю систему
Если вебхук не приходит
Проверьте:
— правильно ли указан URL вебхука;
— доступен ли сервер принимающей системы;
— выбраны ли необходимые события;
— не блокируются ли запросы firewall или прокси;
— корректно ли принимаются POST-запросы на стороне внешней системы.
Безопасность
При подозрении на компрометацию API-Key рекомендуем:
— сгенерировать новый ключ;
— обновить настройки интеграции;
— отключить старый API-Key.
Инструкция: https://help.checkoffice.ru/article/28572