Aller au contenu
ShopentlyLearn

Modifier les données de la boutique

L’API permet de modifier les données de votre boutique, par exemple la description ou le prix d’un produit.

Modifier certains champs

Pour modifier la description d’un produit, inutile d’envoyer toutes ses données. Dans la requête PATCH, indiquez les champs à modifier et les autres champs exigés par cette opération. Les autres données du produit restent inchangées.

Champ omis
Sa valeur reste inchangée.
null
Envoyer null efface la valeur si le champ l’autorise. Vérifiez la description de l’opération.
Chaîne vide
"" désigne une chaîne vide. Elle diffère de null et tous les champs ne l’acceptent pas.

Cet exemple supprime la description du produit en allemand. Son nom et ses descriptions dans les autres langues restent inchangés.

PATCH/api/v1/products/example?locale=de

Requête cURL

curl --disable --globoff --fail-with-body --silent --show-error \
  --proto '=https' --connect-timeout 5 --max-time 30 \
  --request PATCH \
  --url 'https://shop.onshopently.com/api/v1/products/example?locale=de' \
  --header 'Authorization: Bearer EXAMPLE_ACCESS_TOKEN' \
  --header 'Idempotency-Key: example-product-clear-translation' \
  --header 'Content-Type: application/json' \
  --data-raw '{"description":null,"expected_version":1}'

Réponse

{
  "data": {
    "deleted": false,
    "id": "example",
    "version": 2
  },
  "meta": {
    "request_id": "example"
  }
}

Si vous ne recevez pas de réponse

L’absence de réponse ne signifie pas forcément que la modification n’a pas été enregistrée. La connexion a pu être interrompue après l’enregistrement.

Pour enregistrer des données, ajoutez l’en-tête Idempotency-Key avec une valeur unique. Si vous ne recevez pas de réponse et renvoyez la même modification, gardez la même clé, la même URL, la même méthode et le même contenu.

Si l’API a déjà enregistré le résultat de cette requête, elle le renvoie sans effectuer de nouveau la modification. Utilisez une nouvelle clé pour une autre modification.

Réutiliser une clé pour une autre requête entraîne idempotency.key_reused.

Si quelqu’un modifie les mêmes données

Récupérez les données actuelles avant de les modifier. Si l’opération exige expected_version, renseignez ce champ avec la version reçue.

Si les données ont été modifiées entre-temps, l’API refuse l’enregistrement. Récupérez-les à nouveau et vérifiez si la modification prévue convient toujours. Envoyez ensuite une nouvelle requête avec la version actuelle.

Modifier un prix peut aussi nécessiter la version du prix, de la variante ou du tarif. Les champs nécessaires figurent dans la description de l’opération.