Katalogartikel bearbeiten
/catalogs/{catalog_name}/items/{item_id}
Verwenden Sie diesen Endpunkt, um einen bestehenden Artikel in Ihrem Katalog zu bearbeiten.
Voraussetzungen
Um diesen Endpunkt zu verwenden, benötigen Sie einen API-Schlüssel mit der Berechtigung catalogs.update_item.
Rate-Limit
Für diesen Endpunkt gilt ein gemeinsames Rate-Limit von 50 Anfragen pro Minute für alle synchronen Katalogeintrags-Endpunkte, wie in API-Rate-Limits dokumentiert.
Pfad-Parameter
| Parameter | Erforderlich | Datentyp | Beschreibung |
|---|---|---|---|
catalog_name |
Erforderlich | String | Name des Katalogs. |
item_id |
Erforderlich | String | Die ID des Katalogartikels. |
Anfrage-Parameter
| Parameter | Erforderlich | Datentyp | Beschreibung |
|---|---|---|---|
items |
Erforderlich | Array | Ein Array, das Artikel-Objekte enthält. Die Artikel-Objekte sollten Felder enthalten, die im Katalog vorhanden sind, mit Ausnahme des Feldes id. Pro Anfrage ist nur ein Artikel-Objekt zulässig. |
Beispielanfrage
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
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": [-73.988103, 40.779109],
"Preferences": {
"favorite_brand": "Nike",
"shirt_size": "L"
},
"Top_Dishes": {
"$add": [
"Biscuits",
"Coleslaw"
],
"$remove": [
"French Fries"
]
},
"Open_Time": "2021-09-03T09:03:19.967+00:00"
}
]
}'

- Das Feld
Locationverwendet den Datentypgeo, der ein Array im Format[longitude, latitude]erwartet. - Die Operatoren
$addund$removesind nur auf Felder vom Typ Array anwendbar und werden nur von PATCH-Endpunkten unterstützt.
Antwort
Es gibt drei Statuscode-Antworten für diesen Endpunkt: 200, 400 und 404.
Beispiel für eine erfolgreiche Antwort
Der Statuscode 200 könnte den folgenden Antworttext zurückgeben.
1
2
3
{
"message": "success"
}
Beispiel für eine Fehlerantwort
Der Statuscode 400 könnte den folgenden Antworttext zurückgeben. Unter Fehlerbehebung finden Sie weitere Informationen zu Fehlern, die bei Ihnen auftreten können.
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"
}
Fehlerbehebung
In der folgenden Tabelle finden Sie eine Liste möglicher zurückgegebener Fehler und die entsprechenden Schritte zur Fehlerbehebung.
| Fehler | Fehlerbehebung |
|---|---|
arbitrary-error |
Es ist ein unerwarteter Fehler aufgetreten. Bitte versuchen Sie es erneut oder kontaktieren Sie den Support. |
catalog-not-found |
Prüfen Sie, ob der Katalogname gültig ist. |
filtered-set-field-too-long |
Der Feldwert wird in einer gefilterten Menge verwendet, die die Zeichengrenze für einen Artikel überschreitet. |
id-in-body |
Eine Artikel-ID existiert bereits im Katalog. |
ids-too-large |
Die Zeichenbegrenzung für jede Artikel-ID beträgt 250 Zeichen. |
invalid-ids |
Unterstützte Zeichen für Artikel-ID-Namen sind Buchstaben, Zahlen, Bindestriche und Unterstriche. |
invalid-fields |
Bestätigen Sie, dass die Felder in der Anfrage im Katalog vorhanden sind. |
invalid-keys-in-value-object |
Artikel-Objektschlüssel dürfen weder . noch $ enthalten. |
item-not-found |
Prüfen Sie, ob der Artikel im Katalog enthalten ist. |
item-array-invalid |
items muss ein Array von Objekten sein. |
items-too-large |
Das Zeichenlimit für jeden Artikel beträgt 5.000 Zeichen. |
request-includes-too-many-items |
Sie können pro Anfrage nur einen Katalogartikel bearbeiten. |
too-deep-nesting-in-value-object |
Artikel-Objekte dürfen nicht mehr als 50 Verschachtelungsebenen haben. |
unable-to-coerce-value |
Artikeltypen können nicht konvertiert werden. |