Este documento descreve o contrato esperado pelo frontend para o modulo de Transportadora.
/transportadoraapplication/jsonwithCredentials=true no client)VITE_AUTH_MODE=mock): o frontend envia header x-mock-response-name para rotear respostas mockadasOs endpoints de lista recebem, quando aplicavel:
page (number, opcional)per_page (number, opcional)search (string, opcional)Exemplo de query:
GET /transportadora/faturas?page=1&per_page=8&search=23019
{
"data": [],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 8,
"to": 8,
"total": 8
}
}
Campos de meta esperados pelo frontend:
current_page: numberfrom: number | nulllast_page: numberper_page: numberto: number | nulltotal: number{
"data": {}
}
{
"message": "Contestacao cancelada com sucesso.",
"data": {}
}
CIOTFRETE_DIGITALPAGOPENDENTEVENCIDOPROCESSADOEM_ANALISECONTESTADOABERTAEM_ANALISECANCELADAnumber (nao string formatada).string.cte pode ser null.lancamento_uuid pode ser null.contestacao_pendente e opcional em lancamentos.404./transportadora/faturasRetorna lista de faturas da transportadora.
curl -X GET "{{BASE_URL}}/transportadora/faturas?page=1&per_page=8&search=23019" \
-H "Content-Type: application/json"
{
"data": [
{
"id_fatura": 23019,
"uuid": "fat-transp-23019",
"data_faturamento": "2026-04-16",
"data_vencimento": "2026-04-24",
"valor_total": 45200,
"valor_total_pago": 0,
"data_recebimento": null,
"saldo": 45200,
"status_fatura_transportadora": "PENDENTE",
"postos": [
{
"posto_nome": "Posto Horizonte",
"docs": [
{
"lancamento_uuid": "lanc-transp-002",
"numero_doc": "FD-10382",
"tipo_doc": "Frete Digital",
"data_lancamento": "2026-04-16 10:10",
"valor_sem_taxa": 5400,
"valor_da_taxa": 180,
"valor_liquido": 5220
}
]
}
]
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 8,
"to": 1,
"total": 1
}
}
data[]id_fatura: numberuuid: stringdata_faturamento: stringdata_vencimento: stringvalor_total: numbervalor_total_pago: numberdata_recebimento: string | nullsaldo: numberstatus_fatura_transportadora: "PAGO" | "PENDENTE" | "VENCIDO"postos: PostoDetalhe[]PostoDetalhe:
posto_nome: stringdocs: PostoDetalheDoc[]PostoDetalheDoc:
lancamento_uuid?: string | nullnumero_doc: stringtipo_doc: stringdata_lancamento: stringvalor_sem_taxa: numbervalor_da_taxa: numbervalor_liquido: number/transportadora/lancamentosRetorna lista de lancamentos (CIOT e FRETE_DIGITAL).
curl -X GET "{{BASE_URL}}/transportadora/lancamentos?page=1&per_page=8&search=CIOT-240014" \
-H "Content-Type: application/json"
{
"data": [
{
"id": 1,
"uuid": "lanc-transp-001",
"data_lancamento": "2026-04-16 08:30",
"ciot": "CIOT-240014",
"cte": null,
"contratado": "Transvale Logistica",
"origem": "Cuiaba/MT",
"destino": "Goiania/GO",
"valor": 18250,
"valor_gerado": 25100,
"produto": "CIOT",
"situacao": "PROCESSADO",
"posto_nome": "Posto Horizonte",
"motorista": "Carlos Mendes"
},
{
"id": 3,
"uuid": "lanc-transp-003",
"data_lancamento": "2026-04-17 14:45",
"ciot": "FD-88401",
"cte": "35260419472743521672570010008840111000088401",
"contratado": "Rota Brasil",
"origem": "Lucas do Rio Verde/MT",
"destino": "Santos/SP",
"valor": 22300,
"valor_gerado": 48000,
"produto": "FRETE_DIGITAL",
"situacao": "CONTESTADO",
"posto_nome": "Auto Posto Imperial",
"motorista": "Patricia Nunes",
"contestacao_pendente": true
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 8,
"to": 2,
"total": 2
}
}
data[]id: numberuuid: stringdata_lancamento: stringciot: stringcte: string | nullcontratado: stringorigem: stringdestino: stringvalor: numbervalor_gerado: numberproduto: "CIOT" | "FRETE_DIGITAL"situacao: "PROCESSADO" | "EM_ANALISE" | "CONTESTADO"posto_nome: stringmotorista: stringcontestacao_pendente?: boolean/transportadora/lancamentos/{uuid}Retorna o detalhe de um lancamento.
curl -X GET "{{BASE_URL}}/transportadora/lancamentos/lanc-transp-003" \
-H "Content-Type: application/json"
{
"data": {
"id": 3,
"uuid": "lanc-transp-003",
"data_lancamento": "2026-04-17 14:45",
"ciot": "FD-88401",
"cte": "35260419472743521672570010008840111000088401",
"contratado": "Rota Brasil",
"origem": "Lucas do Rio Verde/MT",
"destino": "Santos/SP",
"valor": 22300,
"valor_gerado": 48000,
"produto": "FRETE_DIGITAL",
"situacao": "CONTESTADO",
"posto_nome": "Auto Posto Imperial",
"motorista": "Patricia Nunes",
"contestacao_pendente": true
}
}
{
"message": "Lancamento nao encontrado"
}
Observacao: o frontend trata 404 como retorno nulo para esse fluxo.
/transportadora/postosRetorna lista de postos vinculados a transportadora.
curl -X GET "{{BASE_URL}}/transportadora/postos?page=1&per_page=8&search=Cuiaba" \
-H "Content-Type: application/json"
{
"data": [
{
"uuid": "posto-transp-001",
"cnpj": "12654321000190",
"nome_fantasia": "Posto Horizonte",
"cidade": "Cuiaba",
"estado": "MT",
"produto": "CIOT",
"localizacao": "BR-364, km 121",
"latitude": -15.5961,
"longitude": -56.0967
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 8,
"to": 1,
"total": 1
}
}
data[]uuid: stringcnpj: stringnome_fantasia: stringcidade: stringestado: stringproduto: "CIOT" | "FRETE_DIGITAL"localizacao: stringlatitude: numberlongitude: number/transportadora/contestacoesRetorna lista de contestacoes.
curl -X GET "{{BASE_URL}}/transportadora/contestacoes?page=1&per_page=8&search=FD-88401" \
-H "Content-Type: application/json"
{
"data": [
{
"uuid": "contest-transp-001",
"lancamento_uuid": "lanc-transp-003",
"data": "2026-04-18 09:10",
"fatura": "23019",
"documento": "FD-88401",
"valor_desconto": 780,
"motivo": "Taxa divergente",
"produto": "FRETE_DIGITAL",
"status": "ABERTA",
"historico": [
{
"data": "2026-04-18 09:10",
"usuario": "Patricia Nunes",
"acao": "Abertura",
"descricao": "Contestacao aberta pela transportadora"
},
{
"data": "2026-04-18 10:05",
"usuario": "Controladoria",
"acao": "Triagem",
"descricao": "Contestacao enviada para analise financeira"
}
]
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 8,
"to": 1,
"total": 1
}
}
data[]uuid: stringlancamento_uuid: string | nulldata: stringfatura: stringdocumento: stringvalor_desconto: numbermotivo: stringproduto: "CIOT" | "FRETE_DIGITAL"status: "ABERTA" | "EM_ANALISE" | "CANCELADA"historico: ContestacaoHistoricoItem[]ContestacaoHistoricoItem:
data: stringusuario: stringacao: stringdescricao: string/transportadora/contestacoes/{uuid}/cancelarCancela uma contestacao.
curl -X POST "{{BASE_URL}}/transportadora/contestacoes/contest-transp-001/cancelar" \
-H "Content-Type: application/json" \
-d "{}"
{}
{
"message": "Contestacao cancelada com sucesso.",
"data": {
"uuid": "contest-transp-001",
"lancamento_uuid": "lanc-transp-003",
"data": "2026-04-18 09:10",
"fatura": "23019",
"documento": "FD-88401",
"valor_desconto": 780,
"motivo": "Taxa divergente",
"produto": "FRETE_DIGITAL",
"status": "CANCELADA",
"historico": [
{
"data": "2026-04-18 09:10",
"usuario": "Patricia Nunes",
"acao": "Abertura",
"descricao": "Contestacao aberta pela transportadora"
},
{
"data": "2026-04-18 10:05",
"usuario": "Controladoria",
"acao": "Triagem",
"descricao": "Contestacao enviada para analise financeira"
},
{
"data": "2026-04-18 11:40",
"usuario": "Patricia Nunes",
"acao": "Cancelamento",
"descricao": "Contestacao cancelada pela transportadora"
}
]
}
}
{
"message": "Contestacao nao encontrada"
}
Observacao: o frontend trata 404 como retorno nulo para esse fluxo.
O frontend funciona com qualquer corpo de erro, mas recomenda-se padrao unico para facilitar troubleshooting:
{
"message": "Descricao curta do erro",
"errors": {
"campo": ["mensagem de validacao"]
}
}
Status sugeridos:
400 parametros invalidos401 nao autenticado403 sem permissao404 recurso nao encontrado422 erro de validacao500 erro interno