Como obter o frete mínimo com a Toll for Maps API?

A Freight API possui integração com a Toll for Maps API. Assim, além dos pedágios, é possível calcular o frete mínimo a partir das rotas geradas pela Directions API do Google.

O serviço Freight API pode ser integrado com a Toll for Maps API, portanto além do retorno das tarifas de pedágios, será fornecido também o cálculo do frete.

O processo consiste em apenas adicionar os parâmetros da Freight API no body da requisição para a Toll for Maps APIs. 

Não será necessário incluir o parâmetro distance, já que a Directions API fornecerá a informação da distância percorrida.

O exemplo a seguir exibe uma requisição de um rota entre São Paulo - SP e Campinas - SP, a ser percorrida por um caminhão com 4 eixos duplos, incluindo cálculo de pedágios e frete (Carga: Granel sólido / Tipo de operação: D). 

Endpoint utilizado: https://api.maplink.global/toll/v1/directions?vehicleType={TIPO_VEICULO} (Método: POST)

No body da requisição deverá ser informado a resposta da Directions API (Google), acrescentado com os parâmetros da Freight API, conforme o exemplo abaixo:

{
    //Resposta da Directions API 
    "maplink": {
        "freight": {
            "operationType": [
                "D"
            ],
            "goodsType": [
                "GRANEL_SOLIDO"
            ],
            "axis": [
                "4"
            ],
            "roundTrip": false,
            "backEmpty": false,
            "otherCosts": [
                {
                    "name": "ICMS",
                    "type": "PERCENT",
                    "value": "5"
                },
                {
                    "name": "Lucro",
                    "type": "PERCENT",
                    "value": "20"
                },
                {
                    "name": "TaxaFixa",
                    "type": "FIXED",
                    "value": "500"
                }
            ],
            "date": "2021-10-02"
        }
    }
}

A resposta completa pode ser conferida abaixo:

{
    "results": [
        {
            "legs": [
                {
                    "tolls": [
                        {
                            "id": "13",
                            "name": "Pedágio - Campo Limpo",
                            "address": "SP 348 - Rod. dos Bandeirantes - Km 39",
                            "city": "Campo Limpo",
                            "state": {
                                "name": "São Paulo",
                                "code": "SP"
                            },
                            "country": "Brasil",
                            "concession": "Autoban",
                            "direction": "NORTH",
                            "coordinates": {
                                "latitude": -23.3260346,
                                "longitude": -46.8231453
                            },
                            "serviceTypes": [
                                {
                                    "serviceId": "48",
                                    "name": "Via Facil"
                                },
                                {
                                    "serviceId": "35353480390470101",
                                    "name": "ANTTCODE"
                                }
                            ],
                            "price": 31.80
                        },
                        {
                            "id": "73",
                            "name": "Pedágio - Valinhos Norte",
                            "address": "SP 330 - Rod. Anhanguera - Km 82 Valinhos",
                            "city": "Valinhos",
                            "state": {
                                "name": "São Paulo",
                                "code": "SP"
                            },
                            "country": "Brasil",
                            "concession": "Autoban",
                            "direction": "NORTHWEST",
                            "coordinates": {
                                "latitude": -23.01295484,
                                "longitude": -47.0230555
                            },
                            "serviceTypes": [
                                {
                                    "serviceId": "50",
                                    "name": "Via Facil"
                                },
                                {
                                    "serviceId": "35353300820000101",
                                    "name": "ANTTCODE"
                                }
                            ],
                            "price": 31.50
                        }
                    ],
                    "legTotalCost": 63.30
                }
            ],
            "freight": {
                "source": "RESOLUÇÃO No 5.949, DE 13 DE JULHO DE 2021",
                "results": {
                    "D": {
                        "4": {
                            "GRANEL_SOLIDO": {
                                "value": 369.97,
                                "otherCosts": {
                                    "ICMS": 18.50,
                                    "Lucro": 74.00,
                                    "TaxaFixa": 500
                                }
                            }
                        }
                    }
                },
                "minimumFreight": 369.97,
                "minimumFreightWithCosts": 962.47
            },
            "totalCost": 63.30,
            "routeFreightCost": 1025.77
        }
    ]
}