Skip to content

Créer plusieurs produits du catalogue

post

/catalogs/{catalog_name}/items

Utilisez cet endpoint pour créer plusieurs produits dans votre catalogue.

Chaque requête peut prendre en charge jusqu’à 50 produits. Cet endpoint est asynchrone.

Conditions préalables

Pour utiliser cet endpoint, vous aurez besoin d’une clé API avec l’autorisation catalogs.add_items.

Limite de débit

Cet endpoint a une limite de débit partagée de 16 000 requêtes par minute entre tous les endpoints d’éléments de catalogue 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
items Requis Tableau Un tableau qui contient des objets produit. Les objets produit doivent contenir tous les champs existants dans le catalogue. Jusqu’à 50 objets produit sont autorisés par requête.

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
50
51
52
53
54
55
56
57
58
59
60
61
curl --location --request POST 'https://rest.iad-03.braze.com/catalogs/restaurants/items' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
  "items": [
    {
      "id": "restaurant1",
      "Name": "Restaurant1",
      "City": "New York",
      "Cuisine": "American",
      "Rating": 5,
      "Loyalty_Program": true,
      "Location": [-73.988103, 40.779109],
      "Preferences": {
        "favorite_brand": "Nike",
        "shirt_size": "L"
      },
      "Top_Dishes": [
        "Hamburger",
        "Deluxe Cheeseburger"
      ],
      "Created_At": "2022-11-01T09:03:19.967+00:00"
    },
    {
      "id": "restaurant2",
      "Name": "Restaurant2",
      "City": "New York",
      "Cuisine": "American",
      "Rating": 10,
      "Loyalty_Program": true,
      "Location": [-73.988103, 40.779109],
      "Preferences": {
        "favorite_brand": "Nike",
        "shirt_size": "L"
      },
      "Top_Dishes": [
        "Hot Dog",
        "French Fries"
      ],
      "Created_At": "2022-11-02T09:03:19.967+00:00"
    },
    {
      "id": "restaurant3",
      "Name": "Restaurant3",
      "City": "New York",
      "Cuisine": "American",
      "Rating": 3,
      "Loyalty_Program": false,
      "Location": [-73.988103, 40.779109],
      "Preferences": {
        "favorite_brand": "Nike",
        "shirt_size": "L"
      },
      "Top_Dishes": [
        "Buffalo Wings",
        "Philly Cheesesteak"
      ],
      "Created_At": "2022-11-03T09:03:19.967+00:00"
    }
  ]
}'

Réponse

Trois codes de statut sont possibles 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 section Résolution des problèmes pour plus d’informations concernant les erreurs que vous pourriez rencontrer.

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"
}

Résolution des problèmes

Le tableau suivant répertorie les erreurs renvoyées possibles et les étapes de résolution des problèmes associées.

Erreur Résolution des problèmes
catalog-not-found Vérifiez que le nom du catalogue est valide.
ids-not-strings Les ID de produit doivent être de type chaîne de caractères.
ids-not-unique Les ID de produit doivent être uniques au sein de la requête.
ids-too-large Les ID de produit ne peuvent pas contenir plus de 250 caractères.
invalid-ids Les ID de produit peuvent uniquement inclure des lettres, des chiffres, des traits d’union et des traits de soulignement.
invalid-fields Confirmez que tous les champs que vous envoyez dans la requête API existent déjà dans le catalogue. Cela n’est pas lié au champ ID mentionné dans l’erreur.
invalid-keys-in-value-object Les clés d’objet de produit ne peuvent pas inclure . ou $.
item-array-invalid items doit être un tableau d’objets.
items-missing-ids Certains produits n’ont pas d’ID. Vérifiez que chaque produit possède un ID de produit.
items-too-large Les valeurs de produit ne peuvent pas dépasser 5 000 caractères.
request-includes-too-many-items Votre requête contient trop de produits. La limite de produits par requête est de 50.
too-deep-nesting-in-value-object Les objets de produit ne peuvent pas avoir plus de 50 niveaux d’imbrication.
unable-to-coerce-value Les types de produit ne peuvent pas être convertis.
New Stuff!