Cambiar estado de un conductor
[ POST ]
Para que se pueda iniciar el rastreo de un usuario, es necesario cambiar su estado. Una vez activo(a), recuerda tener el GPS prendido y el modo de ahorro de batería apagado ya que es necesario para un rastreo correcto.
https://sync.airbagtech.io/driver/{{DRIVER_ID}}/changeAppStatus
Tipos de estados
| Nombre | Descripción |
|---|---|
| active | Nuestra aplicación usará el GPS y otro sensores (es por eso la importancia de aceptar todos los permisos requeridos, así como tener prendido el GPS en todo momento que el estado sea activo) para determinar si esta manejando, y en caso de determinar que si entonces automáticamente registrará el trayecto. |
| inactive | Si el conductor esta apagado entonces nuestra aplicación no hará ningún rastreo. El usuario podrá visualizar sus viajes, calificaciones y mas. |
Campos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| DRIVER_ID | String | Si | ID del conductor al que se le va a cambiar el estado. Acepta el ID que tu empresa usó al crearlo o el airbagId. Este valor deberá ir en la ruta. |
| force | String | No | Estado que desea poner al conductor: active o inactive. Si se omite, se alterna el estado actual (un conductor activo pasa a inactivo y viceversa). |
| vehicleId | String | No | Vehículo que usará el conductor. Acepta el ID que tu empresa usó al crear el vehículo o el airbagId. |
Headers
| Content-Type | Authorization |
|---|---|
| application/json | apikey {{API_KEY}} |
Body
{
"force": "string",
"vehicleId": "string"
}
Ejemplo
curl --location -g 'https://sync.airbagtech.io/driver/{{DRIVER_ID}}/changeAppStatus' \
--header 'Content-Type: application/json' \
--header 'Authorization: apikey {{API_KEY}}' \
--data '{
"force": "active",
"vehicleId": "VH-001"
}'
Respuestas
✅ Respuesta exitosa (200 OK)
{
"status": true,
"message": "Driver change app status initiated",
"newAppStatus": "active",
"vehicleId": "VH-001"
}
| Campo | Tipo | Descripción |
|---|---|---|
status | Boolean | true si la solicitud se procesó. |
message | String | Resultado de la solicitud. Si el conductor ya tenía el estado pedido, es "Driver already has <estado> status". |
newAppStatus | String | Estado que tendrá el conductor: el de force o, si no se envió, el contrario al que tenía. |
vehicleId | String | Sólo si se envió vehicleId. Es el ID del vehículo definido por tu empresa (o el airbagId si no tiene uno), aunque la solicitud se haya hecho con el airbagId. |
❌ Respuesta con error (400 Bad Request)
{
"status": false,
"message": "Driver has not made first login. Unable to make contact.",
"errorId": "sentry_error_id_123"
}
| Mensaje | Causa |
|---|---|
Bad Force formatting | force no es active ni inactive. |
Driver has not made first login. Unable to make contact. | Se envió force y el conductor aún no inicia sesión en la app. |
Driver status has just been modified, wait at least <n>/10 minutes and try again | El estado del conductor se cambió hace 10 minutos o menos. |
Error: Driver not found | El DRIVER_ID no corresponde a ningún conductor de tu empresa. |
Error: Vehicle not found | El vehicleId no corresponde a ningún vehículo de tu empresa. |