Webhook конфиги
Ресурс конфигурации webhook используется API для отправки событий вашему получателю webhook.
Организация может иметь конфигурацию webook по умолчанию, которая используется всеми ключами в этой организации, которые не указывают свои собственные конфигурации webhook.
Атрибуты
название | тип | описание |
---|---|---|
id |
webhook config ID | Resource identifier. |
resource |
string, always webhook_config |
Resource type specifier. |
organisation |
organisation ID | The organisation the resource belongs to. |
url |
string | The url to target when sending events. |
secret |
string | The shared secret used to verify event signatures. |
state |
string | One of: new , valid , invalid , deactivated . |
date_created |
datetime | When the resource was created. |
секрет
При создании конфигурации webhook рядом с ней будет сгенерирован секрет, который будет использоваться для подписи событий, отправляемых API. Настоятельно рекомендуется реализовать приемник webhook для проверки подписи входящих событий с использованием этого секрета. Для получения дополнительной информации о процедуре проверки подписи см. Документацию по настройке webhook .
состояния
-
new
только что был создан или недавно обновлен, но еще не протестирован. -
valid
прошел валидацию и готов к использованию. Организация должна иметь хотя бы одну конфигурацию webhook в этом состоянии, чтобы ее можно было использовать -
invalid
не прошел тест проверки. Должен быть обновлен или проверен. -
deactivated
было отключено организацией-владельцем.
Создать POST /configs/webhook
Это действие создаст задачу webhook_config.test
для проверки деталей конечной точки. Если приемник webhook еще не настроен, этот тест, скорее всего, не пройдёт и установит конфигурацию в invalid
состояние. Однако конфиг всегда можно повторно протестировать с помощью действия test .
параметры
name | type | description |
---|---|---|
url |
required | The URL of your webhook receiver. |
Использование 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
состоянии по умолчанию скрыты и могут быть перечислены только при явной фильтрации.
параметры
name | type | description |
---|---|---|
state |
string | Filter webhook configs by their state. |
date_created |
datetime filter | Filter by resource creation date. |
Обновить POST /configs/webhook/{webhook_config ID}
Это действие создаст задачу webhook_confg.test
в фоновом режиме для проверки любых изменений, внесенных в конфигурацию.
Атрибут state
может быть изменен на deactivated
в том случае, если вы по существу удаляете конфигурацию.
параметры
name | type | description |
---|---|---|
url |
string | Update the URL. |
state |
string | Only to new or 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()