Toll for Maps

Ejemplo 1 – Peaje de una ruta sencilla

En este ejemplo, tenemos un simple cálculo de peaje para una ruta de 3 puntos en un tramo de la Autopista Ayrton Senna en São Paulo, procedente de la respuesta de la Directions API de Google Maps, cuya solicitud original era la siguiente:

https://maps.googleapis.com/maps/api/directions/json?origin=-23.465395,-46.375007&waypoints=-23.465957,-46.371015&destination=-23.467154, -46.365598&mode=driving&key={API_KEY}

La respuesta de la API Directions se utilizará como body en la solicitud al endpoint https://api.maplink.global/toll/v1/directions, como en el ejemplo siguiente:

curl -X POST "https://api.maplink.global/toll/v1/directions?vehicleType=TRUCK_WITH_TWO_DOUBLE_AXLES" -H "Authorization: Bearer 3O0d0YjOL72Roqp5CrnGwh5yvgKH" -H "Content-Type: application/json" -d @C:\temp\Directions_Response.json

Dónde:

  • vehicleType – Tipo de vehículo que calcula el peaje;
  • Directions_Response.json – Respuesta de la Directions API que contiene la ruta.

La respuesta llegará en formato JSON.

Los peajes de cada ruta se obtendrán de results.

Si la Directions API se procesa con rutas alternativas, devolverá 3 results, con 1 resultado para cada ruta.

Dentro de cada results se devolverá un objeto legs que corresponde a la propia ruta. El objeto contendrá el valor total de la ruta en totalCost y un objeto tolls con los valores e información de cada peaje de la ruta. También se devolverá el campo vehicleType, que indica el vehículo utilizado en ese tramo.

Cada objeto devuelto en peajes representa un peaje y contendrá la siguiente información:

  • name – Nombre del peaje;
  • address – Dirección de peaje;
  • city – Ciudad de peaje;
  • state – Objeto que contiene el nombre del estado (name) y su acrónimo (code);
  • country – País de peaje;
  • concession – Concesionario responsable del peaje;
  • coordinates – Coordenadas (latitud y longitud) del peaje;
  • price – Precio por peaje;
  • serviceTypes – Array com códigos para integração com sistemas de pagamento automático. Atualmente disponível apenas no Brasil;
    • serviceId – Código para la integración;
    • name – Descripción del código de servicio.

A continuación encontrará la respuesta completa:

{
    "results": [
        {
            "legs": [
                {
                    "tolls": [
                        {
                            "id": "17",
                            "name": "Pedágio - Itaquaquecetuba Leste",
                            "address": "SP 070 - Rod. Ayrton Senna - Km 32,9",
                            "city": "Itaquaquecetuba",
                            "state": {
                       		"name": "São Paulo",
                        	"code": "SP"
                   	    },
                            "country": "Brasil",
                            "concession": "Ecopistas",
                            "coordinates": {
                                "latitude": -23.4656821,
                                "longitude": -46.3727036
                            },
                            "serviceTypes": [
                                {
                                    "serviceId": "80",
                                    "name": "Via Facil"
                                },
                                {
                                    "serviceId": "35350700329000103",
                                    "name": "ANTTCODE"
                                }
                            ],
                            "price": 7.8
                        }
                    ],
                    "legTotalCost": 7.8
                },
                {
                    "tolls": [],
                    "legTotalCost": 0
                }
            ],
            "totalCost": 7.8
        }
    ]
}