1. Experience Edge

ウェブフックオブジェクト

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

ウェブフックとは、サービスが他のアプリケーションにリアルタイムの情報を提供する方法です。Webhookは、公開操作が完了すると外部のコンシューマーアプリケーションのビルドをトリガーします。

このトピックでは、Edge Admin APIのwebhooksエンドポイント内で使用されるさまざまなJSONオブジェクトについて説明します。

失敗したウェブフックの自動無効化

Sitecoreはウェブフックの実行状況を定期的に監視し、10回連続失敗したウェブフックを自動的に無効化します。ウェブフックが30秒以内に応答しない場合、失敗とみなされます。

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

  1. システムは過去の実行結果を取得し、過去9回の実行も失敗していないかを確認します。

  2. もし存在しているなら、disabledプロパティはtrueに設定され、ウェブフックは無効化されます。

  3. lastRunsプロパティにウェブフックが無効化されたことを示すメッセージが追加されます:The 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
} 

ウェブフック編集

CreateWebhookUpdateWebhook管理者エンドポイントを呼び出す際にウェブフックを作成または更新するために使われるプロパティ。

名称

種類

概要

レーベル

ストリング

ウェブフックの目的を説明しています。

ウリ

ウリ

ウェブリクエストを出すためのURIです。

方法

ストリング

ウェブリクエストを行う際に使うHTTPメソッド。GETかPOSTでなければなりません。

ヘッダー

Object

ウェブリクエストを出す際に送信するカスタムヘッダー。認証によく使われます。

ボディ

ストリング

ウェブリクエストをする際に投稿する内容。 ExecutionModeOnEndである場合にのみ人口が入ります。

本文含め

ストリング

ウェブフックリクエストの本文に含める追加のJSONオブジェクト。 ExecutionModeOnUpdateである場合にのみ人口が入ります。このフィールドは有効なJSONオブジェクトでなければなりません。

作成者

ストリング

ウェブフックを作成したユーザーの名前です。

実行モード

ストリング

ウェブフックの実行方法を決定します。以下のいずれかの選択肢でなければなりません: OnEndOnUpdate

例:

{
  "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。

レーベル

ストリング

ウェブフックの目的を説明しています。

ウリ

ウリ

ウェブリクエストを出すためのURIです。

方法

ストリング

ウェブリクエストを行う際に使うHTTPメソッド。GETかPOSTでなければなりません。

ヘッダー

Object

ウェブリクエストを出す際に送信するカスタムヘッダー。認証によく使われます。

ボディ

ストリング

ウェブリクエストをする際に投稿する内容。 ExecutionModeOnEndである場合にのみ人口が入ります。

本文含め

ストリング

ウェブフックリクエストの本文に含める追加のJSONオブジェクトです。ExecutionModeがOnUpdateである場合にのみ入力可能です。このフィールドは有効なJSONオブジェクトでなければなりません。

作成者

ストリング

ウェブフックを作成したユーザーの名前です。

創造された

DateTimeOffset(日付時間オフセット)

ウェブフックが作成されたタイムスタンプ。

実行モード

ストリング

ウェブフックの実行方法を決定します。以下のいずれかの選択肢でなければなりません: OnEndOnUpdate

最後のラン

オブジェクトの配列

ウェブフックの最新の実行結果。以下の表はlastRuns対象を説明します。

lastRunsオブジェクト

lastRunsオブジェクトは以下のフィールドを含めることができます:

名称

種類

概要

タイムスタンプ

DateTimeOffset(日付時間オフセット)

実行ログが作成されたタイムスタンプ。

成功

ブール

ウェブフックが成功裏に実行されたかどうかを示します。

メッセージ

ストリング

ウェブフックが失敗した場合、エラーメッセージが表示されます。

例:

{
  "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:04.6107312+00:00",
  "executionMode": "OnEnd",
  "lastRuns": [
    {
      "timestamp": "2024-05-16T10:10:53.825Z",
      "success": true
    },
    {
        "timestamp": "2024-05-30T09:50:53.2134315+00:00",
        "success": false,
        "message": "Internal service error"
    }
  ],
  "disabled": false
}

エンティティアップデート

更新されウェブフック実行を引き起こしたエンティティを記述します。

名称

種類

概要

識別子

ストリング

エンティティの識別子。

entity_definition

ストリング

エンティティの定義です。更新操作のためだけに人口が入っています。可能な値は以下の通りです:

  • アイテム

  • メディアアイテム

  • アイテムテンプレート

  • ItemTemplateField

  • レイアウトデータ

  • サイトインフォ

  • 辞書項目

操作

ストリング

実行される操作の種類: updateまたはdelete

entity_culture

ストリング

エンティティの文化(言語)バージョンを更新します。

例:

{
  "identifier": "B43D07BD61D5448F93238B6ACAD4F3C4",
  "entity_definition": "Item",
  "operation": "Update",
  "entity_culture": "en"
}

WebHookRequest

OnUpdate実行モードを使用するウェブフックエンドポイントに対して行われるリクエストの本文。

名称

種類

概要

invocation_id

GUID

ウェブフックの呼び出しを特定します。複数のウェブフックリクエストにまたがる大量の更新数に相関するために使われていました。

最新情報

EntityUpdateの配列

更新されウェブフック実行を引き起こしたエンティティたち。

続く

ブール

さらなるアップデート送信の要請があるかどうかを示します。これは、多数の更新があり、それが複数のリクエストに分散されているときに発生します。

フィールドが埋められた場合、この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
}
この記事を改善するための提案がある場合は、 お知らせください!