Consultar la info de un conductor
[ GET ]
Consulta la información de un conductor sin alterar los valores del mismo.
https://sync.airbagtech.io/driver/{{DRIVER_ID}}
Campos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| DRIVER_ID | String | Si | ID del conductor al que se le va a cambiar el estado. |
Headers
| Content-Type | Autorization |
|---|---|
| application/json | apikey {{API_KEY}} |
Ejemplo
curl --location -g 'https://sync.airbagtech.io/driver/{{DRIVER_ID}}' \
--header 'Authorization: apikey {{API_KEY}}'
Respuestas
✅ Respuesta exitosa (200 OK)
Devuelve la ficha completa del conductor junto con su progreso de gamificación (nivel, racha) y metadatos de la cuenta.
{
"status": true,
"driver": {
"appStatus": "Activo",
"birthdate": "1992-08-14T06:00:00.000Z",
"civilStatus": "single",
"coins": 312,
"company": "Transportes Ejemplo",
"created": "2022-05-18T15:42:00.000Z",
"currentLevel": {
"currentDistance": 1823.4512038172645,
"remainingDistance": 3176.5487961827355,
"to": 10000,
"levelId": "a1B2c3D4e5F6g7H8i9J0",
"maxLevel": 7,
"name": "Nivel 4",
"from": 5001,
"percentageCompleted": 36,
"totalDistanceTravelled": 6823.451203817265,
"targetDistance": 5000
},
"currentStreak": {
"isInStreak": true,
"lastDayWithTrips": "2025-03-10T00:00:00.000Z",
"maxHistoricalStreak": 9,
"totalDaysOfStreak": 3,
"lastWeekDaysStreak": [
{
"date": "2025-03-10T00:00:00.000Z",
"dayCharacter": "L",
"dayOfWeek": "monday",
"streak": "IN_STREAK_ACTIVE"
},
{
"date": "2025-03-09T00:00:00.000Z",
"dayCharacter": "D",
"dayOfWeek": "sunday",
"streak": "IN_STREAK_ACTIVE"
},
{
"date": "2025-03-08T00:00:00.000Z",
"dayCharacter": "S",
"dayOfWeek": "saturday",
"streak": "IN_STREAK_ACTIVE"
},
{
"date": "2025-03-02T00:00:00.000Z",
"dayCharacter": "D",
"dayOfWeek": "sunday",
"streak": "OUT_OF_STREAK"
}
]
},
"email": "[email protected]",
"emailIsVerified": true,
"emailVerified": true,
"emergencyContact": {
"phone": "+525512345678",
"name": "Contacto Ejemplo",
"type": "cellphone"
},
"firstLogin": false,
"fullName": "Juan Pérez Ramírez",
"gender": "male",
"groups": ["grp_A1b2C3d4E5f6G7h8I9j0"],
"growthStatus": "ok",
"hasActiveSchedule": true,
"hasMarketingNotifications": false,
"hired": "2021-03-01T06:00:00.000Z",
"isDriving": false,
"isResting": false,
"lastName": "Pérez Ramírez",
"name": "Juan",
"nationalId": "PERJ920814HDFRMN03",
"nationality": "mex",
"phone": "+525598765432",
"showMobileScores": true,
"showMobileTrips": true,
"showMobileWorkDay": true,
"startStage": "0",
"status": "active",
"redeemCount": 2,
"airbagId": "ab12cd34ef56gh78ij90kl12mn34op56",
"id": "EMP-1042",
"useAirbagTelematics": true
}
}
Descripción de campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
status | Boolean | Indica si la operación fue exitosa. |
driver | Object | Objeto con los datos completos del conductor. |
Campos dentro de driver
| Campo | Tipo | Descripción |
|---|---|---|
id | String | Identificador único del conductor proporcionado al crearlo. Este es el ID que utilizas en tus sistemas. |
airbagId | String | Identificador interno único en la plataforma Airbag. Útil para referencias cruzadas. |
company | String | Nombre de la organización a la que pertenece el conductor. |
name | String | Nombre de pila del conductor. |
lastName | String | Apellido del conductor. |
fullName | String | Nombre completo (name + lastName). |
email | String | Correo electrónico del conductor. |
emailVerified | Boolean | Indica si el correo ha sido verificado (campo canónico). |
emailIsVerified | Boolean | Alias legado de emailVerified. Se mantiene por compatibilidad. |
phone | String | Teléfono con código de país (formato +525555555555). |
gender | String | Género del conductor. Valores: male, female, other. |
birthdate | String | Fecha de nacimiento en formato ISO 8601. |
civilStatus | String | Estado civil. Valores: single, married, divorced, widowed. |
nationalId | String | Identificación nacional (CURP, DNI, etc.). |
nationality | String | Código ISO de nacionalidad (por ejemplo mex). |
hired | String | Fecha de contratación en formato ISO 8601. |
created | String | Fecha de alta en la plataforma en formato ISO 8601. |
status | String | Estado de la cuenta. Valores: active o inactive. |
appStatus | String | Estado legible para la app móvil (por ejemplo Activo). |
growthStatus | String | Estado del desempeño del conductor. Valores típicos: ok, warning, risk. |
groups | Array<String> | Lista de IDs de los grupos a los que pertenece. |
coins | Number | Monedas acumuladas por el conductor en el sistema de gamificación. |
redeemCount | Number | Número de canjes realizados por el conductor. |
startStage | String | Etapa inicial del flujo de onboarding del conductor. |
firstLogin | Boolean | true si el conductor aún no ha iniciado sesión por primera vez. |
isDriving | Boolean | Indica si el conductor está conduciendo en este momento. |
isResting | Boolean | Indica si el conductor se encuentra en periodo de descanso. |
hasActiveSchedule | Boolean | Indica si tiene una jornada laboral activa configurada. |
hasMarketingNotifications | Boolean | Preferencia de notificaciones de marketing. |
showMobileScores | Boolean | Si la app móvil debe mostrar sus puntuaciones. |
showMobileTrips | Boolean | Si la app móvil debe mostrar sus viajes. |
showMobileWorkDay | Boolean | Si la app móvil debe mostrar su jornada laboral. |
useAirbagTelematics | Boolean | Indica si la telemetría se captura con el SDK propio de Airbag. |
emergencyContact | Object | Contacto de emergencia del conductor. Ver tabla abajo. |
currentLevel | Object | Nivel actual del conductor en el sistema de gamificación. Ver tabla abajo. |
currentStreak | Object | Racha de días activos del conductor. Ver tabla abajo. |
Campos dentro de emergencyContact
| Campo | Tipo | Descripción |
|---|---|---|
name | String | Nombre de la persona de contacto. |
phone | String | Teléfono del contacto con código de país. |
type | String | Tipo de teléfono. Valores: cellphone, home, work. |
Campos dentro de currentLevel
| Campo | Tipo | Descripción |
|---|---|---|
levelId | String | Identificador único del nivel actual. |
name | String | Nombre legible del nivel (por ejemplo Nivel 3). |
maxLevel | Number | Número total de niveles disponibles en el programa. |
from | Number | Distancia (en km) que marca el inicio del nivel. |
to | Number | Distancia (en km) que marca el final del nivel. |
targetDistance | Number | Distancia objetivo a recorrer dentro del nivel actual. |
currentDistance | Number | Distancia recorrida dentro del nivel actual. |
remainingDistance | Number | Distancia restante para completar el nivel. |
totalDistanceTravelled | Number | Distancia total acumulada por el conductor desde el inicio del programa. |
percentageCompleted | Number | Porcentaje de avance del nivel actual (0–100). |
Campos dentro de currentStreak
| Campo | Tipo | Descripción |
|---|---|---|
isInStreak | Boolean | true si el conductor mantiene una racha activa. |
totalDaysOfStreak | Number | Días consecutivos que conforman la racha actual. |
maxHistoricalStreak | Number | Racha más larga alcanzada históricamente. |
lastDayWithTrips | String | Último día con viajes registrados (ISO 8601). |
lastWeekDaysStreak | Array<Object> | Detalle día a día de la actividad reciente. Ver tabla abajo. |
Campos dentro de cada elemento de lastWeekDaysStreak
| Campo | Tipo | Descripción |
|---|---|---|
date | String | Fecha del día en formato ISO 8601. |
dayCharacter | String | Inicial del día en español (L, M, X, J, V, S, D). |
dayOfWeek | String | Día de la semana en inglés y minúsculas (monday, tuesday, …). |
streak | String | Estado de la racha para ese día. Valores: IN_STREAK_ACTIVE, OUT_OF_STREAK. |