Skip to content

Remplacer un élément du catalogue

put

/catalogs/{catalog_name}/items/{item_id}

Utilisez cet endpoint pour remplacer un élément dans votre catalogue.

Si l’item_id n’est pas trouvé, cet endpoint créera l’élément dans votre catalogue. Cet endpoint est synchrone.

Conditions préalables

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

Limite de débit

Cet endpoint a une limite de débit partagée de 50 requêtes par minute entre tous les endpoints d’éléments de catalogue synchrones, 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.
item_id Requis Chaîne de caractères L’ID de l’élément 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 les champs qui existent dans le catalogue, à l’exception du champ id. Un seul objet d’élément est autorisé 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
curl --location --request PUT '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": [-73.988103, 40.779109],
      "Preferences": {
        "favorite_brand": "Nike",
        "shirt_size": "L"
      },
      "Top_Dishes": [
        "Hamburger",
        "Deluxe Cheeseburger"
      ],
      "Open_Time": "2021-09-03T09:03:19.967+00:00"
    }
  ]
}'

Réponse

Trois codes de statut sont possibles 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 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": "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 possibles et les étapes de résolution 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 élément.
id-in-body Supprimez tous les ID d’éléments dans le corps de la requête.
ids-too-large La limite de caractères pour chaque ID d’élément est de 250 caractères.
invalid-ids Les caractères pris en charge pour les noms d’ID d’éléments sont les lettres, les chiffres, les tirets et les 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 d’élément ne peuvent pas contenir . ou $.
item-already-exists L’élément existe déjà dans le catalogue.
item-array-invalid items doit être un tableau d’objets.
items-too-large La limite de caractères pour chaque élément est de 5 000 caractères.
request-includes-too-many-items Vous ne pouvez créer qu’un seul élément de catalogue par requête.
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!