Cambios en la API
Fecha efectiva: por definir.
Motivo
La API publica únicamente los campos documentados, con una forma fija. Cada endpoint construye su respuesta copiando sólo los campos de su contrato, también dentro de los objetos anidados. Un campo puede faltar si el registro no lo tiene, pero nunca aparecerá uno que no esté documentado. Si tu integración leía algún campo que no aparece en esta documentación, deja de recibirlo a partir de la fecha efectiva.
Cambios por endpoint
| Endpoint | Cambio |
|---|---|
GET /driver/, GET /driver/:driverId, PUT /driver/:driverId | Dejan de enviarse providerId, motiveId y currentStreak.lastWeekDaysStreak[].completeDescriptionDay, y cualquier campo no documentado (también dentro de currentStreak, currentLevel, emergencyContact y license). |
POST /driver/ | La respuesta ya no incluye companyId. |
GET /manager/, GET /manager/:managerId | Deja de enviarse hasAccessToMarketplaceAdmin y cualquier campo no documentado. |
GET /manager/logs, GET /manager/:managerId/logs | Dejan de enviarse firestoreId y managerAirbagId; data sólo incluye sus claves documentadas. |
GET /vehicle/:vehicleId | Misma forma que el listado: se envían airbagId y company, y deja de enviarse _id. |
PUT /vehicle/:vehicleId, DELETE /vehicle/:vehicleId | La respuesta se limita a los campos documentados del vehículo. |
POST /ranking/ | Cada elemento de ranking deja de enviar provider y _id. |
POST /provider-data/ | score pasa a ser opcional; securityEvents puede ir vacío ([]); se aceptan los eventos aggressive_driving, unsafe_maneuver y unsafe_parking; vuelve a crear días nuevos (antes fallaba con 500). |
Todos los endpoints con driverId, vehicleId o managerId | Aceptan también el airbagId. Ver Identificadores. |
| Todos | Una petición sin el encabezado Accept ya no responde 500. |