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.
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.
# 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"
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. |
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. |
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.
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.