Validación de choferes y concesiones de taxis

Introducción

Utilizando este par de métodos podemos conocer los detalles de la concesión otorgada a un particular mediante un numero de placa de taxi existente y los detalles de un conductor registrado en SETRAVI ingresando su nombre completo.

Nota: El nombre del concesionario (dueño de las placas) puede o no ser el conductor del taxi.

Consultar los datos de concesión por medio de las placas

Para este ejemplo utilizaremos A10291 como número de placa en el siguiente cURL

curl -X GET http://datos.labplc.mx/movilidad/taxis/A10291.json

Obtendermos una respuesta como esta:

{
    "Taxi": {
        "concesion": [
            {
                "placa": "A10291",
                "nombre": "RAMON",
                "apellido_paterno": "GONZALEZ",
                "apellido_materno": "RANGEL",
                "marca": "NISSAN",
                "submarca": "TSURU I/II GS2",
                "anio": "2001"
            }
        ]
    }
}

Verificar a un conductor mediante el nombre

Utilizando la respuesta anterior podemos determinar si el concesionario es tambien conductor de esta unidad mediante el siguiente ejemplo en PHP

/*

manda llamar a este archivo utilizando ejemplo.php?placa=A10291

*/

//pasamos la placa a mayusculas
$placas = strtoupper($_GET['placa']);

//inicializar cURL para pedir la informacion de la placa
$request_placas = curl_init();
curl_setopt($request_placas,CURLOPT_URL,"http://datos.labplc.mx/movilidad/taxis/".$placas.".json");
//esta linea es importante para poder procesar la respuesta json
curl_setopt($request_placas, CURLOPT_RETURNTRANSFER, true);

//ejecutamos
$respuesta_placas = curl_exec($request_placas);
curl_close($request_placas);

//convertimos el json de respuesta en un array asociativo
$json_placas = json_decode($respuesta_placas, true);

//la ubicacion dentro del array es Taxi > concesion > elemento 0
$taxi = $json_placas["Taxi"]["concesion"][0];

//preparamos la segunda busqueda
$nombre = $taxi["nombre"];
$apellido_paterno = $taxi["apellido_paterno"];
$apellido_materno = $taxi["apellido_materno"];

//imprimir
print("Datos de la Concesion:<pre>");
print_r($taxi);
print("</pre>");

$request_conductor = curl_init();
curl_setopt($request_conductor, CURLOPT_URL, "http://datos.labplc.mx/movilidad/taxis/conductor.json?nombre=".$nombre."&apellido_paterno=".$apellido_paterno."&apellido_materno=".$apellido_materno);
curl_setopt($request_conductor,CURLOPT_RETURNTRANSFER,true);
$respuesta_conductor = curl_exec($request_conductor);

$json_conductor = json_decode($respuesta_conductor, true);
$conductor = $json_conductor["taxi"]["conductor"][0];

print("Datos del Conductor:<pre>");
print_r($conductor);
print("</pre>");

if($conductor != NULL) {
	echo "El concesionario es conductor tambien.";
} else {
	echo "El concesionario no es conductor.";
}

--- Resultado ---- 

Datos de la Concesion:
Array
(
    [placa] => A10291    
    [nombre] => RAMON                                             
    [apellido_paterno] => GONZALEZ                                          
    [apellido_materno] => RANGEL                                            
    [marca] => NISSAN                                            
    [submarca] => TSURU I/II GS2                                    
    [anio] => 2001
)
Datos del Conductor:
Array
(
    [nombre] => RAMON                                             
    [apellido_paterno] => GONZALEZ                                          
    [apellido_materno] => RANGEL                                            
    [identificador] => 15676
    [vigencia] => 2014-05-17
    [antiguedad] => 2007-07-27
)

El concesionario es conductor tambien.

Como podemos ver en este ejemplo, el concesionario también esta registrado como conductor de su unidad. La respuesta incluye un campo llamado identificador, con este dato podemos tambien realizar una consulta

curl -X GET "http://datos.labplc.mx/movilidad/taxis/conductor.json?identificador=15676"

Referencias

API de Movilidad - Placas
API de Movilidad - Conductores