API L.I.F.O.
Duas regras: coordenadas são sempre [latitude, longitude] (do jeito normal, como no Google Maps) e toda chamada leva sua chave. O resto a gente resolve.
1. Começar
Entre em developers.html com sua conta do L.I.F.O., copie sua chave (lifo_live_...) e pronto. Você já começa com 100 requisições grátis.
Base da API: https://lifo.com.br/api
Envie a chave de um destes jeitos:
- Header
Authorization: Bearer lifo_live_...(recomendado) - Parâmetro
?key=lifo_live_...(útil para estilos de mapa)
2. Otimizar uma rota — a partir de 1 crédito
Mande sua partida e as paradas. Receba a ordem ideal com geometria completa e distâncias acumuladas. Suporta até 500 paradas por chamada.
Custo: 1 crédito a cada 150 paradas na mesma chamada (ex.: até 150 paradas = 1 crédito; 151 a 300 paradas = 2 créditos; 301 a 450 = 3 créditos; 451 a 500 = 4 créditos). Pacotes no mesmo endereço são agrupados e otimizados automaticamente.
curl -X POST https://lifo.com.br/api/v1/optimize \
-H "Authorization: Bearer SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"partida": [-27.5954, -48.5480],
"paradas": [
{ "id": "pedido-1", "coords": [-27.6020, -48.5400] },
{ "id": "pedido-2", "coords": [-27.5800, -48.5200] },
{ "id": "pedido-3", "coords": [-27.6100, -48.5600] }
]
}'const r = await fetch('https://lifo.com.br/api/v1/optimize', {
method: 'POST',
headers: { 'Authorization': 'Bearer SUA_CHAVE', 'Content-Type': 'application/json' },
body: JSON.stringify({
partida: [-27.5954, -48.5480],
paradas: [
{ id: 'pedido-1', coords: [-27.6020, -48.5400] },
{ id: 'pedido-2', coords: [-27.5800, -48.5200] },
],
}),
});
const { ordem, distancia_m, duracao_s, caminho } = await r.json();
// ordem[0] é a 1ª parada, caminho é a linha completa para desenhar no mapaResposta:
{
"ordem": [
{ "posicao": 1, "id": "pedido-2", "coords": [-27.58, -48.52], "chegada_s": 412, "distancia_m": 3200 },
{ "posicao": 2, "id": "pedido-1", "coords": [-27.602, -48.54], "chegada_s": 903, "distancia_m": 7850 }
],
"distancia_m": 7850,
"duracao_s": 1511,
"caminho": [[-27.5954, -48.5480], [-27.5800, -48.5200], [-27.6020, -48.5400]],
"nao_atendidas": [],
"creditos_cobrados": 1
}Quer voltar a um ponto final? Adicione "fim": [lat, lng]. Sem fim, a rota termina na última parada.
3. Rota do ponto A ao B — 1 crédito
curl -X POST https://lifo.com.br/api/v1/route \
-H "Authorization: Bearer SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{ "de": [-27.5954, -48.5480], "para": [-27.1000, -48.6000] }'Retorna distancia_m, duracao_s e caminho (lista de [lat, lng] para desenhar a linha).
4. Mapa em 3 linhas — sem custo de crédito
<div id="map" style="height:400px"></div>
<link href="https://unpkg.com/maplibre-gl/dist/maplibre-gl.css" rel="stylesheet">
<script src="https://unpkg.com/maplibre-gl/dist/maplibre-gl.js"></script>
<script>
new maplibregl.Map({
container: 'map',
style: 'https://lifo.com.br/api/v1/maps/style.json?key=SUA_CHAVE',
center: [-48.548, -27.595], zoom: 11 // MapLibre usa [lng, lat]
});
</script>[longitude, latitude]. A API do L.I.F.O. é sempre [latitude, longitude]. Ao desenhar o caminho no mapa, inverta cada par: caminho.map(([lat, lng]) => [lng, lat]).Saldo ativo necessário: o carregamento visual do mapa não desconta créditos do seu saldo, mas exige uma chave com saldo ativo (pelo menos 1 crédito válido na carteira, seja do período grátis de 30 dias ou de recarga via Pix).
5. Área de Cobertura (Cidades Atendidas em SC)
A API L.I.F.O. opera com malha viária e mapas de alta definição cobrindo 13 municípios estratégicos no litoral de Santa Catarina e seus principais corredores logísticos:
- Eixo Sul & Metropolitano (Grande Florianópolis): Florianópolis (Ilha e Continente), São José, Palhoça, Biguaçu, Santo Amaro da Imperatriz, Governador Celso Ramos e Paulo Lopes (Rodovias: BR-101, SC-401, SC-403, SC-405, SC-406, BR-282 / Via Expressa).
- Eixo Norte (Vale do Tijucas & Costa Esmeralda até Balneário Camboriú): Tijucas, Porto Belo, Bombinhas, Itapema, Camboriú e Balneário Camboriú (Rodovias: BR-101 Norte, Marginais Leste/Oeste, Av. Nereu Ramos, Av. Brasil, 3ª Avenida).
Detalhes completos e estorno automático: Veja a página dedicada de Cobertura da API → para conferir regras de estorno (HTTP 422 sem cobrança) e o roadmap da nova VPS em implantação para atendimento do Brasil inteiro.
Procura a cobertura do aplicativo celular para motoristas? O aplicativo móvel L.I.F.O. possui Cobertura Nacional 100% Brasil → em todos os 27 estados.
6. Erros
401— chave ausente ou formato inválido.402— chave inativa ou sem saldo válido. Recarregue.400— coordenadas inválidas ou mais de 500 paradas por chamada.422— não foi possível calcular (ex.: ponto fora da área coberta). O crédito é estornado.429— limite de velocidade excedido (máximo de 60 requisições/minuto ou 3 cálculos pesados simultâneos por chave). Aguarde alguns segundos e tente novamente. Nenhum crédito é descontado.502/503— instabilidade nossa. Crédito estornado quando já cobrado.
7. Limites & Validade
- Até 500 paradas por
/v1/optimize(1 crédito a cada lote de 150 paradas). - Velocidade e Concorrência: até 60 requisições por minuto por chave e até 3 otimizações simultâneas em paralelo (headers
X-RateLimit-RemainingeX-RateLimit-Resetenviados em toda resposta). - 100 requisições grátis: válidas por 30 dias após a criação da conta. Se não utilizar dentro do prazo, as requisições gratuitas expiram.
- Créditos recarregados (Pix): nunca expiram (saldo cumulativo permanente).
- Visualização de Mapas: o carregamento visual do mapa não desconta créditos do seu saldo, mas exige uma chave com saldo ativo (pelo menos 1 crédito válido na carteira, seja do período grátis de 30 dias ou de recarga via Pix).
- Bônus App L.I.F.O.: você ganha automaticamente 15 dias de teste grátis no aplicativo móvel L.I.F.O. para motoristas/entregadores (use o mesmo login no celular).
- Área Coberta: 13 municípios de SC (de Paulo Lopes a Balneário Camboriú).
- Preço: R$ 0,02 por crédito, recarga via Pix a partir de R$ 20.