カタログ項目を更新
put
/catalogs/{catalog_name}/items
このエンドポイントを使用して、カタログ内の複数のアイテムを更新します。
カタログ項目が存在しない場合、このエンドポイントはカタログに項目を作成します。各リクエストは最大50のカタログ項目をサポートすることができます。このエンドポイントは非同期である。
前提条件
このエンドポイントを使用するには、catalogs.replace_items
パーミッションを持つAPI キーが必要です。
レート制限
This endpoint has a shared rate limit of 16,000 requests per minute between all asynchronous catalog item endpoints, as documented in API rate limits.
経路パラメータ
パラメータ|必須|データ型|説明 |
---|
catalog_name |必須|文字列|カタログ名。 |
リクエストパラメータ
パラメータ|必須|データ型|説明 |
---|
items |必須|配列|アイテム・オブジェクトを含む配列。各オブジェクトはIDを持たなければならない。アイテム・オブジェクトは、カタログに存在するフィールドを含んでいなければならない。1回のリクエストにつき、アイテムオブジェクトは50個まで許可される。 |
リクエスト例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
},
"Open_Time": "2021-09-03T09:03:19.967+00:00"
},
{
"id": "restaurant3",
"City": "San Francisco",
"Rating": 2
}
]
}'
応答
このエンドポイントには、202
、400
、404
の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 |
カタログ名が有効であることを確認する。 |
ids-not-string |各アイテムIDが文字列であることを確認する。 |
|
ids-not-unique |各アイテムIDが一意であることを確認する。 |
|
ids-too-large |各アイテムIDの文字数制限は250文字です。 |
|
item-array-invalid |
items はオブジェクトの配列でなければならない。 |
items-missing-ids |各アイテムが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 |
リクエストの項目数が多すぎます。1回のリクエストの上限は50個です。 |
unable-to-coerce-value |アイテムタイプは変換できません。 |