API Mobile · Aleff / Revo
Contrato da API
Como o servidor de homologação da v6 realmente se comporta, medido chamada a chamada — e onde ele diverge do que está publicado.
Este documento não é o contrato publicado — é o contrato medido. Cada rota, cada campo obrigatório e cada código de erro daqui saiu de uma chamada real contra wshomdev.grupoaleff.com.br, feita pelo Sitra Mobile 6.0.13 em 08/09/2026, com a transportadora 999 e os romaneios 720/26 e 2303/26. A baixa foi revalidada em 11/09 pela 6.0.16, já com o schema do TMS, e a 6.0.17 confirmou a resposta do TMS da mesma tarde: rota nova de alterações, posições com ponto decimal, tipo do documento escrito e 409 no anexo repetido. Ficaram em aberto a baixa com idempotência repetida (500 codigo 23) e a sessão de teste sem serviço (codigo 7). A 6.0.19 conserta o envio dos anexos, que não saía do aparelho desde a 6.0.13. Na noite de 11/09 a sessão passou a devolver servicoId em cada documento — 57 de 57 medidos — e a 6.0.20 usa esse id na baixa.
Onde o servidor diverge do contrato publicado, está anotado em x-divergencia, na referência abaixo. Onde a rota não funciona, a operação traz x-status: defeito com a evidência.
Situação por rota
O que foi medido em 11/09, rota a rota.
POST /mobile/sessaoFuncionaPOST /mobile/anexosFunciona · id numéricoPOST /mobile/posicoesFunciona · não valida o lotePOST /mobile/servicos/{id}/baixaFunciona desde 11/09 · schema do TMSGET /mobile/romaneio/{t}/alteracoes?romaneio=Rota nova 11/09 · funcionaGET /mobile/romaneio/{t}/{romaneio}/alteracoesSubstituída · inalcançável com barraDois servidores
A v6 fala com a homologação; a v5 segue em produção com o contrato antigo.
Convenções que valem para a API inteira
Fluxo típico do app
Do login do motorista até a rota sincronizar as alterações.
- 1
Sessão
POST /mobile/sessao com nAtt: true para sondar. Sem isso, a chamada marca os documentos como recepcionados e o romaneio não volta mais para aquele motorista.
- 2
Romaneio e documentos
A própria resposta da sessão já traz os romaneios abertos, os documentos de cada um e a tabela de ocorrências — não existe uma rota separada para isso.
- 3
Posições
POST /mobile/posicoes envia um lote de posições do veículo em segundo plano. A rota aceita o lote, mas não valida o conteúdo.
- 4
Baixa do serviço
POST /mobile/servicos/{id}/baixa conclui o serviço com o schema do TMS. Repetir a mesma baixa (idempotência) ainda responde 500 codigo 23 em alguns casos.
- 5
Anexos
POST /mobile/anexos envia foto, assinatura ou áudio, associados por id numérico. Um anexo repetido responde 409.
- 6
Alterações
GET /mobile/romaneio/{transportadora}/alteracoes?romaneio= busca o que mudou desde um instante. É a rota nova de 11/09 — a versão antiga, com o romaneio na URL, está inalcançável.
A referência abaixo, gerada a partir do mesmo arquivo contrato.yaml, detalha campo a campo cada uma dessas rotas: corpo esperado, exemplos, respostas e os códigos de erro possíveis.