バッチ要求の例

次のトピックでは、各種バッチ要求の例を示します。

単純なバッチ要求

最も単純なバッチ要求は、デフォルトの GET サブ要求で構成されます。これには、クエリパラメータや要求ペイロードは含まれません。

次の例では、応答は 3 つのサブ応答で構成されます。各サブ応答は、各クレームのデフォルトのフィールドで構成されます。

{
  "requests": [
    {
      "method": "get",
      "path": "/claims/demo_sample:1"
    },
    {
      "method": "get",
      "path": "/claims/demo_sample:2"
    },
    {
      "method": "get",
      "path": "/claims/demo_sample:3"
    }
  ]
}

クエリパラメータを含むバッチ要求

以下に、複数の GET サブ要求を含むバッチ要求の例を示します。この例では、複数の GET サブ要求にクエリパラメータが指定されています。例に示すように、サブ要求には、クエリパラメータを使用できるものとできないものがあります。クエリパラメータを使用するサブ要求は、さまざまなクエリパラメータを使用できます。

応答は 3 つのサブ応答で構成されます。各サブ応答のフィールドは、クエリパラメータに応じて異なります。

{
  "requests": [
    {
      "method": "get",
      "path": "/claims/demo_sample:1",
      "query": "sort=lossDate"
    },
    {
      "method": "get",
      "path": "/claims/demo_sample:2",
      "query": "fields=*all"
    },
    {
      "method": "get",
      "path": "/claims/demo_sample:3"
    }
  ]
}

要求ペイロードを含むバッチ要求

以下に、複数の POST サブ要求を含むバッチ要求の例を示します。この例には、各サブ要求に要求ペイロードが指定されています。

この例では、2 つの備考・経緯が異なるアクティビティにポストされています。ただし、各備考・経緯を同一のアクティビティにポストすることもできます。

{
  "requests": [
    {
      "method": "post",
      "path": "/activities/xc:11/notes",
      "data":
        {
          "attributes": {
            "body": "Batch note 1"
          }
        }
    },
    {
      "method": "post",
      "path": "/activities/xc:73/notes",
      "data":
        {
          "attributes": {
            "body": "Batch note 2"
          }
        }      
    }
  ]
}

異なる処理を含むバッチ要求

バッチ要求のサブ要求はすべて、他のサブ要求とは異なります。サブ要求が他のサブ要求と属性を共有する必要はありません。したがって、次の複数のサブ要求を含むバッチ要求の例では、各サブ要求はそれぞれ異なる処理を使用します。

{
  "requests": [
    {
      "method": "post",
      "path": "/activities/xc:21/notes"
      "body": {
        "data": {
          "attributes": {
            "body": "Batch activity 1",
            "subject": "Batch activity 1",
            "topic": {
              "code": "general",
              "name": "General"
            }
          }
        }
      }
    },
    {
      "method": "patch",
      "path": "/notes/xc:22",
      "body": {
        "data": {
          "attributes": {
            "body": "PATCHed note body"
          }
        }
      },
    },
    {
      "method": "delete",
      "path": "/notes/xc:23"
    },
    {
      "method": "get",
      "path": "/activities/xc:24/notes",
      "query": "sort=subject&fields=id,subject"
    }
  ]
}