REST API para integrar tu inventario con sistemas externos Solo Plan Pro
Todas las rutas (excepto esta página) requieren una API key en el header:
Authorization: Bearer <tu-api-key>
Generá tu key desde Configuración → API en inventario.exegestion.com.
https://inventario-api.exegestion.com
Éxito: { "data": ... } — Éxito con paginación: { "data": [...], "meta": { "total", "page", "limit", "pages" } } — Error: { "error": "mensaje" }
Los endpoints de lista aceptan:
| Param | Default | Máximo | Descripción |
|---|---|---|---|
| limit | 50 | 200 | Resultados por página |
| page | 1 | — | Número de página |
Lista productos activos. Filtros opcionales:
| Param | Tipo | Descripción |
|---|---|---|
| search | string | Búsqueda parcial por nombre |
| category_id | uuid | Filtrar por categoría |
| sku | string | Búsqueda exacta por SKU |
| low_stock | boolean | true → solo productos con stock ≤ mínimo |
| active | boolean | Default true. Pasar false para ver inactivos |
Detalle de un producto.
{
"name": "Laptop Dell XPS", // requerido
"category_id": "uuid", // requerido
"unit_id": "uuid", // requerido
"sku": "LAP-001", // opcional
"description": "...", // opcional
"min_stock": 5, // opcional (default: 0)
"cost_price": 800.00, // opcional
"sale_price": 1200.00 // opcional
}
Actualiza cualquier campo. Solo enviá los que querés cambiar.
Para reactivar un producto: { "is_active": true }
Baja lógica (marca is_active: false). Los movimientos históricos se conservan.
{
"name": "Electrónica", // requerido
"color": "#06b6d4", // opcional (hex, default: cyan)
"icon": "monitor" // opcional (nombre de ícono Lucide)
}
Falla con 409 si hay productos asociados.
Acepta search y active como filtros.
{
"name": "TechDistrib S.A.", // requerido
"contact": "Juan Pérez", // opcional
"email": "ventas@tech.com", // opcional
"phone": "+54 11 1234-5678", // opcional
"address": "Av. Corrientes 1234",// opcional
"notes": "..." // opcional
}
Baja lógica (is_active: false).
Los movimientos son inmutables (registro de auditoría). No se pueden editar ni eliminar.
| Param | Tipo | Descripción |
|---|---|---|
| type | string | ingreso o egreso |
| product_id | uuid | Filtrar por producto |
| supplier_id | uuid | Filtrar por proveedor |
| from | date | Desde fecha YYYY-MM-DD |
| to | date | Hasta fecha YYYY-MM-DD |
{
"type": "ingreso", // requerido: "ingreso" | "egreso"
"product_id": "uuid", // requerido
"quantity": 10, // requerido (> 0)
"unit_price": 850.00, // opcional (default: 0)
"supplier_id": "uuid", // opcional
"reference": "OC-2026-001", // opcional
"notes": "..." // opcional
}
egreso con cantidad mayor al stock disponible devuelve 422 Stock insuficiente. El stock se actualiza automáticamente vía trigger de base de datos.Lista todas las unidades de medida de la organización. Solo lectura.
{
"data": {
"products": { "total": 120, "low_stock": 5 },
"suppliers": { "total": 18 },
"categories": { "total": 7 },
"recent_movements": [...]
}
}
Lista paginada de productos con stock igual o menor al mínimo configurado. Útil para alertas de reposición.
curl https://inventario-api.exegestion.com/summary \
-H "Authorization: Bearer ivk_..."
curl -X POST https://inventario-api.exegestion.com/movements \
-H "Authorization: Bearer ivk_..." \
-H "Content-Type: application/json" \
-d '{"type":"ingreso","product_id":"...","quantity":50,"unit_price":12.5}'
curl "https://inventario-api.exegestion.com/products?low_stock=true&limit=10" \
-H "Authorization: Bearer ivk_..."