Skip to content

カタログ項目を置き換える

put

/catalogs/{catalog_name}/items

このエンドポイントを使用して、カタログ内の複数の項目を置き換えます。

カタログ項目が存在しない場合、このエンドポイントはカタログ内にその項目を作成します。1回のリクエストにつき、最大50個のカタログ項目に対応できます。このエンドポイントは非同期です。

前提条件

このエンドポイントを使用するには、catalogs.replace_items 権限を持つ APIキーが必要です。

レート制限

このエンドポイントには、APIレート制限に記載されているように、すべての非同期カタログアイテムエンドポイント間で1分あたり16,000リクエストの共有レート制限があります。

パスパラメーター

パラメーター 必須 データタイプ 説明
catalog_name 必須 文字列 カタログ名。

リクエストパラメーター

パラメーター 必須 データタイプ 説明
items 必須 配列 項目オブジェクトを含む配列。各オブジェクトにはIDが必要です。項目オブジェクトには、カタログに存在するフィールドが含まれている必要があります。リクエストごとに最大50個の項目オブジェクトが許可されます。

リクエスト例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
curl --location --request PUT 'https://rest.iad-03.braze.com/catalogs/restaurants/items' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
  "items": [
    {
      "id": "restaurant1",
      "Name": "Restaurant",
      "Loyalty_Program": false,
      "Location": {
        "Latitude": 33.6112,
        "Longitude": -117.8711
      },
      "Top_Dishes": [
        "Hamburger",
        "Deluxe Cheeseburger"
      ],
      "Open_Time": "2021-09-03T09:03:19.967+00:00"
    },
    {
      "id": "restaurant3",
      "City": "San Francisco",
      "Rating": 2,
      "Top_Dishes": [
        "Hot Dog",
        "French Fries"
      ]
    }
  ]
}'

応答

このエンドポイントには、202400404 の3つのステータスコード応答があります。

成功応答の例

ステータスコード 202 は、次の応答本文を返す可能性があります。

1
2
3
{
  "message": "success"
}

エラー応答の例

ステータスコード 400 は、次の応答本文を返す可能性があります。発生する可能性のあるエラーの詳細については、トラブルシューティングを参照してください。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "errors": [
    {
      "id": "invalid-fields",
      "message": "Some of the fields given do not exist in the catalog",
      "parameters": [
        "id"
      ],
      "parameter_values": [
        "restaurant1"
      ]
    }
  ],
  "message": "Invalid Request"
}

トラブルシューティング

次のテーブルに、返される可能性のあるエラーと、関連するトラブルシューティングステップを示します。

エラー トラブルシューティング
catalog-not-found カタログ名が有効であることを確認してください。
company-size-limit-already-reached カタログのストレージサイズ上限に達しています。ストレージ階層の詳細については、データストレージの制限を参照してください。
company-size-limit-surge リクエストが会社の残りのカタログストレージを超えています。より小さい更新で再試行してください。ストレージ階層の詳細については、データストレージの制限を参照してください。
ids-not-string 各項目IDが文字列であることを確認してください。
ids-not-unique 各項目IDが一意であることを確認してください。
ids-too-large 各項目IDの文字数制限は250文字です。
item-array-invalid items はオブジェクトの配列でなければなりません。
items-missing-ids 項目IDがない項目があります。各項目にIDがあることを確認してください。
items-too-large 項目の値は5,000文字を超えることはできません。
invalid-ids 項目ID名に使用できる文字は、アルファベット、数字、ハイフン、アンダースコアです。
invalid-fields APIリクエストで送信するすべてのフィールドが、すでにカタログに存在していることを確認してください。これはエラーに記載されているIDフィールドとは関係ありません。
invalid-keys-in-value-object 項目オブジェクトのキーに . または $ を含めることはできません。
too-deep-nesting-in-value-object 項目オブジェクトは50レベルを超えるネストを持つことはできません。
request-includes-too-many-items リクエストの項目数が多すぎます。リクエストごとの項目の上限は50個です。
unable-to-coerce-value 項目タイプは変換できません。
New Stuff!