Créer une sélection dans le catalogue
/catalogs/{catalog_name}/selections
Utilisez cet endpoint pour créer une sélection dans votre catalogue.
Conditions préalables
Pour utiliser cet endpoint, vous aurez besoin d’une clé API avec l’autorisation catalogs.create_selection.
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 champs et sélections de catalogues asynchrones, comme documenté dans Limites de débit de l’API.
Paramètres de chemin
| Paramètre | Requis | Type de données | Description |
|---|---|---|---|
catalog_name |
Requis | Chaîne de caractères | Nom du catalogue. |
Paramètres de requête
| Paramètre | Requis | Type de données | Description |
|---|---|---|---|
selection |
Requis | Objet | Un objet contenant les critères de sélection. Consultez l’objet de sélection de catalogue pour une description complète de l’objet et de ses champs. |
Paramètres de l’objet de sélection
| Paramètre | Requis | Type de données | Description |
|---|---|---|---|
name |
Requis | Chaîne de caractères | Le nom de la sélection du catalogue. |
description |
Facultatif | Chaîne de caractères | Une description de la sélection du catalogue. |
external_id |
Requis | Chaîne de caractères | Un identifiant unique pour la sélection. |
source |
Facultatif | Chaîne de caractères | La source des données du catalogue. Pour les catalogues Shopify, utilisez "Shopify". Les valeurs acceptées sont "Shopify" et "Braze". |
filters |
Facultatif | Tableau | Un tableau d’objets filtres à appliquer aux éléments du catalogue. Vous pouvez spécifier jusqu’à quatre filtres par requête. Si aucun filtre n’est fourni, tous les éléments du catalogue sont inclus. |
results_limit |
Facultatif | Entier | Le nombre maximal de résultats à renvoyer. Ce nombre doit être compris entre 1 et 50. |
sort_field |
Facultatif | Chaîne de caractères | Le champ selon lequel trier les résultats. Ce paramètre doit être associé à sort_order. Si sort_field et sort_order ne sont pas présents, les résultats sont renvoyés dans un ordre aléatoire. |
sort_order |
Facultatif | Chaîne de caractères | L’ordre de tri des résultats. Les valeurs acceptées sont "asc" (ascendant) ou "desc" (descendant). Ce paramètre doit être associé à sort_field. Si sort_field et sort_order ne sont pas présents, les résultats sont renvoyés dans un ordre aléatoire. |
Les paramètres sort_field et sort_order doivent être utilisés conjointement. Si vous fournissez l’un sans l’autre, ou si vous omettez les deux paramètres, les résultats de la sélection sont renvoyés dans un ordre aléatoire.
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
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",
"filters": [
{
"field": "City",
"operator": "equals",
"value": "NYC"
},
{
"field": "Rating",
"operator": "greater than",
"value": 7
}
],
"results_limit": 10,
"sort_field": "Rating",
"sort_order": "desc"
}
}'
Opérateurs de filtrage
| Type de champ | Opérateurs pris en charge |
|---|---|
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 |
L’API prend en charge un maximum de quatre filtres par requête de sélection. Dans le tableau de bord de Braze, vous pouvez ajouter jusqu’à 10 filtres par sélection. Les filtres sont appliqués dans l’ordre dans lequel ils apparaissent dans le tableau.
Réponse
Trois codes de statut de réponse existent pour cet endpoint : 202, 400 et 404.
Exemple de réponse réussie
Le code de statut 202 pourrait renvoyer le corps de réponse suivant.
1
2
3
{
"message": "success"
}
Exemple de réponse échouée
Le code de statut 400 pourrait renvoyer le corps de réponse suivant. Consultez la 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-not-found",
"message": "Could not find catalog",
"parameters": [
"catalog_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-not-found |
Vérifiez que le nom du catalogue est valide. |
company-size-limit-already-reached |
La limite de taille de stockage du catalogue est atteinte. |
selection-limit-reached |
La limite de sélections du catalogue est atteinte. |
invalid-selection |
Vérifiez que la sélection est valide. |
too-many-filters |
Vérifiez si la sélection comporte trop de filtres. |
selection-name-already-exists |
Vérifiez si le nom de la sélection existe déjà dans le catalogue. |
selection-has-invalid-filter |
Vérifiez que le filtre de sélection est valide. |
selection-invalid-results-limit |
Vérifiez que la limite de résultats de la sélection est valide. |
invalid-sorting |
Vérifiez que le tri de la sélection est valide. |
invalid-sort-field |
Vérifiez que le champ de tri de la sélection est valide. |
invalid-sort-order |
Vérifiez que l’ordre de tri de la sélection est valide. |
selection-contains-too-many-arrays |
Vérifiez si la sélection contient plus d’un champ de type array. Un seul est pris en charge. |