Доступ к вебхукам

Доступ к вебхукам по АПИ

Разрешены запросы:
получение списка вебхуков, получение одного вебхука, создание, обновление и удаление вебхука

Модель WebHook

id - ID вебхука
title — обязательное пользовательское название настройки. Поле не определяет событие, на которое подписан webhook. Фильтр событий задаётся в dop_param3.
value - адрес на вебхук (обязательное)
dop_param1 - доп. параметры
dop_param2 - доп. параметры
dop_param3 — список имён событий через запятую. Пустое или отсутствующее поле означает подписку на все поддерживаемые внешние события. Неизвестное или неподдерживаемое имя возвращает ошибку 422.
is_active - активирован ли вебхук (по умолчанию “1”)

Создание вебхука

curl --location 'https://{DOMAIN NAME}/rest/api/webHook' \
  --header 'X-REST-API-KEY: {REST API KEY}' \
  --header 'Content-Type: application/json' \
  --data '{
    "title": "Отправка счетов во внешнюю систему",
    "value": "https://example.com/webhook",
    "dop_param1": "some_parameter",
    "dop_param3": "startInvoiceRun"
  }'


Ответ сервера:

{
   "success": true,
   "message": "Record(s) Created",
   "data": {
       "totalCount": 1,
       "webHook": [
           {
               "title": "Отправка счетов во внешнюю систему",
               "value": "https://example.com/webhook",
               "dop_param1": "some_parameter",
               "dop_param2": "",
               "dop_param3": "startInvoiceRun",
               "is_active": 1,
               "id": "232"
           }
       ]
   }
}

Обновление вебхука

curl --location --request PUT 'https://{DOMAIN NAME}/rest/api/webHook/232' \
--header 'X-REST-API-KEY: {REST API KEY}' \
--header 'Content-Type: application/json' \
--data '{"is_active": "0"}'

Пример изменения списка событий

bash
curl --location --request PUT \
   'https://{DOMAIN NAME}/rest/api/webHook/232' \
   --header 'X-REST-API-KEY: {REST API KEY}' \
   --header 'Content-Type: application/json' \
   --data '{
      "dop_param3": "admissionAdd,admissionEdit"
   }'

Чтобы подписаться на все поддерживаемые события, передайте пустое значение dop_param3 или не передавайте это поле при создании webhook.

Если в dop_param3 указано хотя бы одно неизвестное или не поддерживаемое внешними вебхуками событие, сервер возвращает ошибку валидации и не сохраняет изменения. Например, значение admissionAdd,admissionAd будет отклонено, поскольку события admissionAd не существует.

Ответ сервера:

{
   "success": true,
   "message": "Record Updated",
   "data": {
       "totalCount": 1,
       "webHook": [
           {
               "id": "232",
               "title": "startInvoiceRun",
               "value": "someurl",
               "dop_param1": "some_parameter",
               "dop_param2": "",
               "dop_param3": "",
               "is_active": "0"
           }
       ]
   }
}

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

Получение списка вебхуков

curl --location 'https://{DOMAIN NAME}/rest/api/webHook' \
--header 'X-REST-API-KEY: {REST API KEY}'

Ответ сервера:

{
   "success": true,
   "message": "Records Retrieved Successfully",
   "data": {
       "totalCount": 22,
       "webHook": [
           {
               "id": "1",
               "title": "doSomething",
               "value": "someurl",
               "dop_param1": "some_parameter",
               "dop_param2": "",
               "dop_param3": "",
               "is_active": "1"
           },
            ***
           {
               "id": "100",
               "title": "startInvoiceRun",
               "value": "someurl",
               "dop_param1": "some_parameter",
               "dop_param2": "",
               "dop_param3": "",
               "is_active": "0"
           }
      ]
}

Удаление вебхука

curl --location --request DELETE 'https://{DOMAIN NAME}/rest/api/webHook/232' \
--header 'X-REST-API-KEY: {REST API KEY}'

Ответ сервера:

{
   "success": true,
   "message": "Record Deleted",
   "data": {
       "id": "232"
   }
}




Powered by