Alta de vehículos
Dar de alta un vehículo tiene dos pasos: crearlo en Credikul y registrarlo en cada plataforma.
1. Crear el vehículo
curl -X POST https://api.credikul.com/v1/vehicles \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{
"plate": "ABC-123-D",
"brand": "Nissan",
"model": "Versa",
"year": 2023,
"color": "Blanco",
"city": "Monterrey",
"vin": "3N1CN7AD0KL812345",
"platforms": ["didi", "indrive"]
}'
Dos reglas importantes:
- La placa y el VIN son únicos en TODA la flota Credikul, no solo en tu flotilla — una misma unidad física no puede existir dos veces en la plataforma. Un duplicado responde
409 CONFLICTcon un mensaje que te dice cuál campo chocó. cityes el nombre humano de la ciudad de operación (p. ej."Monterrey"). Es requisito para el registro en didi; consulta los nombres válidos enGET /v1/catalog/didi/cities.
La respuesta incluye registrations — el estado en cada plataforma, que arranca en none.
2a. Registrar en didi (asíncrono, 3 pasos)
curl -X POST https://api.credikul.com/v1/vehicles/{id}/registrations \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{ "platform": "didi" }'
El flujo completo en didi:
- Registro (esta llamada) — el vehículo queda
pendingydocumentsRequired: true. - Documentos — sube la tarjeta de circulación (guía). Sin ella, la revisión no arranca.
- Revisión de DiDi — horas o días. Consulta el estado hasta que sea
approved:
# Estado almacenado (barato — ideal para polling)
curl https://api.credikul.com/v1/vehicles/{id}/registrations/didi \
-H "Authorization: Bearer ck_live_TU_LLAVE"
# Forzar consulta en vivo a la plataforma y persistir el veredicto
curl -X POST https://api.credikul.com/v1/vehicles/{id}/registrations/didi/refresh \
-H "Authorization: Bearer ck_live_TU_LLAVE"
Estados de la registración didi: none → pending → approved | rejected. Si rejected con docReviewStatus: "rejected", la tarjeta fue el problema — vuelve a subirla sin filtros ni ediciones.
Errores comunes: 422 CITY_REQUIRED (asigna city con PATCH /v1/vehicles/{id} primero).
2b. Registrar en indrive (instantáneo)
curl -X POST https://api.credikul.com/v1/vehicles/{id}/registrations \
-H "Authorization: Bearer ck_live_TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{ "platform": "indrive" }'
indrive registra con placa + VIN en una sola llamada síncrona — sin documentos ni revisión. El estado queda registered de inmediato. Si el vehículo no tiene VIN responde 422; asígnalo con PATCH /v1/vehicles/{id}.
Idempotencia
Repetir el POST …/registrations de un vehículo ya registrado responde 200 con el mismo objeto (no 201) — es seguro reintentar.
Campos editables después
PATCH /v1/vehicles/{id} acepta city, color, vin, status (activo / mantenimiento / inactivo) y notes. La placa, marca, modelo y año son inmutables por API — contacta a soporte si necesitas corregirlos.