- ウェブフックオブジェクト
ウェブフックオブジェクト
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
ウェブフックとは、サービスが他のアプリケーションにリアルタイムの情報を提供する方法です。Webhookは、公開操作が完了すると外部のコンシューマーアプリケーションのビルドをトリガーします。
このトピックでは、Edge Admin APIのwebhooksエンドポイント内で使用されるさまざまなJSONオブジェクトについて説明します。
失敗したウェブフックの自動無効化
Sitecoreはウェブフックの実行状況を定期的に監視し、10回連続失敗したウェブフックを自動的に無効化します。ウェブフックが30秒以内に応答しない場合、失敗とみなされます。
ウェブフックが実行されると、その結果はlastRunsプロパティに記録されます。実行が失敗した場合:
- システムは過去の実行結果を取得し、過去9回の実行も失敗していないかを確認します。
- もし存在しているなら、 disabled プロパティは trueに設定され、ウェブフックは無効化されます。
- lastRunsプロパティにウェブフックが無効化されたことを示すメッセージが追加されます webhook has failed the past 10 consecutive executions and is now disabled。
ウェブフックの故障原因を特定し、自社側で適切に処理できることを確認すると、/webhooks/{id}エンドポイントにPUTリクエストを送信し、disabledプロパティをfalseに設定して手動再起動できます。以下の例に示されています:
{ "tenantId": "kgo-tenant", "label": "kgo webhook", "uri": "https://www.sitecore.com/", "method": "GET", "headers": { "x-header": "foo" }, "disabled": false }
ウェブフック編集
CreateWebhookやUpdateWebhook管理者エンドポイントを呼び出す際にウェブフックを作成または更新するために使われるプロパティ。
名称
種類
概要
label
ストリング
ウェブフックの目的を説明しています。
uri
Uri
ウェブリクエストを出すためのURIです。
method
ストリング
ウェブリクエストを行う際に使うHTTPメソッド。 GET か POSTに違いない。
headers
目的
ウェブリクエストを出す際に送信するカスタムヘッダー。認証によく使われます。
body
ストリング
ウェブリクエストをする際に投稿する内容。 ExecutionMode が OnEndである場合にのみ人口が入ります。
bodyInclude
ストリング
ウェブフックリクエストの本文に含める追加のJSONオブジェクト。 ExecutionMode が OnUpdateである場合にのみ人口が入ります。このフィールドは有効なJSONオブジェクトでなければなりません。
createdBy
ストリング
ウェブフックを作成したユーザーの名前です。
executionMode
ストリング
ウェブフックの実行方法を決定します。以下のいずれかの選択肢でなければなりません: OnEnd、 OnUpdate。
例:
{ "label": "My new webhook", "uri": "https://www.mysite.com/hooks/edge-hook", "method": "POST", "headers": { "x-header": "bar" }, "body": "{\"rebuild\":\"true\"}", "createdBy": "anco", "executionMode": "OnEnd" }
ウェブフック
ウェブフックについて説明しています。
名称
種類
概要
id
ストリング
このウェブフックの識別子です。
tenantId
ストリング
このウェブフックが属するテナントの ID。
label
ストリング
ウェブフックの目的を説明しています。
uri
Uri
ウェブリクエストを出すためのURIです。
method
ストリング
ウェブリクエストを行う際に使うHTTPメソッド。 GET か POSTに違いない。
headers
目的
ウェブリクエストを出す際に送信するカスタムヘッダー。認証によく使われます。
body
ストリング
ウェブリクエストをする際に投稿する内容。 ExecutionMode が OnEndである場合にのみ人口が入ります。
bodyInclude
ストリング
ウェブフックリクエストの本文に含める追加のJSONオブジェクトです。 ExecutionMode が OnUpdateである場合にのみ人口を埋めることができます。このフィールドは有効なJSONオブジェクトでなければなりません。
createdBy
ストリング
ウェブフックを作成したユーザーの名前です。
created
DateTimeOffset
ウェブフックが作成されたタイムスタンプ。
executionMode
ストリング
ウェブフックの実行方法を決定します。以下のいずれかの選択肢でなければなりません: OnEnd、 OnUpdate。
lastRuns
オブジェクトの配列
ウェブフックの最新の実行結果。以下の表は lastRuns 対象を説明します。
lastRunsオブジェクト
lastRunsオブジェクトは以下のフィールドを含めることができます:
名称
種類
概要
timestamp
DateTimeOffset
実行ログが作成されたタイムスタンプ。
success
ブール
ウェブフックが成功裏に実行されたかどうかを示します。
message
ストリング
ウェブフックが失敗した場合、エラーメッセージが表示されます。
例:
{ "id": "5678", "tenantId": "acme-corp", "label": "webhook 29", "uri": "https://www.acme.com/hooks/edge-hook", "method": "POST", "headers": { "x-header": "bar" }, "body": "{"rebuild\":\"true\"}", "createdBy": "anco", "created": "2021-03-26T10:44
.6107312+00", "executionMode": "OnEnd", "lastRuns": { "timestamp": "2024-05-16T10:10.825Z", "success": true }, { "timestamp": "2024-05-30T09:50.2134315+00", "success": false, "message": "Internal service error" } , "disabled": false }エンティティアップデート
更新されウェブフック実行を引き起こしたエンティティを記述します。
名称
種類
概要
identifier
ストリング
エンティティの識別子。
entity_definition
ストリング
エンティティの定義です。更新操作のためだけに人口が入っています。可能な値は以下の通りです:
- Item
- MediaItem
- ItemTemplate
- ItemTemplateField
- LayoutData
- SiteInfo
- DictionaryEntry
operation
ストリング
実行される操作の種類: update または delete。
entity_culture
ストリング
エンティティの文化(言語)バージョンを更新します。
例:
{ "identifier": "B43D07BD61D5448F93238B6ACAD4F3C4", "entity_definition": "Item", "operation": "Update", "entity_culture": "en" }
WebHookRequest
OnUpdate実行モードを使用するウェブフックエンドポイントに対して行われるリクエストの本文。
名称
種類
概要
invocation_id
ガイド
ウェブフックの呼び出しを特定します。複数のウェブフックリクエストにまたがる大量の更新数に相関するために使われていました。
updates
配列 EntityUpdate
更新されウェブフック実行を引き起こしたエンティティたち。
continues
ブール
さらなるアップデート送信の要請があるかどうかを示します。これは、多数の更新があり、それが複数のリクエストに分散されているときに発生します。
フィールドが埋められた場合、このJSONオブジェクトはリクエストの本体に統合され、注入されるオブジェクトのプロパティが要求本体オブジェクトに取り入れられます。
例:
{ "invocation_id": "6a271d7b-92de-4d14-8002-8fc97a46c290", "updates": { "identifier": "B43D07BD61D5448F93238B6ACAD4F3C4", "entity_definition": "Item", "operation": "Update", "entity_culture": "en" }, { "identifier": "siteName", "entity_definition": "SiteInfo", "operation": "Update", "entity_culture": "all" }, { "identifier": "3CE9A090FB9B42BEB593F39BFCB1DE2B", "entity_definition": "Item", "operation": "Update", "entity_culture": "en" } , "continues": false }