コンテンツにスキップ

Admin API:Webhook

Webhook を作る、変える、削除する操作と、テストの送信、送信履歴、再送の操作です。共通の決まり(認証、エラーの形、日時)は Admin API のリファレンス にあります。

届く Webhook の形と署名の確かめ方は、Webhook を受け取る にあります。

例の <ホスト名> はあなたの環境のホスト名、<アクセストークン> は hako_pat_ で始まるアクセストークンに置き換えます。<slug> などのほかの山かっこの値は、各操作のパラメーターの表にあるものに置き換えます。

操作 メソッドとパス
Webhook の一覧 GET /admin/api/spaces/{slug}/webhooks
Webhook を作る POST /admin/api/spaces/{slug}/webhooks
Webhook を取得する GET /admin/api/spaces/{slug}/webhooks/{id}
Webhook の設定を変える PATCH /admin/api/spaces/{slug}/webhooks/{id}
Webhook を削除する DELETE /admin/api/spaces/{slug}/webhooks/{id}
Webhook の送信履歴 GET /admin/api/spaces/{slug}/webhooks/{id}/deliveries
Webhook の送信を、同じ本文で送り直す POST /admin/api/spaces/{slug}/webhooks/{id}/deliveries/{delivery_id}/redeliver
Webhook をテストで送る POST /admin/api/spaces/{slug}/webhooks/{id}/test
GET /admin/api/spaces/{slug}/webhooks
  • ログイン:要る(セッションかアクセストークン)

パラメーター:

名前 場所 型 必須 決まり 説明
slug パス 文字列 ○ スペースのスラッグ

返る値:

状態 本文
200 WebhookView の配列(application/json)

うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。

例:

ターミナルウィンドウ
curl "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/webhooks" \
-H "Authorization: Bearer <アクセストークン>"
POST /admin/api/spaces/{slug}/webhooks
  • ログイン:要る(セッションかアクセストークン)

パラメーター:

名前 場所 型 必須 決まり 説明
slug パス 文字列 ○ スペースのスラッグ

リクエストの本文(application/json):

名前 型 必須 決まり 説明
contentTypeId 文字列か null このコンテンツタイプのイベントだけを送る。null ならすべてのコンテンツタイプとメディア
enabled 真偽値か null 送るか。既定 true
events 文字列の配列か null 送るイベント名の配列。既定 [“entry.published”, “entry.deleted”]
headers オブジェクト(値は文字列)か null カスタムヘッダー(名前から値のオブジェクト)。20 個まで
name 文字列 ○ 名前
preset 文字列か null 送る形。選べる値:custom, vercel, netlify, slack。既定 custom
secret 文字列か null 署名のシークレット(8〜256 文字)
url 文字列 ○ 送信先(http:// か https://)

返る値:

状態 本文
201 WebhookView(application/json)

うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。

例:

ターミナルウィンドウ
curl -X POST "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/webhooks" \
-H "Authorization: Bearer <アクセストークン>" \
-H "Content-Type: application/json" \
-d '{
"name": "<name>",
"url": "<url>"
}'
GET /admin/api/spaces/{slug}/webhooks/{id}
  • ログイン:要る(セッションかアクセストークン)

パラメーター:

名前 場所 型 必須 決まり 説明
slug パス 文字列 ○ スペースのスラッグ
id パス 文字列 ○ ID

返る値:

状態 本文
200 WebhookView(application/json)

うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。

例:

ターミナルウィンドウ
curl "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/webhooks/<id>" \
-H "Authorization: Bearer <アクセストークン>"
PATCH /admin/api/spaces/{slug}/webhooks/{id}
  • ログイン:要る(セッションかアクセストークン)

パラメーター:

名前 場所 型 必須 決まり 説明
slug パス 文字列 ○ スペースのスラッグ
id パス 文字列 ○ ID

リクエストの本文(application/json):

名前 型 必須 決まり 説明
contentTypeId 文字列か null このコンテンツタイプのイベントだけを送る。null ならすべてのコンテンツタイプとメディア
enabled 真偽値か null 送るか
events 文字列の配列か null 送るイベント名の配列
headers オブジェクト(値は文字列)か null カスタムヘッダー(名前から値のオブジェクト)。20 個まで
name 文字列か null 名前
preset 文字列か null 送る形。選べる値:custom, vercel, netlify, slack
secret 文字列か null 署名のシークレット(8〜256 文字)。null で外す
url 文字列か null 送信先(http:// か https://)

返る値:

状態 本文
200 WebhookView(application/json)

うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。

例:

ターミナルウィンドウ
curl -X PATCH "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/webhooks/<id>" \
-H "Authorization: Bearer <アクセストークン>" \
-H "Content-Type: application/json" \
-d '{}'
DELETE /admin/api/spaces/{slug}/webhooks/{id}
  • ログイン:要る(セッションかアクセストークン)

パラメーター:

名前 場所 型 必須 決まり 説明
slug パス 文字列 ○ スペースのスラッグ
id パス 文字列 ○ ID

返る値:

状態 本文
204 なし

うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。

例:

ターミナルウィンドウ
curl -X DELETE "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/webhooks/<id>" \
-H "Authorization: Bearer <アクセストークン>"
GET /admin/api/spaces/{slug}/webhooks/{id}/deliveries
  • ログイン:要る(セッションかアクセストークン)

パラメーター:

名前 場所 型 必須 決まり 説明
slug パス 文字列 ○ スペースのスラッグ
id パス 文字列 ○ ID
limit クエリ 整数 0 以上 件数
cursor クエリ 文字列 前の応答の nextCursor

返る値:

状態 本文
200 DeliveriesResponse(application/json)

うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。

例:

ターミナルウィンドウ
curl "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/webhooks/<id>/deliveries" \
-H "Authorization: Bearer <アクセストークン>"

Webhook の送信を、同じ本文で送り直す

Section titled “Webhook の送信を、同じ本文で送り直す”

手動の再送:同じ本文(deliveryId も同じ)を、新しい送信として最初から送り直す。

POST /admin/api/spaces/{slug}/webhooks/{id}/deliveries/{delivery_id}/redeliver
  • ログイン:要る(セッションかアクセストークン)

パラメーター:

名前 場所 型 必須 決まり 説明
slug パス 文字列 ○ スペースのスラッグ
id パス 文字列 ○ ID
delivery_id パス 文字列 ○ 送信の ID

返る値:

状態 本文
202 DeliveryView(application/json)

うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。

例:

ターミナルウィンドウ
curl -X POST "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/webhooks/<id>/deliveries/<delivery_id>/redeliver" \
-H "Authorization: Bearer <アクセストークン>"

テストの送信。すぐに送って結果を返す(再送しない、データの操作に結び付かないので、ジョブを使わない)

POST /admin/api/spaces/{slug}/webhooks/{id}/test
  • ログイン:要る(セッションかアクセストークン)

パラメーター:

名前 場所 型 必須 決まり 説明
slug パス 文字列 ○ スペースのスラッグ
id パス 文字列 ○ ID

返る値:

状態 本文
200 DeliveryView(application/json)

うまくいかなかったときは、4xx か 5xx と、message を持つ JSON が返ります。状態ごとの意味は エラーの一覧 にあります。

例:

ターミナルウィンドウ
curl -X POST "https://<ホスト名>.hakocms.net/admin/api/spaces/<slug>/webhooks/<id>/test" \
-H "Authorization: Bearer <アクセストークン>"