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 crear. Este valor es sumamente importante ya que se utilizara para identificar a este recurso en nuestro sistema. Esta campo deberá ir en la ruta. |
| name | String | Si | 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 | Si | 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 | Si | Contacto que el conductor verá en la pantalla principal de la App. En caso de guardar un celular entonces también podremos mandar SMS en casos de emergencias como posible choque/asalto. |
| emergencyName | String | Si | Nombre de pila del contacto de emergencia. Este nombre saldrá en la pantalla principal de la App para Conductor. |
| emergencyPhoneType | String | Si | 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. |
| 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. |
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 | Autorization |
|---|---|
| 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 ID was not found",
"errorId": "sentry_error_id_123"
}