Gestionar Productos
Esta guía cubre todas las operaciones para consultar, crear, actualizar y eliminar productos y sus sub-entidades.Para ver todos los campos disponibles, tipos y validaciones de cada endpoint, consulta el API Reference.
Reglas Importantes
Antes de comenzar, ten en cuenta estas reglas que aplican a toda la gestión de productos:- Status del producto: Actualmente el único valor soportado es
"published". El status se devuelve igual en las respuestas. option_valueses inmutable: Una vez creada la variante, no puedes cambiar susoption_valuescon PATCH. Si necesitas corregirlos, elimina la variante y créala de nuevo.- Monedas soportadas:
MXN,PEN,COP,CLP,ARS,BRL,VES,BOB,USD,PYG,UYU,CRC,EUR. - La moneda debe coincidir con la del catálogo: Todas las variantes de un producto deben usar la misma moneda configurada en el catálogo. Usar una moneda diferente puede causar inconsistencias internas.
- Respuestas:
PATCHdevuelve200con el recurso actualizado.DELETEdevuelve204sin body. - Todo producto requiere al menos una variante: Incluso productos simples (sin tallas ni colores) necesitan mínimo una opción y una variante. Usa un nombre genérico como “Presentación” o “Unidad”.
- No existen endpoints batch: Cada entidad se crea individualmente.
Consultar Productos
Listar productos
Devuelve una lista paginada de productos con todas sus sub-entidades.limit acepta un máximo de 100. Consulta Paginación para más detalles.Obtener un producto
Devuelve un producto con todas sus opciones, variantes (con media) y categorías.Crear un Producto Completo
1. Crear el producto
2. Agregar opciones
La respuesta incluye los IDs de los valores creados. Guarda estos IDs para usarlos al crear variantes.¿Necesitas agregar más valores a una opción? Usa
POST /v1/products/{product_id}/options/{option_id}/values con el nombre del nuevo valor (ej. {"name": "XL"}).3. Crear variantes
Cada variante debe incluiroption_values con al menos un ID de valor de opción.
4. Agregar media a la variante
Tipos de archivo permitidos:
5. Asignar categorías
Este endpoint es idempotente: si un tag ya está asignado, se ignora y la respuesta es200. Solo se retorna 201 cuando se asignan tags nuevos.
Actualizar Entidades
Actualizar producto
Actualizar producto
Actualizar opción
Actualizar opción
Actualizar valor de opción
Actualizar valor de opción
Actualizar variante
Actualizar variante
Actualizar media
Actualizar media
Eliminar Entidades
Remover categoría de un producto
Remover categoría de un producto
Esto desvincula la categoría del producto, pero no elimina la categoría global.
Eliminar media
Eliminar media
Eliminar variante
Eliminar variante
Eliminar valor de opción
Eliminar valor de opción
Eliminar opción
Eliminar opción
Eliminar producto completo
Eliminar producto completo
Producto Simple (sin variaciones)
No todos los productos tienen tallas o colores. Aún así, todo producto requiere al menos una opción y una variante. Usa un nombre genérico para la opción.El nombre de la opción es libre:
"Presentación", "Tipo", "Unidad", etc.Errores Comunes
Los errores de validación (422) devuelven un body con detalles del campo que falló:
422 — "option_values must have at least 1 item"
422 — "option_values must have at least 1 item"
Estás creando una variante sin
option_values o con una lista vacía. Debes crear opciones primero con POST /v1/products/{product_id}/options y usar los IDs de los valores retornados.Crear variantes antes de opciones
Crear variantes antes de opciones
Si intentas crear una variante antes de haber creado opciones, no tendrás IDs de valores disponibles para el campo
option_values. Siempre crea opciones primero.Usar nombre en vez de tag_id para categorías
Usar nombre en vez de tag_id para categorías
El endpoint
POST /v1/products/{product_id}/categories requiere tag_ids (lista de IDs numéricos), no nombres de categoría. Primero crea la categoría con POST /v1/categories y usa el id retornado.Olvidar catalog_id al crear producto
Olvidar catalog_id al crear producto
El campo
catalog_id es obligatorio al crear un producto. Obtén tu catálogo con GET /v1/catalogs.IDs de option_value inválidos
IDs de option_value inválidos
Los IDs de
option_values deben corresponder a valores del mismo producto. Usar IDs de otro producto o IDs inexistentes resultará en un error.Intentar cambiar option_values de una variante existente
Intentar cambiar option_values de una variante existente
PATCH /v1/products/{product_id}/variants/{variant_id} no acepta option_values. Los valores de opción de una variante se asignan solo al crearla. Si necesitas corregirlos, elimina la variante y créala de nuevo con los valores correctos.
