Webhook конфиги
Ресурс конфигурации webhook используется API для отправки событий вашему получателю webhook.
Организация может иметь конфигурацию webook по умолчанию, которая используется всеми ключами в этой организации, которые не указывают свои собственные конфигурации webhook.
Атрибуты
| название | тип | описание |
|---|---|---|
id | идентификатор конфигурации webhook | Идентификатор ресурса. |
resource | строка, всегда webhook_config | Спецификатор типа ресурса. |
organisation | идентификатор организации | Организация, к которой принадлежит ресурс. |
url | строка | URL для цели при отправке событий. |
secret | строка | Общий секретный ключ используется для проверки подписей событий. |
state | строка | Один из: new , valid , invalid , deactivated . |
date_created | Дата и время | Когда ресурс был создан. |
секрет
При создании конфигурации webhook рядом с ней будет сгенерирован секрет, который будет использоваться для подписи событий, отправляемых API. Настоятельно рекомендуется реализовать приемник webhook для проверки подписи входящих событий с использованием этого секрета. Для получения дополнительной информации о процедуре проверки подписи см. Документацию по настройке webhook .
состояния
-
newтолько что был создан или недавно обновлен, но еще не протестирован. -
validпрошел валидацию и готов к использованию. Организация должна иметь хотя бы одну конфигурацию webhook в этом состоянии, чтобы ее можно было использовать -
invalidне прошел тест проверки. Должен быть обновлен или проверен. -
deactivatedбыло отключено организацией-владельцем.
Создать POST /configs/webhook
Это действие создаст задачу webhook_config.test для проверки деталей конечной точки. Если приемник webhook еще не настроен, этот тест, скорее всего, не пройдёт и установит конфигурацию в invalid состояние. Однако конфиг всегда можно повторно протестировать с помощью действия test .
параметры
| название | тип | описание |
|---|---|---|
url | требуется | URL вашего получателя. |
Использование cURL
curl https://ricloud-api.reincubate.com/configs/webhook \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "url": "https://www.mywebhook.com/webhooks/" }'
Использование ricloud-py
import ricloud webhook_config = ricloud.WebhookConfig.create(url='https://www.mywebhook.com/webhooks/')
Получить GET /configs/webhook/{webhook_config ID}
Использование cURL
curl https://ricloud-api.reincubate.com/configs/webhook/<webhook_config ID> \ -H 'Authorization: Token <your key_token>'
Использование ricloud-py
import ricloud webhook_config = ricloud.WebhookConfig.retrieve(<webhook_config ID>)
Список GET /configs/webhook
Конфиги Webhook в deactivated состоянии по умолчанию скрыты и могут быть перечислены только при явной фильтрации.
параметры
| название | тип | описание |
|---|---|---|
state | строка | Фильтруйте конфиги webhook по их состоянию. |
date_created | фильтр даты и времени | Фильтр по дате создания ресурса. |
Обновить POST /configs/webhook/{webhook_config ID}
Это действие создаст задачу webhook_confg.test в фоновом режиме для проверки любых изменений, внесенных в конфигурацию.
Атрибут state может быть изменен на deactivated в том случае, если вы по существу удаляете конфигурацию.
параметры
| название | тип | описание |
|---|---|---|
url | строка | Обновите URL. |
state | строка | Только для new или deactivated . |
Использование cURL
curl https://ricloud-api.reincubate.com/configs/webhook/<webhook_config ID> \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "url": "https://www.myupdatedwebhook.com/webhooks/", }'
Использование ricloud-py
import ricloud webhook_config = ricloud.WebhookConfig.update_with_id( <webhook_config ID>, url='https://www.myupdatedwebhook.com/webhooks/' ) # OR webhook_config = ricloud.WebhookConfig.retrieve(<webhook_config ID>) webhook_config.update(url='https://www.myupdatedwebhook.com/webhooks/')
Тест POST /configs/webhook/{webhook_config ID}/test
Это действие создает задачу webhook_config.test которая отправляет тестовое событие с использованием указанной конфигурации. Результат теста будет обновлять state атрибута конфигурации webook соответствующим образом .
Использование cURL
curl https://ricloud-api.reincubate.com/configs/webhook/<webhook_config ID>/test \ -H 'Authorization: Token <your key_token>'
Использование ricloud-py
import ricloud test_task = ricloud.WebhookConfig.test_with_id(<webhook_config ID>) # OR webhook_config = ricloud.WebhookConfig.retrieve(<webhook_config ID>) test_task = webhook_config.test()