Webhooks

В ЗАКРОМА встроен механизм оповещения других систем о любом из событий из предопределенного набора. Этот механизм асинхронный.

Внимание

Для работы механизма нотификаций нужна настроенная Kafka.

Доступные события

В настоящий момент можно настроить оповещения о следующих событиях:

  • CREATE_WORKSPACE
  • DELETE_WORKSPACE
  • UPDATE_WORKSPACE
  • CREATE_BUCKET
  • DELETE_BUCKET
  • CREATE_OBJECT
  • MOVE_OBJECT_TO_TRASH_BIN
  • DELETE_OBJECT
  • SET_OBJECT_TAGS
Kafka

При необходимости можно работать через события в Kafka.

Настройка может быть осуществлена как на уровне всего хранилища, так и на уровне Bucket.

Добавление webhooks

  1. Откройте вкладку Webhooks.
  2. Нажмите кнопку Создать webhook.
  3. Заполните поля:
  • Название события, для которого он хочет получать извещение
  • Метод POST/PUT/GET
  • Протокол: http/https (по умолчанию https)
  • URL webhook приёмника
  • Тип аутентификации: BASIC/API_KEY/BEARER_TOKEN
  • Идентификатор ключа (только для BASIC)
  • Ключ image

При настройке через REST API доступны следующие http-методов:

  • AddWebhooks
  • UpdateWebhook
  • DeleteWebhooks
  • ReinitWebhooks
  • ListWebhooks - список настроенных веб-хуков
  • ListEvents - список событий, для которых возможно настроить веб-хук. На каждое событие можно настроить несколько веб-хуков.
Обновление конфигурации

Конфигурация веб-хуков вычитывается при старте сервиса. В дальнейшем, после использования через API ручек AddWebhooks, UpdateWebhook, DeleteWebhooks следует вызвать метод ReinitWebhooks, чтобы новая конфигурация применилась.

Методы POST и PUT передают параметры события в json, а метод GET передаёт параметры события как URL encoded query.