カタログ項目を編集する
patch
/catalogs/{catalog_name}/items/{item_id}
このエンドポイントを使用して、カタログの既存のアイテムを編集する。
前提条件
このエンドポイントを使用するには、API キーとcatalogs.update_itemの権限が必要です。
レート制限
このエンドポイントは、API レート制限で説明されているように、すべての同期カタログアイテムエンドポイント間で毎分50リクエストの共有レート制限があります。
パスパラメーター
| パラメータ | required | データ型 | 説明 | 
|---|---|---|---|
| catalog_name | 必須 | 文字列 | カタログ名。 | 
| item_id | 必須 | 文字列 | カタログ項目のID。 | 
リクエストパラメーター
| パラメーター | required | データ型 | 説明 | 
|---|---|---|---|
| items | required | 配列 | アイテム・オブジェクトを含む配列。項目オブジェクトには、 idフィールドを除き、カタログに存在するフィールドを含める必要があります。1つのリクエストにつき、1つのアイテムオブジェクトのみが許可される。 | 
例のリクエスト
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
curl --location --request PATCH 'https://rest.iad-03.braze.com/catalogs/restaurants/items/restaurant1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
  "items": [
    {
      "Name": "Restaurant",
      "Loyalty_Program": false,
      "Location": {
        "Latitude": 33.6112,
        "Longitude": -117.8711
      },
      "Top_Dishes": {
        "$add": [
          "Biscuits",
          "Coleslaw"
        ],
        "$remove": [
          "French Fries"
        ]
      },
      "Open_Time": "2021-09-03T09:03:19.967+00:00"
    }
  ]
}'
 note: 
$add および $remove 演算子は配列型フィールドにのみ適用可能であり、PATCH エンドポイントでのみサポートされます。
応答
このエンドポイントには、200、400、404 という 3 つのステータスコード応答があります。
成功応答の例
ステータスコード 200 は、次の応答本文を返す可能性があります。
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"
}
トラブルシューティング
次のテーブルに、返される可能性のあるエラーと、関連するトラブルシューティングステップを示します。
| エラー | トラブルシューティング | 
|---|---|
| arbitrary-error | 任意のエラーが発生した。もう一度試すか、サポートに連絡する。 | 
| catalog-not-found | カタログ名が有効であることを確認する。 | 
| filtered-set-field-too-long | フィールド値は、項目の文字数制限を超えるフィルターセットで使用されている。 | 
| id-in-body | アイテムIDがすでにカタログに存在する。 | 
| ids-too-large | 各アイテムIDの文字数制限は250文字である。 | 
| invalid-ids | アイテムID名に使用できる文字は、アルファベット、数字、ハイフン、アンダースコアである。 | 
| invalid-fields | リクエストのフィールドがカタログに存在することを確認する。 | 
| invalid-keys-in-value-object | 項目オブジェクトのキーに .または$を含めることはできません。 | 
| item-not-found | その商品がカタログに掲載されているか確認する。 | 
| item-array-invalid | itemsはオブジェクト配列でなければなりません。 | 
| items-too-large | 各項目の文字数制限は5,000文字である。 | 
| request-includes-too-many-items | 1つのリクエストにつき1つのカタログ項目しか編集できない。 | 
| too-deep-nesting-in-value-object | アイテム・オブジェクトは50レベル以上の入れ子を持つことはできない。 | 
| unable-to-coerce-value | 項目タイプは変換できません。 | 
New Stuff!
 
  GitHub でこのページを編集
   GitHub でこのページを編集