Editar conductor
[ PUT ]
Esta ruta es para editar la información del conductor. No es posible actualizar el teléfono de un conductor, deberás borrar y dar de alta a un nuevo perfil.
https://sync.airbagtech.io/driver/{{DRIVER_ID}}
Tipo de teléfono de emergencia
| Nombre | Descripción |
|---|---|
| cellphone | (Recomendable) En caso de alguna emergencia podremos mandar SMS automatizado. |
| landphone | El conductor podrá ver este número en su pantalla principal. (No incluir números de extensión) |
Tipo de estado civil
| Nombre |
|---|
| single |
| consensual-union |
| married |
| divorced |
| widowed |
Campos
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| DRIVER_ID | String | Si | ID del conductor que desea editar. Acepta el ID que tu empresa usó al crearlo o el airbagId. Este campo deberá ir en la ruta. |
| name | String | No | Nombre legal del conductor. Acepta acentos, minúsculas o mayúsculas combinadas; antes de almacenarse se normaliza automáticamente a mayúsculas y sin acentos. |
| lastName | String | No | Apellido legal del conductor. Acepta acentos, minúsculas o mayúsculas combinadas; antes de almacenarse se normaliza automáticamente a mayúsculas y sin acentos. |
| emergencyPhone | String | No | Contacto que el conductor verá en la pantalla principal de la App, con el estandar E.164. En caso de guardar un celular entonces también podremos mandar SMS en casos de emergencias como posible choque/asalto. |
| emergencyName | String | No | Nombre de pila del contacto de emergencia. Este nombre saldrá en la pantalla principal de la App para Conductor. |
| emergencyPhoneType | String | No | Tipo de teléfono que se pasó en el campo emergencyPhone. En caso de guardar un celular entonces tambien podremos mandar SMS en casos como posible choque/asalto. |
| String | No | Correo laboral del operador. | |
| birthDate | String | No | Fecha de nacimiento del conductor. Formato YYYY-MM-DD |
| gender | String | No | Género por el cual el/la/le se identifica: male, female u other. |
| civilStatus | String | No | Estado civil del conductor. |
| nationality | String | No | Nacionalidad del conductor en formato ISO 3166-1 de 3 dígitos. |
| group | String | No | ID único del grupo al que se desea agregar. |
Envía sólo los campos que quieras cambiar. El teléfono (phone) no se puede editar por esta vía: si se envía, se ignora.
Por ahora los campos birthDate y group se aceptan pero no se guardan. Se está corrigiendo; mientras tanto, modifícalos desde la plataforma de Airbag.
Los campos name y lastName aceptan valores con acentos, minúsculas o mayúsculas combinadas. Antes de almacenar el registro, Airbag normaliza automáticamente el valor convirtiéndolo a mayúsculas y eliminando acentos. Esta transformación no rechaza la petición ni modifica los datos en el sistema de origen del cliente.
Ejemplo: José Ramírez será almacenado como JOSE RAMIREZ.
Headers
| Content-Type | Authorization |
|---|---|
| application/json | apikey {{API_KEY}} |
Body
{
"driver": {
"name": "string",
"lastName": "string",
"emergencyPhone": "string",
"emergencyName": "string",
"emergencyPhoneType": "string",
"birthDate": "string",
"civilStatus": "string",
"email": "string",
"gender": "string",
"nationality": "string",
"group": "string"
}
}
Ejemplo
curl --location -g --request PUT 'https://sync.airbagtech.io/driver/{{DRIVER_ID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: apikey {{API_KEY}}' \
--data '{
"driver": {
"name": "string",
"lastName": "string",
"emergencyPhone": "string",
"emergencyName": "string",
"emergencyPhoneType": "string",
"birthDate": "string",
"civilStatus": "string",
"email": "string",
"gender": "string",
"nationality": "string",
"group": "string"
}
}'
Respuestas
✅ Respuesta exitosa (200 OK)
Devuelve la ficha del conductor ya actualizada, con la misma estructura que Consultar la info de un conductor.
{
"status": true,
"driver": {
"id": "EMP-1042",
"airbagId": "ab12cd34ef56gh78ij90kl12mn34op56",
"company": "Transportes Ejemplo",
"name": "JUAN",
"lastName": "PEREZ RAMIREZ",
"fullName": "JUAN PEREZ RAMIREZ",
"email": "[email protected]",
"phone": "+525598765432",
"status": "active",
"appStatus": "Activo",
"coins": 312,
"useAirbagTelematics": true,
"emergencyContact": {
"phone": "+525512345678",
"name": "Contacto Ejemplo",
"type": "cellphone"
}
}
}
La respuesta no se limita a los campos que enviaste: incluye la ficha completa del conductor, con los campos que genera la plataforma (gamificación, metadatos del primer acceso a la app móvil, licencia registrada por el conductor). El detalle de cada campo, su tipo y si puede estar ausente se documenta una sola vez en Campos dentro de driver.
Esta operación actualiza sólo los campos presentes en el cuerpo de la petición; el resto de la ficha permanece intacto. La API rechaza las claves que no reconoce con un 400 y el mensaje Driver Params have unknown parameters, así que no reenvíes tal cual la ficha que acabas de recibir: incluye campos de sólo lectura (license, coins, appStatus, los indicadores de bono) que este endpoint no acepta.
❌ Respuesta con error (400 Bad Request)
Se devuelve cuando el DRIVER_ID no existe, cuando algún campo no cumple las validaciones o cuando el cuerpo incluye claves no permitidas.
{
"status": false,
"message": "Error: Driver not found",
"errorId": "sentry_error_id_123"
}