---
title: "管理者Webhooks API"
slug: "admin-webhooks-api"
abstract: "外部サービスのためのAdmin Webhooks APIの使い方。"
---
# 管理者Webhooks API

外部サービスでWebhookを実行するにはAdmin Webhooks APIを使用します。

## Webhookの実行モード

ウェブフックとは、配信サービスが提供する方法で、静的サイトジェネレーター(SSG)のサイト構築の再構築や開始など、ウェブアプリケーションへのリクエストを行います。

コンテンツ配信機能は、ウェブフックの実行方法とタイミングを決定する異なる実行モードを実装しています。

## OnEnd

OnEndはデフォルトの実行モードです。このモードでは、ウェブフックはキャッシュがパーグされた後、パブリッシングジョブの最後に実行されます。ウェブフックの定義に本文が含まれている場合、それはウェブフックリクエストの本文としてそのまま送信されます。ウェブフック定義にカスタムヘッダーを設定し、ボディがプレーンテキスト(JSONやXMLなど)でない場合、リクエストの内容タイプを変更することができます。

ウェブフックエンドポイントへのリクエストはデボウンス処理され、エンドポイントへのリクエスト数を減らし、いくつかの小さな変更をスムーズに処理します。

## 更新

OnUpdateOnEndと同じ仕組みですが、Webhookの要求の本文にWebhookを実行する原因となったエンティティの変更を含みます。このモードではWebhookの定義にカスタムボディを入れることはできません。

大規模なリクエストを送信しないため、エンティティの変更は複数のウェブフックリクエストに分けてバッチで送信されます。各バッチは重複を除去し、同じリクエストで繰り返しイベントが送信されることはありません。送信される本文はJSON形式です。ウェブフック定義のbodyIncludeフィールドを埋めることで、JSONデータを本文に含めることができます。

## 故障したウェブフックの自動無効化

自動無効化機能はウェブフックの実行状況を監視し、10回連続で失敗したウェブフックを無効化します。

> !注ウェブフックは応答までに30秒以上かかる場合、失敗したとみなされます。

ウェブフックが実行されると、その結果はlastRunsプロパティに記録されます。実行が失敗した場合:

1.  システムは過去の実行結果を取得し、過去9回の実行も失敗していないか確認します。
2.  この場合、 Disabled プロパティは true に設定され、ウェブフックは自動的に無効化されます。
3.  以下の message がlastRunsプロパティに追加されており、ウェブフックが無効化されていることを示します。 The webhook has failed the past 10 consecutive executions and is now disabled.

### ウェブフックを再活性化する

必要に応じて、失敗の理由を説明した後に手動でウェブフックを再有効化することも可能です。

そのためには、/webhooks/<identifier>エンドポイントにPUTリクエスト(例:/webhooks/97261f96-2b43-4e25-a925-5bc56194f1b1)を送信し、Disabledプロパティをfalseに設定します。以下の例に示されています。

{
 "tenantId": "kgo-tenant",
 "label": "kgo webhook",
 "uri": "https://www.sitecore.com/",
 "method": "GET",
 "headers": {
 "x-header": "foo"
 },
 "disabled": false
}

## エンドポイント

以下のすべてのルートは [、管理者エンドポイントのベースルート](https://doc.sitecore.com/ch/ja/developers/cloud-dev/experience-edge-admin-api.html "Experience Edge Admin API")に対して相対的なものです:

方法

URL

概要

[GET](https://doc.sitecore.com/ch/ja/developers/cloud-dev/get-all-webhooks.html)

/webhooks

すべてのウェブフックをリストアップしています。

[GET](https://doc.sitecore.com/ch/ja/developers/cloud-dev/get-webhook.html)

/webhooks/<identifier>

特定の識別子を持つウェブフックを表示します。

[POST](https://doc.sitecore.com/ch/ja/developers/cloud-dev/post-webhook.html)

/webhooks/<identifier>

ウェブフックを作成します。  
  
\> \[!注\]  
\> HTTPSではなくHTTPSのURIを使う必要があります。

[PUT](https://doc.sitecore.com/ch/ja/developers/cloud-dev/put-webhook.html)

/webhooks/<identifier>

特定の識別子でウェブフックを更新します。

[DELETE](https://doc.sitecore.com/ch/ja/developers/cloud-dev/delete-webhook.html)

/webhooks/<identifier>

特定の識別子を持つウェブフックを削除します。