VitrinaAPI

Cargar productos y variantes

Un producto se vende en variantes, y cada variante guarda sus propios datos.

Cada producto del catálogo vive en /products. Si se vende en tallas, colores o capacidades, tiene variantes: una fila por combinación, con su SKU, su precio, sus existencias y sus opciones. Leer pide marketplace:read; escribir, marketplace:write.

Atributos de una variante

Lo que cambia de una variante a otra y no es una opción de compra va en attributes: un mapa plano de texto, número o booleano. Por ejemplo, el rango de batería de los equipos que respaldan un SKU.

curl -X PATCH "https://api.vitrinadev.com/api/v1/products/$PRODUCT_ID/variants/$VARIANT_ID" \
  -H "Authorization: Bearer $VITRINA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"attributes": {"battery_min_pct": 99, "battery_max_pct": 100}}'

La respuesta trae la variante completa, con "attributes": {"battery_min_pct": 99, "battery_max_pct": 100}. Una variante sin datos devuelve {}.

  • POST /products/{id}/variants y PATCH /products/{id}/variants/{variantId} aceptan attributes; también cada elemento de variants[] al crear un producto.
  • Cada llave usa letras, números, _, . o - (hasta 60 caracteres). Cada valor es texto (hasta 300), número o booleano. No se aceptan objetos, listas ni null.
  • Hasta 20 llaves y 2 KB por variante. Si te pasas, la respuesta es 400 VALIDATION_ERROR.
  • PATCH reemplaza el mapa completo: manda todas las llaves que quieres conservar. {} lo vacía.
  • El agente de ventas lee attributes desde search_product_stock para contestar preguntas como «¿qué batería tiene?».

En esta página