Éditer un produit du catalogue
/catalogs/{catalog_name}/items/{item_id}
Utilisez cet endpoint pour modifier un élément existant dans votre catalogue.
Conditions préalables
Pour utiliser cet endpoint, vous aurez besoin d’une clé API avec l’autorisation catalogs.update_item
.
Limite de débit
This endpoint has a shared rate limit of 50 requests per minute between all synchronous catalog item endpoints, as documented in API rate limits.
Paramètres de chemin
Paramètre | Requis | Type de données | Description |
---|---|---|---|
catalog_name |
Requis | Chaîne de caractères | Nom du catalogue. |
item_id |
Requis | Chaîne de caractères | L’ID du produit du catalogue. |
Paramètres de demande
Paramètre | Requis | Type de données | Description |
---|---|---|---|
items |
Requis | Tableau | Un tableau qui contient certains objets Produit. Les objets Produits devraient contenir les champs qui existent dans le catalogue à l’exception du champ id . Un seul objet de produit est autorisé par requête. |
Exemple de demande
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 PATCH 'https://rest.iad-03.braze.com/catalogs/restaurants/items/restaurant1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"items": [
{
"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"
}
]
}'
Les opérateurs $add
et $remove
ne s’appliquent qu’aux champs de type tableau et ne sont pris en charge que par les endpoints PATCH.
Réponse
Trois réponses de code de statut existent pour cet endpoint : 200
, 400
et 404
.
Exemple de réponse réussie
Le code de statut 200
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 |
---|---|
arbitrary-error |
Une erreur arbitraire est survenue. Veuillez réessayer ou contacter l’assistance. |
catalog-not-found |
Vérifiez que le nom du catalogue est valide. |
filtered-set-field-too-long |
La valeur du champ est utilisée dans un ensemble filtré qui dépasse la limite de caractères pour un produit. |
id-in-body |
Un ID de produit existe déjà dans le catalogue. |
ids-too-large |
La limite de caractères pour chaque ID de produit est de 250 caractères. |
invalid-ids |
Les caractères pris en charge pour les ID de produits sont les lettres, les nombres, les tirets et les traits de soulignement. |
invalid-fields |
Confirmez que les champs de la requête existent dans le catalogue. |
invalid-keys-in-value-object |
Les clés d’objet de produit ne peuvent pas inclure . ou $ . |
item-not-found |
Vérifiez que ce produit est dans le catalogue. |
item-array-invalid |
items doit être un tableau d’objets. |
items-too-large |
La limite de caractères pour chaque produit est de 5 000 caractères. |
request-includes-too-many-items |
Vous ne pouvez modifier qu’un produit de catalogue par requête. |
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 produits ne peuvent pas être convertis. |