Cette page a été traduite automatiquement et peut contenir des inexactitudes. Pour signaler une erreur de traduction, ouvrez un ticket sur GitHub.
Créer un catalogue
post
/catalogs
Utilisez cet endpoint pour créer un catalogue.
Conditions préalables
Pour utiliser cet endpoint, vous aurez besoin d’une clé API avec l’autorisation catalogs.create.
Limite de débit
Cet endpoint a une limite de débit partagée de 50 requêtes par minute entre tous les endpoints de catalogues synchrones, comme documenté dans Limites de débit de l’API.
Paramètres de requête
| Paramètre | Requis | Type de données | Description |
|---|---|---|---|
catalogs |
Requis | Tableau | Un tableau contenant des objets catalogue. Un seul objet catalogue est autorisé pour cette requête. |
Paramètres de l’objet catalogue
| Paramètre | Requis | Type de données | Description |
|---|---|---|---|
name |
Requis | Chaîne de caractères | Le nom du catalogue que vous souhaitez créer. |
description |
Requis | Chaîne de caractères | La description du catalogue que vous souhaitez créer. |
fields |
Requis | Tableau | Un tableau d’objets dans lequel l’objet contient les clés name et type. |
Exemple de requête
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
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": "object"
},
{
"name": "Top_Dishes",
"type": "array"
},
{
"name": "Created_At",
"type": "time"
}
]
}
]
}'
Réponse
Deux codes de statut de réponse existent pour cet endpoint : 201 et 400.
Exemple de réponse réussie
Le code de statut 201 pourrait renvoyer le corps de réponse suivant.
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
{
"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": "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"
}
Exemple de réponse échouée
Le code de statut 400 pourrait renvoyer le corps de réponse suivant. Consultez la section Résolution des problèmes pour plus d’informations sur les erreurs que vous pourriez rencontrer.
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"
}
Résolution des problèmes
Le tableau suivant répertorie les erreurs possibles et les étapes de résolution associées.
| Erreur | Résolution des problèmes |
|---|---|
catalog-array-invalid |
catalogs doit être un tableau d’objets. |
catalog-name-already-exists |
Un catalogue portant ce nom existe déjà. |
catalog-name-too-large |
La limite de caractères pour un nom de catalogue est de 250. |
description-too-long |
La limite de caractères pour la description est de 250. |
field-names-not-unique |
Le même nom de champ est référencé deux fois. |
field-names-too-large |
La limite de caractères pour un nom de champ est de 250. |
id-not-first-column |
Le champ id doit être le premier champ du tableau. Vérifiez que le type est une chaîne de caractères. |
invalid-catalog-name |
Le nom du catalogue ne peut contenir que des lettres, des chiffres, des traits d’union et des traits de soulignement. |
invalid-field-names |
Les noms de champs ne peuvent contenir que des lettres, des chiffres, des traits d’union et des traits de soulignement. |
invalid-field-types |
Assurez-vous que les types de champs sont valides. |
invalid-fields |
fields n’est pas formaté correctement. |
too-many-catalog-atoms |
Vous ne pouvez créer qu’un seul catalogue par requête. |
too-many-fields |
Le nombre de champs est limité à 500. |
New Stuff!