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 CONFLICT con un mensaje que te dice cuál campo chocó.
  • city es el nombre humano de la ciudad de operación (p. ej. "Monterrey"). Es requisito para el registro en didi; consulta los nombres válidos en GET /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:

  1. Registro (esta llamada) — el vehículo queda pending y documentsRequired: true.
  2. Documentos — sube la tarjeta de circulación (guía). Sin ella, la revisión no arranca.
  3. 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.