Katalog erstellen
/catalogs
Verwenden Sie diesen Endpunkt, um einen Katalog zu erstellen.
Voraussetzungen
Um diesen Endpunkt zu verwenden, benötigen Sie einen API-Schlüssel mit der Berechtigung catalogs.create.
Rate-Limit
Für diesen Endpunkt gilt ein gemeinsames Rate-Limit von 50 Anfragen pro Minute für alle synchronen Katalog-Endpunkte, wie in API-Rate-Limits dokumentiert.
Anfrageparameter
| Parameter | Erforderlich | Datentyp | Beschreibung |
|---|---|---|---|
catalogs |
Erforderlich | Array | Ein Array, das Katalogobjekte enthält. Für diese Anfrage ist nur ein Katalogobjekt zulässig. |
Katalogobjekt-Parameter
| Parameter | Erforderlich | Datentyp | Beschreibung |
|---|---|---|---|
name |
Erforderlich | String | Der Name des Katalogs, den Sie erstellen möchten. |
description |
Erforderlich | String | Die Beschreibung des Katalogs, den Sie erstellen möchten. |
fields |
Erforderlich | Array | Ein Array von Objekten, wobei das Objekt die Schlüssel name und type enthält. |
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
curl --location --request POST 'https://rest.iad-03.braze.com/catalogs' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"catalogs": [
{
"name": "restaurants",
"description": "My Restaurants",
"fields": [
{
"name": "id",
"type": "string"
},
{
"name": "Name",
"type": "string"
},
{
"name": "City",
"type": "string"
},
{
"name": "Cuisine",
"type": "string"
},
{
"name": "Rating",
"type": "number"
},
{
"name": "Loyalty_Program",
"type": "boolean"
},
{
"name": "Location",
"type": "geo"
},
{
"name": "Preferences",
"type": "object"
},
{
"name": "Top_Dishes",
"type": "array"
},
{
"name": "Created_At",
"type": "time"
}
]
}
]
}'

Der Datentyp geo speichert eine geografische Koordinate als Array im Format [longitude, latitude]. Zum Beispiel [-73.988103, 40.779109].
Antwort
Für diesen Endpunkt gibt es zwei Statuscode-Antworten: 201 und 400.
Beispiel für eine erfolgreiche Antwort
Der Statuscode 201 könnte den folgenden Antworttext zurückgeben.
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{
"catalogs": [
{
"description": "My Restaurants",
"fields": [
{
"name": "id",
"type": "string"
},
{
"name": "Name",
"type": "string"
},
{
"name": "City",
"type": "string"
},
{
"name": "Cuisine",
"type": "string"
},
{
"name": "Rating",
"type": "number"
},
{
"name": "Loyalty_Program",
"type": "boolean"
},
{
"name": "Location",
"type": "geo"
},
{
"name": "Preferences",
"type": "object"
},
{
"name": "Top_Dishes",
"type": "array"
},
{
"name": "Created_At",
"type": "time"
}
],
"name": "restaurants",
"num_items": 0,
"updated_at": "2022-11-02T20:04:06.879+00:00"
}
],
"message": "success"
}
Beispiel einer Fehlerantwort
Der Statuscode 400 könnte den folgenden Antworttext 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-name-already-exists",
"message": "A catalog with that name already exists",
"parameters": [
"name"
],
"parameter_values": [
"restaurants"
]
}
],
"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-array-invalid |
catalogs muss ein Array von Objekten sein. |
catalog-name-already-exists |
Ein Katalog mit diesem Namen existiert bereits. |
catalog-name-too-large |
Das Zeichenlimit für einen Katalognamen beträgt 250. |
description-too-long |
Das Zeichenlimit für die Beschreibung beträgt 250. |
field-names-not-unique |
Derselbe Feldname wird zweimal referenziert. |
field-names-too-large |
Das Zeichenlimit für einen Feldnamen beträgt 250. |
id-not-first-column |
Die id muss das erste Feld im Array sein. Prüfen Sie, ob der Typ ein String ist. |
invalid-catalog-name |
Der Katalogname darf nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten. |
invalid-field-names |
Felder dürfen nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten. |
invalid-field-types |
Stellen Sie sicher, dass die Feldtypen gültig sind. |
invalid-fields |
fields ist nicht korrekt formatiert. |
too-many-catalog-atoms |
Sie können nur einen Katalog pro Anfrage erstellen. |
too-many-fields |
Die Anzahl der Felder ist auf 500 begrenzt. |