Skip to content

Katalogartikel ersetzen

put

/catalogs/{catalog_name}/items

Verwenden Sie diesen Endpunkt, um mehrere Artikel in Ihrem Katalog zu ersetzen.

Wenn ein Katalogartikel nicht vorhanden ist, erstellt dieser Endpunkt den Artikel in Ihrem Katalog. Jede Anfrage kann bis zu 50 Katalogartikel unterstützen. Dieser Endpunkt ist asynchron.

Voraussetzungen

Um diesen Endpunkt zu verwenden, benötigen Sie einen API-Schlüssel mit der Berechtigung catalogs.replace_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 Artikelobjekte enthält. Jedes Objekt muss eine ID haben. Die Artikelobjekte sollten Felder enthalten, die im Katalog vorhanden sind. Pro Anfrage sind bis zu 50 Artikelobjekte 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
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": [-73.988103, 40.779109],
      "Preferences": {
        "favorite_brand": "Nike",
        "shirt_size": "L"
      },
      "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"
      ]
    }
  ]
}'

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 Antwortkörper zurückgeben.

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

Beispiel für eine Fehlerantwort

Der Statuscode 400 könnte den folgenden Antwortkörper zurückgeben. Unter Fehlerbehebung finden Sie weitere Informationen zu Fehlern, die 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 mögliche zurückgegebene Fehler und die zugehörigen Schritte zur Fehlerbehebung.

Fehler Fehlerbehebung
catalog-not-found Prüfen Sie, ob der Katalogname gültig ist.
company-size-limit-already-reached Das Speicherlimit für Kataloge ist erreicht. Weitere Informationen zu Speicherstufen finden Sie unter Datenspeicherbeschränkungen.
company-size-limit-surge Die Anfrage überschreitet den verbleibenden Katalogspeicher Ihres Unternehmens. Versuchen Sie es erneut mit einem kleineren Update. Weitere Informationen zu Speicherstufen finden Sie unter Datenspeicherbeschränkungen.
ids-not-string Bestätigen Sie, dass jede Artikel-ID ein String ist.
ids-not-unique Prüfen Sie, ob jede Artikel-ID eindeutig ist.
ids-too-large Die Zeichenbegrenzung für jede Artikel-ID beträgt 250 Zeichen.
item-array-invalid items muss ein Array von Objekten sein.
items-missing-ids Einige Artikel haben keine Artikel-IDs. Bestätigen Sie, dass jeder Artikel eine ID hat.
items-too-large Artikelwerte dürfen 5.000 Zeichen nicht überschreiten.
invalid-ids Unterstützte Zeichen für Artikel-ID-Namen sind Buchstaben, Zahlen, Bindestriche und Unterstriche.
invalid-fields Stellen Sie sicher, dass alle Felder, die Sie in der API-Anfrage senden, bereits im Katalog vorhanden sind. Dies bezieht sich nicht auf das in der Fehlermeldung erwähnte ID-Feld.
invalid-keys-in-value-object Artikelobjekt-Schlüssel dürfen nicht . oder $ enthalten.
too-deep-nesting-in-value-object Artikelobjekte dürfen nicht mehr als 50 Verschachtelungsebenen haben.
request-includes-too-many-items Ihre Anfrage enthält zu viele Artikel. Das Limit pro Anfrage beträgt 50 Artikel.
unable-to-coerce-value Artikeltypen können nicht konvertiert werden.
New Stuff!