Modelo 1 · API de Roteirização

Sua plataforma manda os pedidos.
Volta rota pronta.

Endereços geocodificados com 93% de acerto — validado na rua —, paradas na ordem ótima e o link do Maps, numa única chamada. Você mostra tudo no seu app. Número não confirmado? A API avisa: number_not_confirmed.

500 pedidos grátis · 1º mês sem mensalidade · sem setup · sem cartão

# Autenticação

Base URL https://rotapro.net.br/v1. Toda chamada exige sua API key no header — server-to-server apenas, nunca exponha a key no front-end.

Authorization: Bearer rl_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Key ausente ou inválida → 401. Limite excedido → 429 (padrão 60 req/min, ajustável por contrato). Teste rápido: GET /v1/ping devolve pong com o nome da sua plataforma.

# Gerar rota

POST/v1/resolve

Recebe até 25 pedidos por chamada e devolve endereços geocodificados, ordem otimizada de entrega e link do Google Maps.

origin é obrigatório. É o endereço do estabelecimento de onde as entregas partem — a âncora que desambigua ruas parecidas, valida cidade/raio e ordena as paradas. Geocodifique uma vez, guarde lat/lng e reutilize. Vários estabelecimentos? Envie o origin correspondente em cada chamada. Sem ele → 400 ORIGIN_REQUIRED.

Requisição

{
  "origin": { "lat": -26.4851, "lng": -49.0713, "city": "Guaramirim", "uf": "SC" },
  "orders": [
    {
      "external_id": "pedido-8841",
      "structured": {
        "numero_pedido": "8841",
        "cliente_nome": "Maria Silva",
        "telefone": "47999990000",
        "endereco": {
          "logradouro": "Rua 28 de Agosto", "numero": "2200",
          "bairro": "Centro", "cidade": "Guaramirim",
          "uf": "SC", "cep": "89270-000"
        }
      }
    },
    { "external_id": "pedido-8842", "text": "texto integral da comanda..." },
    { "external_id": "pedido-8843", "image": { "fileName": "comanda.jpg", "data": "<base64>" } }
  ]
}

Formas de entrada (exatamente uma por pedido)

FormaQuando usarObservações
structuredVocê já tem os campos no seu sistemaMais barato, rápido e preciso. Só endereco é obrigatório
textSó tem o texto cru da comandaMáx. 20.000 caracteres. Processado por IA, sem custo adicional
imageSó tem foto/scan da comandaBase64, máx. ~6 MB. OCR + IA — adicional de R$ 0,05/pedido (repasse do custo de IA)
Só tem a foto da comanda? Nós resolvemos. Nenhum concorrente aceita imagem: a RotaLink faz OCR + extração por IA e entra no mesmo pipeline de rota. O adicional de R$ 0,05 por pedido via imagem é o repasse direto do custo de processamento — apareça como quiser no seu preço final.

Resposta 200

{
  "success": true,
  "mapsLink": "https://www.google.com/maps/dir/?api=1&travelmode=driving&waypoints=...&destination=...",
  "orders": [
    {
      "external_id": "pedido-8841",
      "order": 1,                          // posição na rota otimizada
      "endereco": { ...validado... },
      "lat": -26.4702, "lng": -49.0028,
      "number_not_confirmed": false,  // true = número não confirmado pelo geocoder
      "city_mismatch": false          // true = cidade vizinha, dentro do raio
    }
  ],
  "rejected": [ { "external_id": "pedido-8842", "reason": "NO_GOOGLE_RESULTS" } ]
}
Pedidos rejeitados não bloqueiam os demais. A rota sai com os endereços válidos; os rejected voltam com o motivo para correção e reenvio no seu sistema.

# Erros

HTTPerrorSignificado
400ORIGIN_REQUIREDorigin ausente (sem lat/lng nem endereco)
400ORDERS_REQUIREDorders vazio ou ausente
400TOO_MANY_ORDERSMais de 25 pedidos na chamada
400INVALID_ORDERItem sem forma de entrada válida (detalhe em message)
401INVALID_API_KEYKey ausente, inválida ou revogada
422ORIGIN_NOT_GEOCODEDEndereço de origem não geocodificável
422NO_VALID_ADDRESSESNenhum pedido geocodificável (rejected traz motivos)
429RATE_LIMIT_EXCEEDEDLimite de req/min excedido
500INTERNAL_ERRORErro interno — repita a chamada

Motivos de rejeição em rejected[].reason: INSUFFICIENT_DATA, NO_GOOGLE_RESULTS, EXTRACT_FAILED / EXTRACT_EMPTY.

# Boas práticas

# Simule seu custo

Valores de referência por pedido processado — condições finais (incluindo piloto com desconto) no contrato de parceria. Sem taxa de setup. Seus primeiros 500 pedidos são grátis (30 dias) e o 1º mês não tem mensalidade. Pedido enviado como foto da comanda tem adicional de R$ 0,05 (repasse do custo de IA); texto cru não paga adicional.

5.000
Preço por pedido
Mensalidade base
suporte + plataforma
Total estimado/mês

Para comparar: soluções equivalentes no mercado brasileiro cobram a partir de R$ 0,35 por entrega, com setup de R$ 2.400+ e mínimo mensal. Na RotaLink você integra e paga pelo que processar.

Pronto para integrar?

Cadastre-se com sua conta Google em 30 segundos, gere sua key na hora e faça a primeira chamada hoje — 500 pedidos grátis, sem cartão. Suporte direto na integração.

Começar com o Modelo 1

Quer também o app do entregador com a sua marca? Conheça o Modelo 2 →