As requisições para nossa api são feitas através da URL abaixo:
http://api.qualp.com.br/rotas/v4
Na versão 4, você pode utilizar tanto o método POST
quanto GET
, não precisando, necessáriamente,
enviar uma polilinha quanto faz requisições GET
.
As requisições sem polilinha existem para pessoas que não tem a rota pronta e precisam fazer a roteirização antes dos cálculo do pedágio da rota.
GET
Os parâmetros necessários para realizar uma consulta via GET
para a versão 4 de nossa api são mostrados abaixo:
{
"locations": [
"Curitiba - PR",
{
"lat":-22.263797,
"lng":-47.902534
}
],
"config":{
"vehicle":{
"type":"truck",
"axis":"all"
},
"tolls": {
"retroactive_date": ""
},
"freight_table":{
"category":"all",
"freight_load":"granel_solido",
"axis": "all"
},
"route":{
"calculate_return": false,
"optimized_route": false,
"alternative_routes": 0
},
"private_places":{
"max_distance_from_location_to_route":1000,
"categories": true,
"areas": false,
"contacts": false,
"products": false,
"services": false
},
"router": "qualp"
},
"show":{
"polyline":false,
"simplified_polyline": true,
"private_places":false,
"static_image":false,
"freight_table":true,
"link_to_qualp":true,
"maneuvers": true,
"truck_scales": true,
"tolls":true
},
"format":"json",
"exception_key": ""
}
locations
: Neste parâmetro, você informa os pontos pelos quais deseja traçar uma rota. Pode ser passado uma string com um CEP, nome de rua, cidade ou mesmo um objeto contendo uma latitude e uma longitude.
config
: Neste parâmetro, você configura como quer sua rota.
vehicle
: Aqui, será configurado o veículo que está utilizando.
axis
: Neste parâmetro, deve ser informado o número de eixos de seu veículo. É possivel informar um valor inteiro de 2 a 10, ou então uma string com o valor "all", para retornar os valores de pedágio para todas os eixos.type
: Neste parâmetro, deve ser informado o tipo ou categoria do veículo. Estas podem ser: "car", "truck", "moto" ou "bus".tolls
: Aqui, é configurado dados relacionados ao pedágio.
retroactive_date
: Calcula os preços do pedágio com base nos preços da data informada. Informar a data no formato dd/mm/aaaa. Se for utilizar a data atual, não é necessário informar a data.freight_table
: Neste parâmetro, é possível configurar a tabela frete que será retornada.
category
: Aqui, é necessário informar a categoria da tabela frete que deve ser retornada. As categorias podem ser: "A", "B", "C", "D" ou "all", para retornar os dados de todas as categorias.freight_load
: Aqui, é informado o tipo de carga para o qual deseja-se a tabela frete. Estes são os valores possíveis: "granel_solido", "granel_liquido", "frigorificada", "conteineirizada", "geral", "neogranel", "perigosa_granel_solido", "perigosa_granel_liquido", "perigosa_frigorificada", "perigosa_conteineirizada", "perigosa_geral", "granel_pressurizada" ou "all", para retornar os dados para todas as cargas.route
: Aqui, é configurado dados relacionados a rota.
calculate_return
: Com este parâmetro, você define se a volta deve ser calculada. Os valores possíveis são true e false.optimized_route
: Com este parâmetro, você define se a rota deve ser otimizada. O serviço de rota otimizada cálcula a distância entre as localizações informadas e retorna uma rota buscando o menor caminho possível. Os valores possíveis são true e false.alternative_routes
: Com este parâmetro, você define quantas rotas o nosso roteirizador tentará encontrar. O numero definido é o maximo de rotas que você aceita receber, mas não é garantido que encontre esse número de rotas.private_places
: Neste parâmetro, você define como devem ser retornados os locais privados presentes na rota.
max_distance_from_location_to_route
: Esta é a distância máxima do ponto geogŕafico cadastrado para o local até o ponto da rota mais próximo deste local, e é definido em metros.categories
: Define se as categorias do local devem ser retornadas junto com os dados do local. Deve ser informado true ou false.areas
: Define se as áreas do local devem ser retornadas junto com os dados do local. Deve ser informado true ou false.contacts
: Define se os contatos do local devem ser retornadas junto com os dados do local. Deve ser informado true ou false.products
: Define se os produtos vendidos no local devem ser retornadas junto com os dados do local. Deve ser informado true ou false.services
: Define se os serviços ofertados no local devem ser retornadas junto com os dados do local. Deve ser informado true ou false.show
: Este parâmetro define quais os dados que serão retornados por nossa api.
polyline
: Define se a polilinha da rota será ou não retornada pela api. Deve ser informado true ou false.simplified_polyline
: Define se a polilinha simplificada da rota será ou não retornada pela api. Deve ser informado true ou false.private_places
: Define se os locais privados presentes na rota serão ou não retornada pela api. Deve ser informado true ou false.static_image
: Define se a imagem estática da rota será ou não retornada pela api. Deve ser informado true ou false.freight_table
: Define se a tabela frete será ou não retornada pela api. Deve ser informado true ou false.link_to_qualp
: Define se um link para abrir a rota no site do qualp será ou não retornada pela api. Deve ser informado true ou false.maneuvers
: Define se o rotograma da rota será retornado ou não. Deve ser informado 'full', true ou false. O parâmetro 'full' retorna um rotograma detalhado e 'true' retorna um rotograma simplificado.truck_scales
: Define se as balanças presentes na rota será retornado. Deve ser informado true ou false.tolls
: Define se as informações referentes a praças de pedágio serão ou não retornados pela API.format
: Define o formato da resposta, podendo ser json
ou xml
.
exception_key
: Com esse parâmetro é possivel utilizar a exceção que você pussui cadastrada para essa rota, basta informar a chave da exceção.
A versão 4 de nossa API oferece o formato json
como formato de resposta padrão, mas você pode
alterá-lo para XML
caso necessário. Essa alteração é feita através do parâmetro format
, que
aceita os valores json
e xml
.
...
"format": "json"
...
...
"format": "xml"
...
Os parâmetros mostrados acima devem ser enviados na URL de consulta, no formato json
através do parâmetro json
:
https://api.qualp.com.br/rotas/v4?json={"locations": ["Curitiba - PR",{"lat":-22.263797,"lng":-47.902534}],"config":{"vehicle":{"type":"truck","axis":"all"},"freight_table":{"category":"all","freight_load":"granel_solido", "axis": "all"},"route":{"calculate_return":false},"private_places":{"max_distance_from_location_to_route":1000, "categories": true, "areas": false, "contacts":false, "products": false, "services":false}},"show":{"polyline":false,"private_places":false,"static_image":false,"freight_table":true,"link_to_qualp":true,"tolls":true},"format":"json"}
A consulta via POST
funciona da mesma maneira, mas os parâmetros devem ser enviados no corpo ou body
da requisição.
Quando você faz uma requisição via
GET
, não é possível enviar uma polilinha. Para isso, utilize o métodoPOST
Todas as configurações para as rotas são passadas para as rotas alternativas, por exemplo, se você solicitou a tabela frete e os pedagios, cada rota calculada retornará sua tabela frete e pedagios equivalentes.
A rota principal é sempre a primeira posição do array e as demais as rotas alternativas.
Exemplo Ponta Grossa PR
até São Paulo SP
utilizando a alternative_routes : 3
.
{
"rotas": [
{
"distancia": {
"texto": "537 km",
"valor": 537
},
"duracao": {
"texto": "05:45:56",
"valor": 20757
},
"endereco_inicio": "-25.09492,-50.16311",
"coordenada_inicio": "-25.09492,-50.16311",
"endereco_fim": "-23.56287,-46.65469",
"coordenada_fim": "-23.56287,-46.65469",
"polilinha_simplificada": "potzn@xyut~AzmjBik_@jquEuefGjyw@wevE~nkJyh`JjaFsyqCe~sAccjE`_V_j_Cqvf@ejvDxz`FermCvbq@mktCkcGkgtCggsD}xzBwa`Ak{@_k`Auv|@u~uBuw_@}u_Aeow@anNwakCwycA}dp@qsfCcal@wvbAsy~@ov|AwtOoxu@wfdN_gfCizvDq}qA{~Lco\\qxfDfyTybaCig~AusmDkrsAoydButaEgjJvzMk_p@sypAeh{@{em@imiEglbCis|C_eOqcqA_wtAadvAchr@|tMoynF{ilCmm{DgivFuxxDqhuQanp@eab@{h}@vfUu`f@mjY}z~@cfhAa~Nyv}AgffC_dk@ky{AytsCsccB{`{@{_lAkcyBqgMwhdDssgAmjWgp`Be_dBudeFsrkAkwiD_{rButoCmw{I"
},
{
"distancia": {
"texto": "508 km",
"valor": 508
},
"duracao": {
"texto": "05:42:37",
"valor": 20558
},
"endereco_inicio": "-25.09492,-50.16311",
"coordenada_inicio": "-25.09492,-50.16311",
"endereco_fim": "-23.56287,-46.65469",
"coordenada_fim": "-23.56287,-46.65469",
"polilinha_simplificada": "potzn@xyut~AgqXheq@gbgAooZmzqB}rqB}maCuhh@oqfBs|rBiufBofg@kcdAjnEsw_Biiz@{shEswj@}doE}eyAonpBy}aCg_dAibIexi@zn^ypq@}lTozIeoq@}~gEirtDoquAwpeDktb@hnFufOoz~@iut@}oTc]elp@cafBgryAmdOeu`FrhWco}@_in@qtpBpsPamsCuubAoi~BlwF_buF{{e@ujgBktxDqc~Eb~a@wayBguuAuq_CwjVyoqDxf_@wrrBu~G_nyBb|u@ytdB_|Bm_xDtjx@u`|CaelBcio@cc}FoqzH_}dEs``Aok|BfvOy{lA{t`Do|A}ylCoetBsh_M|eOqenC}jdAy|dE`}s@ymnBw}TmdpB{ez@y`~Axuh@mkpCqyOmdhA`gm@sjaAse@kvfEf_c@}oXl_VsbjBhfeAyai@z_d@u|qDwafBiezQ"
}
],
"id_transacao": 356,
"roteador_selecionado": "qualp",
"calcular_volta": false,
"otimizar_rota": true
}