Mehrere Katalogartikel bearbeiten
/catalogs/{catalog_name}/items
Verwenden Sie diesen Endpunkt, um mehrere vorhandene Artikel in Ihrem Katalog zu bearbeiten.
Jede Anfrage kann bis zu 50 Artikel enthalten. Dieser Endpunkt ist asynchron.
Voraussetzungen
Um diesen Endpunkt zu verwenden, benötigen Sie einen API-Schlüssel mit der Berechtigung catalogs.update_items.
Rate-Limit
Für diesen Endpunkt gilt ein gemeinsames Rate-Limit von 16.000 Anfragen pro Minute für alle asynchronen Katalogeintrags-Endpunkte, wie in API-Rate-Limits dokumentiert.
Pfad-Parameter
| Parameter | Erforderlich | Datentyp | Beschreibung |
|---|---|---|---|
catalog_name |
Erforderlich | String | Name des Katalogs. |
Anfrage-Parameter
| Parameter | Erforderlich | Datentyp | Beschreibung |
|---|---|---|---|
items |
Erforderlich | Array | Ein Array, das Artikel-Objekte enthält. Die Artikelobjekte sollten Felder enthalten, die im Katalog vorhanden sind. Es sind bis zu 50 Artikelobjekte pro Anfrage 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
27
28
29
30
31
32
33
34
35
36
curl --location --request PATCH '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": [-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"
},
{
"id": "restaurant3",
"City": "San Francisco",
"Rating": 2,
"Top_Dishes": [
"Buffalo Wings",
"Philly Cheesesteak"
]
}
]
}'

- 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: 202, 400 und 404.
Beispiel für eine erfolgreiche Antwort
Der Statuscode 202 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 |
|---|---|
catalog-not-found |
Prüfen Sie, ob der Katalogname gültig ist. |
ids-too-large |
Artikel-IDs dürfen nicht mehr als 250 Zeichen lang sein. |
ids-not-strings |
Artikel-IDs müssen vom Typ String sein. |
ids-not-unique |
Die Artikel-IDs müssen in der Anfrage eindeutig sein. |
invalid-ids |
Artikel-IDs dürfen nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten. |
invalid-fields |
Stellen Sie sicher, dass alle Felder, die Sie in der API-Anfrage senden, bereits im Katalog vorhanden sind. Dies hat nichts mit dem in der Fehlermeldung erwähnten ID-Feld zu tun. |
invalid-keys-in-value-object |
Artikel-Objektschlüssel dürfen nicht . oder $ enthalten. |
items-missing-ids |
Einige Artikel haben keine Artikel-IDs. Prüfen Sie, ob jeder Artikel eine Artikel-ID hat. |
item-array-invalid |
items muss ein Array von Objekten sein. |
items-too-large |
Artikelwerte dürfen nicht mehr als 5.000 Zeichen umfassen. |
request-includes-too-many-items |
Ihre Anfrage enthält zu viele Artikel. Die Anzahl der Artikel pro Anfrage ist auf 50 begrenzt. |
too-deep-nesting-in-value-object |
Artikel-Objekte dürfen nicht mehr als 50 Verschachtelungsebenen haben. |
unable-to-coerce-value |
Artikeltypen können nicht umgewandelt werden. |