API REST de solo lectura para consulta de vehículos
v1.0.0 Solo Lectura (GET)API de solo lectura para consultar el catálogo de vehículos. Solo se permiten operaciones GET.
https://tu-dominio.com
API Key: Identifica al cliente (campo api_key de la tabla customer)
Token Secreto: Autoriza el acceso. Dos tipos:
X-API-Key: tu_api_key_del_customer X-API-Token: token_interno_o_cliente
Lista paginada de coches del customer autenticado.
| Parámetro | Tipo | Default | Descripción |
|---|---|---|---|
per_page | integer | 16 | Resultados por página |
page | integer | 1 | Número de página |
sort_by | string | id | Campo para ordenar (ver opciones abajo) |
sort_order | string | desc | Dirección: asc o desc |
max_photos | integer | null | Limitar número de fotos devueltas |
| Valor | Descripción |
|---|---|
id | ID del vehículo |
titulo | Título del anuncio |
kilometros | Kilómetros |
registration_date | Fecha de matriculación |
price | Precio de venta |
financing_price | Precio financiado |
financing_monthly_fee | Cuota mensual financiación |
multioption_financing_price | Precio financiado multiopción |
multioption_monthly_fee | Cuota mensual multiopción |
destacado | Vehículos destacados primero |
{
"data": [...],
"total": 150,
"per_page": 16,
"current_page": 1,
"total_pages": 10
}
Obtiene un coche específico con todos sus detalles.
| Parámetro | Tipo | Descripción |
|---|---|---|
max_photos | integer | Limitar número de fotos devueltas |
Los datos del vehículo se organizan en bloques:
| Bloque | Descripción | Campos principales |
|---|---|---|
data | Datos principales | make, model, version, title, body_style, color, registration_date, kilometers... |
location | Ubicación | name, city, postal_code, region, address |
characteristics | Características técnicas | power, transmission, gears, doors, seats, cylinder_capacity... |
more_information | Información adicional | number_of_owners, has_service_book, is_national, is_crashed... |
consumption | Consumo y emisiones | fuel, average_consumption, environmental_badge, autonomy... |
dimensions | Dimensiones | height, width, longitude, trunk_capacity, tank_capacity, tare |
prices | Precios | price, previous_price, financing, multioption_financing... |
equipment | Equipamiento | standard, extra, inventario |
pictures | Fotos | original, large, medium, order, is_main |
Endpoints para vehículos disponibles en modalidad de renting/suscripción.
Lista paginada de coches con renting disponible. Incluye el campo renting_cuota_minima con la cuota mensual mínima.
| Parámetro | Descripción | Ejemplo |
|---|---|---|
BT_renting_cuota_minima | Cuota mínima mayor o igual a | BT_renting_cuota_minima=200 |
ST_renting_cuota_minima | Cuota mínima menor o igual a | ST_renting_cuota_minima=500 |
FILTR_total_months | Meses de contrato exactos | FILTR_total_months=36 |
FILTR_kilometers_included | Kilómetros incluidos exactos | FILTR_kilometers_included=15000 |
renting_cuota_minima - Ordenar por cuota mínima de renting
{
"data": [
{
"id": 334760,
"titulo": "BMW Serie 3...",
"renting_cuota_minima": 232,
...
}
],
"total": 15,
"per_page": 16,
"current_page": 1,
"total_pages": 1
}
Obtiene todas las subscriptions/planes de renting disponibles para un vehículo específico.
{
"data": [
{
"id": 25,
"total_months": 12,
"kilometers_included": 2000,
"monthly_fee": 232,
"conditions": "Condiciones del contrato...",
"is_professional_sale": false,
"is_private_sale": true
},
{
"id": 7,
"total_months": 60,
"kilometers_included": 15000,
"monthly_fee": 500,
"conditions": null,
"is_professional_sale": true,
"is_private_sale": true
}
],
"total": 2
}
{"error": "Not found", "message": "Vehículo no encontrado"}
Endpoints para obtener las opciones disponibles para cada filtro. Devuelven solo valores que existen en el inventario actual del customer.
/coches/filtros/marcas?FILTR_combustible_id=3
Marcas disponibles
[{"id": 1, "name": "BMW", "total": 15}]
Modelos de una marca específica
[{"id": 10, "name": "Serie 3", "total": 5}]
Tipos de combustible
[{"id": 1, "name": "Gasolina", "total": 45}]
Colores disponibles
[{"id": 5, "name": "Negro", "total": 30}]
Tipos de transmisión
[{"id": 1, "name": "Manual", "total": 60}]
Número de asientos
[{"value": 5, "total": 80}]
Número de puertas
[{"value": 5, "total": 70}]
Años de matriculación
[{"value": 2024, "total": 25}]
Tipos de carrocería (SUV, Sedán...)
[{"id": 1, "name": "SUV", "total": 40}]
Distintivos ambientales
[{"id": 4, "name": "ECO", "total": 20}]
Tipo de oferta (Ocasión, Nuevo, KM0...)
[{"id": 1, "name": "Ocasión", "total": 100}]
Rango de precios de venta
{"min": 5000, "max": 150000}
Rango de precios financiados
{"min": 4500, "max": 140000}
Rango de cuotas mensuales (financiación básica)
{"min": 99, "max": 1500}
Rango de cuotas mensuales (multiopción)
{"min": 149, "max": 1200}
Rango de kilómetros
{"min": 0, "max": 250000}
Rango de potencia (CV)
{"min": 75, "max": 500}
El listado de coches y los endpoints de filtros soportan un sistema de filtrado dinámico mediante prefijos en los parámetros de query. Esto permite construir consultas complejas de forma flexible.
| Prefijo | Operación | Ejemplo | SQL Equivalente |
|---|---|---|---|
FILTR_ |
Igualdad exacta | FILTR_combustible_id=3 |
WHERE combustible_id = 3 |
INC_ |
Incluir (IN) | INC_marca_id[]=1&INC_marca_id[]=2 |
WHERE marca_id IN (1, 2) |
EXC_ |
Excluir (NOT IN) | EXC_color_id[]=5&EXC_color_id[]=6 |
WHERE color_id NOT IN (5, 6) |
BTW_ |
Entre (BETWEEN) | BTW_kilometros[]=0&BTW_kilometros[]=50000 |
WHERE kilometros BETWEEN 0 AND 50000 |
BT_ |
Mayor o igual (>=) | BT_price=15000 |
WHERE price >= 15000 |
ST_ |
Menor o igual (<=) | ST_kilometros=100000 |
WHERE kilometros <= 100000 |
LIKE_ |
Búsqueda parcial | LIKE_titulo=mercedes |
WHERE titulo LIKE 'mercedes%' |
marca_id,
modelo_id,
combustible_id,
color_id,
cambio_id,
tipo_id,
estado_id,
disponibilidad_id,
ad_subtype_id,
location_id,
emisiones_id,
distintivo_ambiental,
kilometros,
potencia,
puertas,
asientos,
cilindrada,
marchas,
registration_date,
manufacturing_year,
titulo,
version,
referencia,
accidentado,
nacional,
clasico,
competicion,
metalizado
price,
previous_price,
financing_price,
repair_price,
professional_price,
new_price,
financing_monthly_fee,
financing_number_fees,
multioption_financing_price,
multioption_monthly_fee,
multioption_number_fees,
multioption_tin,
multioption_tae,
multioption_entry,
multioption_final_installment
destacado - Indica si el vehículo está destacado (1 o 0)
GET /coches?INC_marca_id[]=1&INC_marca_id[]=2&FILTR_combustible_id=3
GET /coches?BT_price=15000&ST_price=30000&ST_kilometros=50000
GET /coches?FILTR_cambio_id=2&BT_registration_date=2020-01-01
GET /coches?LIKE_titulo=mercedes&sort_by=price&sort_order=asc
GET /coches/filtros/marcas?FILTR_combustible_id=3
| Código | Descripción |
|---|---|
| 200 | Petición exitosa |
| 401 | No autorizado (falta auth, API Key o Token inválido) |
| 404 | Recurso no encontrado |
{"error": "No autorizado", "message": "Se requieren los headers X-API-Key y X-API-Token"}
{"error": "No autorizado", "message": "Token inválido"}
{"error": "No autorizado", "message": "API Key inválida"}