Developer API
Documentación Técnica: API de Integración ERP / TPV
1
Endpoint del API
Todas las peticiones deben enviarse por método POST a la URL de conexión de su entorno:
POST
https://api.fideclien.com/v1/erp/purchases
2
Ver parámetros →
Autenticación (Bearer Token)
Cabecera obligatoria: Authorization: Bearer <TU_TOKEN>
Claves API registradas en su tienda:
Test TPV Integration
Activo
token_live_E8W6A••••••••••••••••
IPs: Cualquiera
Uso: Activo y verificado
3
Parámetros del Payload (JSON)
| Campo | Tipo | Estado | Descripción |
|---|---|---|---|
| customer.identifier | string / int | Obligatorio | Teléfono del cliente (ej: "612345678") o su Nº de Socio de 8 dígitos ("00847192"). |
| customer.type | string | Opcional | Tipo de búsqueda: "phone", "client_number", "id" o "auto" (detecta por defecto). |
| amount | decimal | Obligatorio | Importe total de la compra en euros (ej: 35.50). Debe ser mayor a 0. |
| category | string | Opcional | Sección o categoría de venta (ej: "Alimentación"). |
| ticket | object | Recomendado | Mapa opcional con los artículos desglosados y código de barras para la app móvil. |
| • ticket.codigo_ticket | string | Req. con ticket | Código único del ticket para generar el código de barras y control anti-duplicados. |
| • ticket.precio_final | decimal | Req. con ticket | Total final impreso en el ticket. |
| • ticket.lista_articulos | array | Opcional | Array de artículos que componen la compra para visualización digital en la app. |
| •• ticket.lista_articulos[].nombre | string | Obligatorio en artículo | Nombre o descripción comercial del producto (ej: "Aceite de Oliva 1L"). |
| •• ticket.lista_articulos[].cantidad | number | Obligatorio en artículo | Cantidad o unidades adquiridas. |
| •• ticket.lista_articulos[].precio_unidad | decimal | Obligatorio en artículo | Precio unitario con IVA incluido. |
| •• ticket.lista_articulos[].precio_total | decimal | Obligatorio en artículo | Subtotal de la línea de producto. |
Estructura Detallada de ticket.lista_articulos
Cada elemento dentro del array lista_articulos representa una línea del ticket que se mostrará en la app del cliente y debe contener exactamente estos 4 campos:
"nombre": (string) Nombre o descripción del producto tal como aparecerá en el ticket móvil.
"cantidad": (número) Unidades o peso vendido (ej:
2 o 1.5).
"precio_unidad": (decimal) Precio individual de venta en euros (ej:
15.00).
"precio_total": (decimal) Total de la línea (
cantidad × precio_unidad, ej: 30.00).
"lista_articulos": [
{
"nombre": "Aceite de Oliva Virgen Extra 1L",
"cantidad": 2,
"precio_unidad": 15.00,
"precio_total": 30.00
},
{
"nombre": "Sal Marina 1kg",
"cantidad": 1,
"precio_unidad": 5.50,
"precio_total": 5.50
}
]
4
Ejemplos de Integración
curl -X POST "https://api.fideclien.com/v1/erp/purchases" \
-H "Authorization: Bearer token_live_E8W6A••••••••••••••••••••••••••••••••" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"customer": {
"identifier": "612345678",
"type": "phone"
},
"amount": 35.50,
"category": "Alimentación",
"ticket": {
"codigo_ticket": "TK-2026-99081",
"precio_final": 35.50,
"lista_articulos": [
{
"nombre": "Aceite de Oliva Virgen Extra 1L",
"cantidad": 2,
"precio_unidad": 15.00,
"precio_total": 30.00
},
{
"nombre": "Sal Marina 1kg",
"cantidad": 1,
"precio_unidad": 5.50,
"precio_total": 5.50
}
]
}
}'
201 Created
Compra Registrada con Éxito
{
"status": "success",
"message": "Compra registrada correctamente.",
"data": {
"purchase_id": 1420,
"amount": 35.50,
"ticket_registered": true
}
}
200 OK
Idempotencia (Ticket ya registrado)
{
"status": "success",
"message": "Compra ya registrada previamente (Idempotencia).",
"data": {
"purchase_id": 1420,
"amount": 35.50,
"ticket_registered": true
}
}