Katalogauswahl erstellen
/catalogs/{catalog_name}/selections
Verwenden Sie diesen Endpunkt, um eine Auswahl in Ihrem Katalog zu erstellen.
Voraussetzungen
Um diesen Endpunkt zu verwenden, benötigen Sie einen API-Schlüssel mit der Berechtigung catalogs.create_selection.
Rate-Limit
Für diesen Endpunkt gilt ein gemeinsames Rate-Limit von 50 Anfragen pro Minute für alle asynchronen Katalogfelder- und Auswahl-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 |
|---|---|---|---|
selection |
Erforderlich | Objekt | Ein Objekt, das Auswahlkriterien enthält. Eine vollständige Aufschlüsselung des Objekts und seiner Felder finden Sie unter Katalogauswahl-Objekt. |
Parameter des Auswahlobjekts
| Parameter | Erforderlich | Datentyp | Beschreibung |
|---|---|---|---|
name |
Erforderlich | String | Der Name der Katalogauswahl. |
description |
Optional | String | Eine Beschreibung der Katalogauswahl. |
external_id |
Optional | String | Ein eindeutiger Bezeichner für die Auswahl. |
source |
Optional | String | Die Quelle der Katalogdaten. Für Shopify-Kataloge setzen Sie diesen Wert auf "Shopify". Zulässige Werte sind "Shopify" und "Braze". |
filters |
Erforderlich | Array | Ein Array von Filterobjekten, die auf die Katalogartikel angewendet werden sollen. Sie können bis zu zehn Filter pro Anfrage angeben. Wenn ein leeres Filter-Array angegeben wird, werden alle Artikel aus dem Katalog einbezogen. |
results_limit |
Erforderlich | Integer | Die maximale Anzahl der zurückzugebenden Ergebnisse. Es muss sich um eine Zahl zwischen 1 und 50 handeln. |
sort_field |
Optional | String | Das Feld, nach dem die Ergebnisse sortiert werden sollen. Dies muss zusammen mit sort_order verwendet werden. Wenn weder sort_field noch sort_order vorhanden sind, werden die Ergebnisse in zufälliger Reihenfolge zurückgegeben. |
sort_order |
Optional | String | Die Reihenfolge, in der die Ergebnisse sortiert werden sollen. Zulässige Werte sind "asc" (aufsteigend) oder "desc" (absteigend). Dies muss zusammen mit sort_field verwendet werden. Wenn weder sort_field noch sort_order vorhanden sind, werden die Ergebnisse in zufälliger Reihenfolge zurückgegeben. |

Die Parameter sort_field und sort_order müssen zusammen verwendet werden. Wenn Sie nur einen der beiden Parameter angeben oder beide Parameter weglassen, werden die Auswahlergebnisse in zufälliger Reihenfolge zurückgegeben.
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 POST 'https://rest.iad-03.braze.com/catalogs/restaurants/selections' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"selection": {
"name": "favorite-restaurants",
"description": "Favorite restaurants in NYC",
"external_id": "favorite-nyc-restaurants",
"source": "Braze",
"filters": [
{
"field": "City",
"operator": "equals",
"value": "NYC"
},
{
"field": "Rating",
"operator": "greater than",
"value": 7
}
],
"results_limit": 10,
"sort_field": "Rating",
"sort_order": "desc"
}
}'
Filteroperatoren
| Feldtyp | Unterstützte Operatoren |
|---|---|
string |
equals, does not equal |
number |
equals, does not equal, greater than, less than |
boolean |
is |
time |
before, after |
array |
includes value, does not include value |
geo |
geo within, geo outside |

Die API unterstützt maximal zehn Filter pro Auswahlanfrage. Filter werden in der Reihenfolge angewendet, in der sie im Array erscheinen.

Wenn Sie einen geo-Filter anwenden, sortiert das System die Ergebnisse automatisch nach Entfernung, wobei das nächstgelegene Element zuerst angezeigt wird – unabhängig von den Parametern sort_field und sort_order.
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": "catalog-not-found",
"message": "Could not find catalog",
"parameters": [
"catalog_name"
],
"parameter_values": [
"restaurants"
]
}
],
"message": "Invalid Request"
}
Fehlerbehebung
In der folgenden Tabelle finden Sie mögliche zurückgegebene Fehler und die entsprechenden Schritte zur Fehlerbehebung.
| Fehler | Fehlerbehebung |
|---|---|
catalog-not-found |
Prüfen Sie, ob der Katalogname gültig ist. |
company-size-limit-already-reached |
Das Limit für die Katalogspeichergröße ist erreicht. |
selection-limit-reached |
Das Limit für die Katalogauswahl ist erreicht. |
invalid-selection |
Prüfen Sie, ob die Auswahl gültig ist. |
too-many-filters |
Prüfen Sie, ob die Auswahl zu viele Filter enthält. |
selection-name-already-exists |
Prüfen Sie, ob der Name der Auswahl bereits im Katalog vorhanden ist. |
selection-has-invalid-filter |
Prüfen Sie, ob der Auswahlfilter gültig ist. |
selection-invalid-results-limit |
Prüfen Sie, ob das Ergebnislimit der Auswahl gültig ist. |
invalid-sorting |
Prüfen Sie, ob die Auswahlsortierung gültig ist. |
invalid-sort-field |
Prüfen Sie, ob das Sortierfeld der Auswahl gültig ist. |
invalid-sort-order |
Prüfen Sie, ob die Sortierreihenfolge der Auswahl gültig ist. |
selection-contains-too-many-arrays |
Prüfen Sie, ob die Auswahl mehr als ein Feld mit dem Typ array enthält. Es wird nur eines unterstützt. |