API REST de VXM
El API VXM permite que sistemas externos —ERPs, contabilidades, marketplaces, plataformas de logística o automatizaciones propias— lean y escriban datos de tu tienda. Es un API REST sobre HTTPS que recibe y devuelve JSON, autenticada con un token Bearer JWT por negocio.
Tenés dos familias de endpoints: la API de Catálogo v1 (moderna, REST completa con GET/POST/PUT/DELETE para productos y categorías) es la recomendada para integraciones nuevas. La API de Sincronización ERP (legada) es la que usan los puentes de escritorio (Dragonfish, Contabilium, etc.).
URL base
Todos los endpoints son relativos a la URL del panel de tu tienda.
Autenticación
Todas las llamadas requieren un token Bearer en el header Authorization. El token es un JWT que identifica tu negocio y, salvo que lo regeneres, no expira.
- Ingresá al panel de administración de tu tienda.
- Andá a Configuración → ERP y elegí API Token.
- Hacé clic en Generar Token. El token se mostrará una sola vez.
- Guardalo en un lugar seguro. Si se filtra, regeneralo desde la misma pantalla y actualizá tus integraciones.
Authorization: Bearer YOUR_TOKEN
Convenciones
- La API de Catálogo v1 es REST sobre HTTPS: usá GET para leer, POST para crear, PUT para actualizar y DELETE para borrar. Los recursos viven bajo /api/v1/.
- Las solicitudes con cuerpo deben enviar Content-Type: application/json.
- Los listados se paginan con los parámetros offset y limit. El límite por defecto es 50 y el máximo 100.
- Los productos se identifican por su "code" (por ejemplo, "REM-001") — pasalo en la URL para acceder a un producto. El resto de los recursos (categorías, listas de precios, clientes, pedidos, imágenes, opciones) se identifican por id numérico.
- Las marcas de tiempo se intercambian como milisegundos desde epoch (lo que devuelve Date.now() en JavaScript).
Manejo de errores
Las respuestas con error usan códigos HTTP estándar y devuelven un cuerpo JSON con la clave error.
- 200 / 201 / 204 Operación exitosa. 201 al crear un recurso, 204 cuando no hay contenido para devolver.
- 400 Cuerpo inválido o falta un parámetro requerido.
- 401 Token faltante o inválido.
- 404 Recurso no encontrado o no pertenece a tu negocio.
- 409 Conflicto: la operación no se puede completar en el estado actual (por ejemplo, borrar una categoría que tiene subcategorías).
- 422 Error de validación: el cuerpo de la solicitud no cumple las reglas del recurso. El mensaje explica qué corregir.
{
"error": {
"code": "validation_error",
"message": "Product 'name' is required"
}
}