API: Drivers

M: Listar conductores

HTTP GET:
https://<hostname>/api/drivers
URL PARAMETERS:
Nombre Tipo Requerido Descripción
page_size Tamaño de Página Numérico no (opcional, default: 5000, max: 5000) Cantidad de elementos que se quiere obtener en la respuesta.
page_num Número de Página Numérico no (opcional, default: 0) Si la cantidad global de elementos es mayor al tamaño de página utilizado, se utiliza este parámetro para obtener una página específica.
sort_by Ordernar por string no Nombre del campo del Driver Data Object que se utilizará para ordenar la respuesta. Si el campo es de tipo texto, el orden es alfabético.
sort_dir Dirección de ordenamiento string no Dirección del orden de la respuesta, ascendente (asc) o descendente (desc).
fields Campos string no Nombres de los campos que se quiere obtener del Driver Data Object. Deben estar separados por ,.

Este método soporta el uso de filtros.

OUTPUT:

Json con los campos:

EJEMPLO CON CURL:
$ curl -u <api_key>:<password> -X GET https://<hostname>/api/driver?page_size=2
RESPUESTA:
{
  "success": true,
  "data": [
    {
      "id": "12",
      "client_id": "22",
      "first_name": "Juan",
      "last_name": "Perez",
      "mobile_number": "(855) 966-6762",
      "cellular_provider_id": "1",
      "license": "5143678093458",
      "license_expiration": "2020-05-30 00:00:00+00",
      "email": "jperez@internet.com",
      "emergency_contact": "Antonio García",
      "blood_type": "A+",
      "picture": "",
      "rfid": "16702093",
      "fingerprint": "",
      "ibutton": "17000018B4C00B01",
      "security_question": "¿Cuál es el nombre de su madre?",
      "security_answer": "Juana Barrios",
      "user_id": "15",
      "creation_date": "2016-10-10 14:39:59-04",
      "drivergroup_ids": [],
      "deactivated": "0"
    },
    {
      "id": "13",
      "client_id": "22",
      "first_name": "Pedro",
      "last_name": "Gonzalez",
      "mobile_number": "(504) 2142-4652",
      "cellular_provider_id": "3",
      "license": "12436788452",
      "license_expiration": "2021-12-01 00:00:00+00",
      "email": "pgonzalez@internet.com",
      "emergency_contact": "Manuel Maldonado",
      "blood_type": "B+",
      "picture": "",
      "rfid": "436220",
      "fingerprint": "",
      "ibutton": "1D000018B4CBB701",
      "security_question": "¿Cuándo es su aniversario de boda?",
      "security_answer": "14 de septiembre",
      "user_id": "16",
      "creation_date": "2017-02-12 12:07:14-04",
      "drivergroup_ids": ["2", "3"],
      "deactivated": "0"
    }
}

M: Ver conductor

HTTP GET:
https://<hostname>/api/driver/<id>
URL PARAMETERS:
Nombre Tipo Requerido Descripción
id Id de Conductor Numérico Id del conductor que se quiere ver.
OUTPUT:

Json con los campos:

EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
     -X GET
     https://<hostname>/api/driver/12
RESPUESTA:
{
  "success": true,
  "data":{
    "id": "12",
    "client_id": "22",
    "first_name": "Juan",
    "last_name": "Perez",
    "mobile_number": "(855) 966-6762",
    "cellular_provider_id": "1",
    "license": "5143678093458",
    "license_expiration": "2020-05-30 00:00:00+00",
    "email": "jperez@internet.com",
    "emergency_contact": "Antonio García",
    "blood_type": "A+",
    "picture": "",
    "rfid": "16702093",
    "fingerprint": "",
    "ibutton": "17000018B4C00B01",
    "security_question": "¿Cuál es el nombre de su madre?",
    "security_answer": "Juana Barrios",
    "user_id": "15",
    "creation_date": "2016-10-10 14:39:59-04",
    "drivergroup_ids": [],
    "deactivated": "0"
  }
}

M: Crear conductor

HTTP POST:
https://<hostname>/api/driver
BODY PARAMETERS:
OUTPUT:

Json con los campos:

EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
     --data "first_name=Mario&last_name=Osorio"
     https://<hostname>/api/driver
RESPUESTA:
{
  "success": true,
  "clientId": "22",
  "data": {
    "id": "15",
    "client_id": "22",
    "first_name": "Mario",
    "last_name": "Osorio",
    "mobile_number": "",
    "cellular_provider_id": "",
    "license": "",
    "license_expiration": "",
    "email": "",
    "emergency_contact": "",
    "blood_type": "",
    "picture": "",
    "rfid": "",
    "fingerprint": "",
    "ibutton": "",
    "security_question": "",
    "security_answer": "",
    "user_id": "",
    "creation_date": "",
    "drivergroup_ids": [],
    "deactivated": "0"
  }
}

M: Modificar conductor

HTTP PUT:
https://<hostname>/api/driver/<id>
URL PARAMETERS:
Nombre Tipo Requerido Descripción
id Id de Conductor Numérico Id del conductor que se quiere modificar.
BODY PARAMETERS:
OUTPUT:

Json con los campos:

EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
     -X PUT
     --data "mobile_number=+50236004555"
     https://<hostname>/api/driver/12
RESPUESTA:
{
    "success": true
}

M: Asignar conductor a vehículo

HTTP PUT:
https://<hostname>/api/vehicle/<vehicle_id>/set_driver/<driver_id>
URL PARAMETERS:
Nombre Tipo Requerido Descripción
vehicle_id Id del Vehículo Numérico Id del vehículo al que quiere asignar conductor.
driver_id Id del Conductor Numérico Id del conductor que quiere asignar al vehículo.
OUTPUT:

Json con los campos:

EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
     -X PUT
     https://<hostname>/api/vehicle/2468/set_driver/14501
RESPUESTA:
{
    "success": true
}

M: Desasignar conductor

HTTP PUT:
https://<hostname>/api/vehicle/<vehicle_id>/no_driver
URL PARAMETERS:
Nombre Tipo Requerido Descripción
vehicle_id Id del Vehículo Numérico Id del vehículo al que quiere desasignar conductor.
OUTPUT:

Json con los campos:

EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
     -X PUT
     https://<hostname>/api/vehicle/2468/no_driver
RESPUESTA:
{
    "success": true
}

M: Ver historial de asignaciones de vehículos

Requiere el permiso: "Ver Asignaciones de Vehículos de Todos los Conductores"

HTTP GET:
https://<hostname>/api/driver/<id>/vehicles
URL PARAMETERS:
Nombre Tipo Requerido Descripción
id Id de Conductor Numérico Id del conductor del que se quiere obtener las asignaciones.
page_size Tamaño de Página Numérico no (opcional, default: 5000, max: 5000) Cantidad de elementos que se quiere obtener en la respuesta.
page_num Número de Página Numérico no (opcional, default: 0) Si la cantidad global de elementos es mayor al tamaño de página utilizado, se utiliza este parámetro para obtener una página específica.
OUTPUT:

Json con los campos:

EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
     -X GET
     https://<hostname>/api/driver/13264/vehicles
RESPUESTA:
{
    "success": true,
    "data": [
        {
            "date_time": "2017-07-20 22:08:29+00",
            "vehicle_id": "246"
        },
        {
            "date_time": "2017-07-21 15:02:18+00",
            "vehicle_id": "237",
            "user_id": "64"
        },
        {
            "date_time": "2017-07-24 07:14:09+00",
            "vehicle_id": "228",
            "user_id": "64"
        }
    ]
}

O: Driver Data Object

Cada objeto de conductor tiene estos campos:

Campo Tipo Sólo lectura Requerido Descripción
id Numérico no Id del Conductor
client_id Numérico no Id de Cliente al que pertenece este conductor
first_name Texto no Nombre del conductor.
last_name Texto no Apellido del conductor.
mobile_number Texto no no Número de teléfono móvil del conductor.
license Texto no Número de identificación de la licencia de conducir del conductor.
license_expiration Fecha no Fecha de expiración de la licencia de conducir del conductor.
email Texto no Dirección de correo electrónico del conductor.
emergency_contact Texto no no Información de contacto en caso de emergencia.
blood_type Texto no no Tipo de sangre
picture Texto no no URL de la foto del conductor.
rfid Texto no no Código de la tarjeta de identificación del conductor.
fingerprint Texto no no
ibutton Texto no no Código del iButton del conductor.
security_question Texto no Pregunta de seguridad.
security_answer Texto no Respuesta de seguridad.
user_id Numérico no Id del usuario asociado a este conductor para uso del App móvil de Conductor.
drivergroup_ids Lista de números no Ids de los grupos de conductores asociados a este conductor.
creation_date Fecha no Fecha de creación del conductor.
deactivated Numérico no 1: Borrado

O: Vehicle Change Object

Key Nombre Descripción
date_time Fecha y hora Fecha y hora del cambio de vehículo.
vehicle_id Id del vehículo Id del nuevo vehículo.
user_id Id del usuario Id del usuario que hizo el cambio. Si el cambio es automático (con identificación por iButton o RFid), no se envía este campo.