Skip to content

Modifier plusieurs produits du catalogue

patch

/catalogs/{catalog_name}/items

Utilisez cet endpoint pour modifier plusieurs éléments existants dans votre catalogue.

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

Conditions préalables

Pour utiliser cet endpoint, vous aurez besoin d’une clé API avec l’autorisation catalogs.update_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 contenant des objets d’éléments. Les objets d’éléments doivent contenir des champs qui existent dans le catalogue. Jusqu’à 50 objets d’éléments 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
curl --location --request PATCH '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": "Restaurant",
      "Loyalty_Program": false,
      "Location": {
        "Latitude": 33.6112,
        "Longitude": -117.8711
      },
      "Top_Dishes": {
        "$add": [
          "Biscuits",
          "Coleslaw"
        ],
        "$remove": [
          "French Fries"
        ]
      },
      "Open_Time": "2021-09-03T09:03:19.967+00:00"
    },
    {
      "id": "restaurant3",
      "City": "San Francisco",
      "Rating": 2,
      "Top_Dishes": [
        "Buffalo Wings",
        "Philly Cheesesteak"
      ]
    }
  ]
}'

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 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-too-large Les ID d’éléments ne peuvent pas contenir plus de 250 caractères.
ids-not-strings Les ID d’éléments doivent être de type chaîne de caractères.
ids-not-unique Les ID d’éléments doivent être uniques au sein de la requête.
invalid-ids Les ID d’éléments 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’a rien à voir avec le champ ID mentionné dans l’erreur.
invalid-keys-in-value-object Les clés d’objet d’élément ne peuvent pas inclure . ou $.
items-missing-ids Certains éléments n’ont pas d’ID. Vérifiez que chaque élément possède un ID d’élément.
item-array-invalid items doit être un tableau d’objets.
items-too-large Les valeurs d’éléments ne peuvent pas dépasser 5 000 caractères.
request-includes-too-many-items Votre requête contient trop d’éléments. La limite d’éléments par requête est de 50.
too-deep-nesting-in-value-object Les objets d’éléments ne peuvent pas avoir plus de 50 niveaux d’imbrication.
unable-to-coerce-value Les types d’éléments ne peuvent pas être convertis.
New Stuff!