リクエストの例

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

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

次の例は、webhooksエンドポイントで使用されるさまざまなJSONオブジェクトについて詳しく説明しています。

Webhook編集

Webhookの作成または更新に使用されるデータ。

名前

種類

目的

Label

Webhookの目的を説明する人間が判読できるラベル。

Uri

URI

Webリクエストを行うURI。

Method

Webリクエストを行うときに使用するHTTPメソッド。 GETまたはPOSTである必要があります。

Headers

オブジェクト

Webリクエストを行うときに送信するカスタムヘッダー。一般的に認証に使用されます。 Headerには、文字列プロパティのみを含めることができます。

Body

Webリクエストを行うときに投稿する本文。 ExecutionModeOnEndの場合にのみ入力できます。

BodyInclude

Webhookリクエストの本文に含めるJSONオブジェクト。 ExecutionModeOnUpdateの場合にのみ入力できます。このフィールドは、有効なJSONオブジェクトである必要があります。

CreatedBy

Webhookを作成したユーザーの名前。

ExecutionMode

Webhookの実行方法を決定します。 OnEndまたはOnUpdateである必要があります。

Disabled

ブーリアン

Webhookが無効になっているかどうかを示します。 trueに設定すると、Webhookは無効になり、再度アクティブ化されない限り、再度実行されません。

例:

{
  "label": "webhook 29",
  "uri": "https://www.target-domain-of-the-webhook.com/hooks/edge-hook",
  "method": "POST",
  "headers": {
    "x-header": "bar"
  },
  "body": "{\"rebuild\":\"true\"}",
  "createdBy": "anco",
  "executionMode": "OnEnd"
  "disabled": false
}

ウェブフック

Webhookを定義する情報は、次のように構成されています。

名前

種類

目的

Id

このWebhookを識別するために使用される識別子。

TenantId

このWebhookが属するテナントのID。

Label

Webhookの目的を説明する人間が判読できるラベル。

Uri

URI

Webリクエストを行うURI。

Method

Webリクエストを行うときに使用するHTTPメソッド。 GETまたはPOSTである必要があります。

Headers

オブジェクト

Webリクエストを行うときに送信するカスタムヘッダー。一般的に認証に使用されます。 Headerには、文字列プロパティのみを含めることができます。

Body

Webリクエストを行うときに投稿する本文。 ExecutionModeOnEndの場合にのみ入力できます。

BodyInclude

Webhookリクエストの本文に含めるJSONオブジェクト。 ExecutionModeOnUpdateの場合にのみ入力できます。このフィールドは、有効なJSONオブジェクトである必要があります。

CreatedBy

Webhookを作成したユーザーの名前。

Created

日時オフセット

Webhookが作成されたときのタイムスタンプ。

ExecutionMode

Webhookの実行方法を決定します。 OnEndまたはOnUpdateである必要があります。

LastRuns

配列

Webhookの最新の実行時に結果をログに記録します。

Disabled

ブーリアン

Webhookが無効になっているかどうかを示します。 trueに設定すると、Webhookは無効になり、再度アクティブ化されない限り、再度実行されません。

例:

{
  "id": "5678",
  "tenantId": "target-corp",
  "label": "webhook 29",
  "uri": "https://www.target-domain-of-the-webhook.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-30T12:20:10.7253941+00:00",
        "success": true
      },
      {
        "timestamp": "2024-05-30T12:16:10.9437159+00:00",
        "success": true
      }
    ]
  ,
  "disabled": false
}

エンティティの更新

エンティティの更新は、Webhookの実行を引き起こした更新されたエンティティを示します。

名前

種類

形容

identifier

エンティティの識別子。

entity_definition

エンティティが使用するエンティティ定義。更新操作の場合にのみ入力されます。

operation

エンティティに対して実行された操作。 updateまたはdeleteである必要があります。

例:

{
  "identifier": "M.Setting.CleanerInterval",
  "entity_definition": "M.Setting",
  "operation": "update"
}

Webhookリクエスト

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

名前

種類

形容

invocation_id

GUIDの

このWebhookの呼び出しを識別します。複数のWebhook要求にまたがる大量の更新を関連付けるために使用されます。

updates

の配列 EntityUpdate

Webhookの実行を引き起こした更新されたエンティティ。

continues

ブーリアン

さらに更新を送信し続けるための追加の要求があるかどうかを示します。これは、多くの更新があり、複数のリクエストに分割されている場合に発生します。

Webhook定義にbodyIncludeフィールドが含まれている場合、これは結果のJSONオブジェクトに挿入されます。

例:

{
  "invocation_id": "7734f16b-1e46-4321-a40e-522255d6c17a",
  "updates": [
    {
      "identifier": "M.Setting.CleanerInterval",
      "entity_definition": "M.Setting",
      "operation": "update"
    },
    {
      "identifier": "Content.PowerFromWithin",
      "operation": "delete"
    }
  ],
  "continues": false
}

次の例では、Webhook定義にbodyIncludeフィールドに次のものが含まれています。

{
  "authorization": 132332,
  "rebuild": true,
  "department": "engineering"
}

JSONオブジェクトのすべてのプロパティがJSONリクエスト本文に追加されます。

{
  "authorization": 132332,
  "rebuild": true,
  "department": "engineering",
  "invocation_id": "7734f16b-1e46-4321-a40e-522255d6c17a",
  "updates": [
    {
      "identifier": "M.Setting.CleanerInterval",
      "operation": "delete"
    },
    {
      "identifier": "Content.PowerFromWithin",
      "entity_definition": "M.Content",
      "operation": "update"
    }
  ],
  "continues": false
}

OnUpdateの実行

送信する更新が多数ある場合、これらはバッチに分割され、複数のリクエストで送信されます。同じ呼び出し (トリガー) に対するすべての要求には、同じinvocation_idが設定されています。すべての要求では、呼び出しの最後の要求を除き、continuesフィールドがtrueに設定されています。ダウンストリーム・システムは、このフィールドを使用して、呼び出しに対する追加の要求を予期するかどうかを知ることができます。

例:

3つの個別のエンティティの更新について考えてみます。最大バッチサイズが2の場合、Webhookエンドポイントに送信されるリクエストのペイロードは次のとおりです。

{
  "invocation_id": "8834f16b-1e46-4321-a40e-522255d6c17a",
  "updates": [
    {
      "identifier": "M.Setting.CleanerInterval",
      "entity_definition": "M.Setting",
      "operation": "update"
    },
    {
      "identifier": "Content.PowerFromWithin",
      "entity_definition": "M.Content",
      "operation": "update"
    }
  ],
  "continues": true
}

continuesフィールドはtrueで、別の要求が続くことを示します。

{
  "invocation_id": "8834f16b-1e46-4321-a40e-522255d6c17a",
  "updates": [
    {
      "identifier": "M.Setting.UpdateInterval",
      "entity_definition": "M.Setting",
      "operation": "update"
    }
  ],
  "continues": false
}
この記事を改善するための提案がある場合は、 お知らせください!