Convenios y Clientes
Endpoints para gestionar convenios con empresas y el registro de clientes. Un convenio permite asociar descuentos a grupos de clientes.
El campo convenio_id en un cliente es opcional. Cuando un cliente tiene un convenio asociado, puede recibir descuentos según lo configurado en el convenio.
Listar convenios
Devuelve la lista completa de convenios registrados.
Response
[
{
"id": 1,
"nombre": "Empresa ABC",
"descuento": 15.0,
"activo": true,
"created_at": "2025-01-10T08:00:00Z"
}
]
Crear convenio
Crea un nuevo convenio.
- Name
nombre- Type
- string
- Description
Nombre de la empresa o convenio.
- Name
descuento- Type
- number
- Description
Porcentaje de descuento (0-100).
- Name
activo- Type
- boolean
- Description
Si el convenio está activo. Por defecto true.
Request body
{
"nombre": "Empresa ABC",
"descuento": 15.0,
"activo": true
}
Response (201)
{
"id": 1,
"nombre": "Empresa ABC",
"descuento": 15.0,
"activo": true,
"created_at": "2025-01-10T08:00:00Z"
}
Obtener convenio
Devuelve los detalles de un convenio específico por su ID.
Response
{
"id": 1,
"nombre": "Empresa ABC",
"descuento": 15.0,
"activo": true,
"created_at": "2025-01-10T08:00:00Z"
}
Actualizar convenio
Actualiza los datos de un convenio existente.
- Name
nombre- Type
- string
- Description
Nombre de la empresa o convenio.
- Name
descuento- Type
- number
- Description
Porcentaje de descuento (0-100).
- Name
activo- Type
- boolean
- Description
Si el convenio está activo.
Request body
{
"nombre": "Empresa ABC Actualizada",
"descuento": 20.0
}
Response
{
"id": 1,
"nombre": "Empresa ABC Actualizada",
"descuento": 20.0,
"activo": true,
"created_at": "2025-01-10T08:00:00Z"
}
Eliminar convenio
Elimina un convenio por su ID. Los clientes asociados a este convenio dejarán de tener convenio asignado.
Request
curl -X DELETE \
-H "Authorization: Bearer TOKEN" \
https://api.mundodelentes.com/convenios/1
Response (204)
No content
Listar clientes
Devuelve la lista de clientes. Soporta filtros por query parameters.
- Name
convenio_id- Type
- number
- Description
Filtra clientes por ID de convenio.
- Name
search- Type
- string
- Description
Busca por nombre, email o teléfono.
- Name
active- Type
- boolean
- Description
Filtra por clientes activos/inactivos.
Request con filtros
curl -H "Authorization: Bearer TOKEN" \
"https://api.mundodelentes.com/clientes?convenio_id=1&active=true"
Response
[
{
"id": 1,
"nombre": "Juan Pérez",
"email": "juan@email.com",
"telefono": "555-0101",
"convenio_id": 1,
"activo": true,
"created_at": "2025-02-01T10:00:00Z"
}
]
Crear cliente
Registra un nuevo cliente.
- Name
nombre- Type
- string
- Description
Nombre completo del cliente.
- Name
email- Type
- string
- Description
Correo electrónico del cliente.
- Name
telefono- Type
- string
- Description
Número de teléfono del cliente.
- Name
convenio_id- Type
- number
- Description
ID del convenio asociado (opcional).
Request body
{
"nombre": "Juan Pérez",
"email": "juan@email.com",
"telefono": "555-0101",
"convenio_id": 1
}
Response (201)
{
"id": 1,
"nombre": "Juan Pérez",
"email": "juan@email.com",
"telefono": "555-0101",
"convenio_id": 1,
"activo": true,
"created_at": "2025-02-01T10:00:00Z"
}
Obtener cliente
Devuelve los detalles de un cliente específico, incluyendo la información de su convenio si tiene uno.
Response
{
"id": 1,
"nombre": "Juan Pérez",
"email": "juan@email.com",
"telefono": "555-0101",
"convenio_id": 1,
"convenio": {
"id": 1,
"nombre": "Empresa ABC",
"descuento": 15.0
},
"activo": true,
"created_at": "2025-02-01T10:00:00Z"
}
Actualizar cliente
Actualiza los datos de un cliente existente.
- Name
nombre- Type
- string
- Description
Nombre completo del cliente.
- Name
email- Type
- string
- Description
Correo electrónico del cliente.
- Name
telefono- Type
- string
- Description
Número de teléfono del cliente.
- Name
convenio_id- Type
- number or null
- Description
ID del convenio asociado. Enviar null para desasociar.
Request body
{
"nombre": "Juan Pérez García",
"telefono": "555-0202"
}
Response
{
"id": 1,
"nombre": "Juan Pérez García",
"email": "juan@email.com",
"telefono": "555-0202",
"convenio_id": 1,
"activo": true,
"created_at": "2025-02-01T10:00:00Z"
}
Eliminar cliente
Elimina un cliente por su ID. Solo se permite si el cliente no tiene ventas activas.
Request
curl -X DELETE \
-H "Authorization: Bearer TOKEN" \
https://api.mundodelentes.com/clientes/1
Response (204)
No content