Saltar al contenido
ShopentlyLearn

Cambiar datos de la tienda

Usa la API para cambiar datos de tu tienda, como la descripción o el precio de un producto.

Cambiar campos concretos

Para cambiar la descripción de un producto no necesitas enviar todos sus datos. En la petición PATCH, incluye los campos que quieres cambiar y los demás campos obligatorios de la operación. El resto de los datos no cambia.

Campo omitido
Su valor no cambia.
null
Enviar null borra el valor si el campo lo permite. Compruébalo en la descripción de la operación.
Cadena vacía
"" representa una cadena vacía. Es diferente de null y no todos los campos la aceptan.

En este ejemplo eliminamos la descripción del producto en alemán. El nombre y las descripciones en otros idiomas no cambian.

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

Solicitud 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}'

Respuesta

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

Si no recibes una respuesta

No recibir respuesta no significa necesariamente que el cambio no se haya guardado. La conexión puede haberse interrumpido después de guardar el cambio.

Al guardar datos, añade la cabecera Idempotency-Key con un valor único. Si no recibes respuesta y reintentas el mismo cambio, utiliza la misma clave, URL, método y contenido de la solicitud.

Si la API ya tiene guardado el resultado de esa solicitud, lo devuelve sin ejecutar el cambio otra vez. Utiliza una clave nueva para un cambio distinto.

Reutilizar una clave para otra solicitud produce idempotency.key_reused.

Si alguien cambia los mismos datos

Obtén los datos actuales antes de modificarlos. Si la operación requiere expected_version, introduce en ese campo la versión recibida.

Si alguien ha modificado los datos mientras tanto, la API rechazará el cambio. Obténlos de nuevo y comprueba si el cambio previsto sigue siendo adecuado. Solo entonces envía una nueva solicitud con la versión actual.

Cambiar un precio también puede requerir la versión del precio, de la variante o de la tarifa. Consulta los campos necesarios en la descripción de la operación.