Skip to content

Katalogartikel ersetzen

put

/catalogs/{catalog_name}/items/{item_id}

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

Wenn die item_id nicht gefunden wird, erstellt dieser Endpunkt den Artikel in Ihrem Katalog. Dieser Endpunkt ist synchron.

Voraussetzungen

Um diesen Endpunkt zu verwenden, benötigen Sie einen API-Schlüssel mit der Berechtigung catalogs.replace_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 Artikelobjekte 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
curl --location --request PUT '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": [
        "Hamburger",
        "Deluxe Cheeseburger"
      ],
      "Open_Time": "2021-09-03T09:03:19.967+00:00"
    }
  ]
}'

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 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 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 Entfernen Sie alle Artikel-IDs im Anfragekörper.
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 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 können nicht . oder $ enthalten.
item-already-exists Der Artikel ist bereits im Katalog vorhanden.
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 erstellen.
too-deep-nesting-in-value-object Artikel-Objekte können nicht mehr als 50 Verschachtelungsebenen haben.
unable-to-coerce-value Artikel-Typen können nicht umgewandelt werden.
New Stuff!