Programadores

A mesma API sobre a qual construímos.

O painel e a aplicação para condutores da RouteIQ correm sobre a mesma API REST que recebe: mais de 180 endpoints, documentados numa especificação OpenAPI 3.0. Se está no produto, pode automatizá-lo.

Arranque rápido

O seu primeiro pedido

Cada local tem o seu próprio subdomínio e todos os pedidos ficam limitados a ele. Inicie sessão, obtenha o token de acesso e envie-o num único cabeçalho.

Criar um trabalhocurl
# URL base: https://<o-seu-subdominio>.routeiq.app/api
# Um cabeçalho autentica todos os pedidos

curl -X POST https://acme.routeiq.app/api/job \
  -H "x-access-token: $ROUTEIQ_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_first_name": "Dana",
    "customer_phone": "2125550100",
    "service_type_id": 12,
    "stops": [ ... ]
  }'

# Listar trabalhos, os mais recentes primeiro
curl "https://acme.routeiq.app/api/job?page=1&per_page=20&sort_by=created_at&sort_order=desc" \
  -H "x-access-token: $ROUTEIQ_ACCESS_TOKEN"
Autenticação

Um cabeçalho, todos os pedidos

O token de acesso identifica o utilizador e a aplicação numa só credencial. O painel, a aplicação para condutores e as suas integrações autenticam-se da mesma forma. Para processos servidor a servidor sem utilizador com sessão iniciada, use antes uma chave de API.

Cabeçalho Serve para De onde vem
x-access-token: <token> Tudo o que um utilizador com sessão iniciada faz. A aplicação é resolvida a partir do token, no servidor. Obtido ao iniciar sessão (ver os endpoints de autenticação na referência da API); expira e tem de ser renovado.
x-api-key: <chave> Pedidos servidor a servidor sem utilizador com sessão iniciada. A chave age através da sua própria conta de serviço. Registe uma aplicação nas definições do seu local e limite as chaves a ela.
Convenções

Aborrecida, no bom sentido

A API comporta-se da mesma maneira em todo o lado, por isso aprende-se uma vez só.

Tema Como funciona
Multi-inquilino Cada pedido fica limitado a um local pelo subdomínio. Os dados estão totalmente isolados entre locais; as credenciais de um local não conseguem tocar noutro.
Paginação page e per_page (20 por omissão, 100 no máximo). As respostas incluem um objeto meta com total, page e per_page.
Ordenação sort_by=<campo> com sort_order=asc ou desc, por exemplo sort_by=created_at&sort_order=desc.
Erros JSON consistente: {"error": "mensagem", "code": "ERROR_CODE"} com códigos de estado HTTP padrão (400, 401, 403, 404, 409, 422, 500).
Limites de utilização Por chave de API ou token. Ao excedê-los, devolve 429 com um cabeçalho Retry-After a dizer quando voltar.
Atualizações parciais O PATCH usa um modelo de três estados: envie um valor para o definir, omita o campo para o deixar inalterado, envie null para o limpar.
Cartografia

Sem casamento com um único fornecedor de mapas

O cálculo de rotas, a geocodificação e os dados de trânsito passam por uma camada de abstração de fornecedores com uma interface estável. Podemos trocar de fornecedor por local consoante a precisão, a cobertura ou o custo, e uma falha de um fornecedor não leva as rotas atrás. A cartografia e o cálculo de rotas incluídos cobrem atualmente a Europa e as Américas; outras regiões exigem uma integração cartográfica de terceiros compatível.

HERE Maps Google Maps Mapbox Incluído: Europa + Américas
Eventos

Webhooks que não perdem nada

Subscreva os seus endpoints aos eventos que lhe interessam: mudanças de estado dos trabalhos, pagamentos, estado dos condutores. A entrega assenta numa fila e é repetida em caso de falha, por isso uma falha momentânea do seu lado não significa uma atualização perdida.

Campos personalizados

Junte os seus próprios dados estruturados a trabalhos, trabalhadores e paragens através da API. Sem pedidos de alteração de esquema, sem esperar por nós.

Fluxos de trabalho configuráveis

Os estados de trabalhos, paragens e rotas são definidos por local através da API. Por baixo, cinco fases fixas do ciclo de vida mantêm as suas automatizações estáveis, seja qual for o nome dado aos estados.

Integrações

Stripe, Twilio, Slack, Mailgun, notificações push da Firebase e LiveKit são integrações de primeira linha. As credenciais são cifradas campo a campo em repouso.

Registo de auditoria

Cada alteração fica registada num log apenas de acréscimo, com o estado antes e depois. Consulte-o através da API como qualquer outra coisa.

Leia a referência completa

Os mais de 180 endpoints com esquemas, parâmetros e exemplos de payload, gerados diretamente a partir da especificação OpenAPI.