Crear conductor
[ POST ]
Esta ruta permite crear un Conductor, es necesario que para que dicho usuario se conecte debe descargar nuestra aplicación móvil.
https://sync.airbagtech.io/driver
Valores de datos
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 |
|---|---|---|---|
| id | String | No | ID del conductor que desea crear. Este valor es sumamente importante ya que se utilizara para identificar a este recurso en nuestro sistema. Si la solicitud no viene con uno, nuestro sistema le asignara uno. |
| 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. |
| phone | String | Si | Número celular del conductor con el estandar E.164. Esta valor es sumamente importante ya que se utilizará para hacer inicio de sesión por parte del conductor. Nuestra aplicación es passwordless por lo que le llegara un SMS a este teléfono con una contraseña de un solo uso. Ejemplo +525555555555 |
| emergencyPhone | String | Si | Contacto que el conductor verá en la pantalla principal de la App, con el estandar E.164 (por ejemplo +525555555555). 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: 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. |
| useAirbagTelematics | Boolean | No | Si no se se incluye este campo, entonces por defecto será true. Indica si el conductor utilizará el sistema de telemetría de Airbag. En caso de contar con tu propio sistema y querer hacer uso de los enpoints de Eventos, entonces este valor debe ser false. En caso de requerir hacer un cambio en el futuro, es necesario hacerlo atraves de nuestros agentes de soportes. |
Por ahora los campos birthDate y group se aceptan pero no se guardan en el conductor. Se está corrigiendo; mientras tanto, asigna el grupo y la fecha de nacimiento 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": {
"id": "string",
"name": "string",
"lastName": "string",
"phone": "string",
"emergencyPhone": "string",
"emergencyName": "string",
"emergencyPhoneType": "string",
"birthDate": "string",
"civilStatus": "string",
"email": "string",
"gender": "string",
"nationality": "string",
"group": "string",
"useAirbagTelematics": "boolean"
}
}
Ejemplo
curl --location 'https://sync.airbagtech.io/driver' \
--header 'Content-Type: application/json' \
--header 'Authorization: apikey {{API_KEY}}' \
--data '{
"driver": {
"id": "string",
"name": "string",
"lastName": "string",
"phone": "string",
"emergencyPhone": "string",
"emergencyName": "string",
"emergencyPhoneType": "string",
"birthDate": "string",
"civilStatus": "string",
"email": "string",
"gender": "string",
"nationality": "string",
"group": "string",
"useAirbagTelematics": "boolean"
}
}'
Respuestas
✅ Respuesta exitosa (200 OK)
Devuelve los campos enviados que la API aceptó, tal como se enviaron, más el airbagId asignado al conductor y su id.
{
"status": true,
"driver": {
"id": "EMP-1042",
"name": "Juan",
"lastName": "Pérez Ramírez",
"phone": "+525598765432",
"emergencyPhone": "+525512345678",
"emergencyName": "Contacto Ejemplo",
"emergencyPhoneType": "cellphone",
"email": "[email protected]",
"useAirbagTelematics": true,
"airbagId": "ab12cd34ef56gh78ij90kl12mn34op56"
}
}
| Campo | Tipo | Descripción |
|---|---|---|
status | Boolean | true si el conductor se creó. |
driver | Object | Los campos del cuerpo de la solicitud que la API aceptó, más airbagId e id. |
driver.airbagId | String | Identificador del conductor en Airbag. Puedes usarlo en lugar de tu id en los demás endpoints. |
driver.id | String | El id que enviaste o, si no enviaste uno, el mismo valor que airbagId. |
Los nombres se devuelven tal como se enviaron; la normalización a mayúsculas y sin acentos se ve al consultar el conductor.
❌ Respuesta con error (400 Bad Request)
Se devuelve cuando falta un campo obligatorio, un campo no cumple las validaciones o el cuerpo incluye campos no permitidos.
{
"status": false,
"message": "Error: Driver Params have unknown parameters: country",
"errorId": "sentry_error_id_123"
}