MDFe — Manifesto Eletrônico de Documentos Fiscais
O MDFe (modelo 58) é obrigatório para transporte de cargas entre estados ou entre municípios de estados diferentes . Vincula os documentos fiscais (NFes, CTes) a um veículo em uma viagem específica.
Endpoint base: https://api.engineapi.com.br/mdfe
Transporte interestadual Obrigatório para qualquer carga cruzando fronteiras estaduais
Vincular documentos Associa NFes e CTes ao veículo e rota
Encerramento Encerre após a entrega no município de destino
Quando usar MDFe
Situação MDFe obrigatório? Transporte entre estados (interestadual) Sim Transportadora com vários documentos por viagem Sim Transporte dentro do mesmo estado Depende da legislação estadual Entrega local (mesmo município) Não
Verificar Status do Serviço
curl https://api.engineapi.com.br/mdfe/status?uf=SP \
-H "x-api-key: SUA_API_KEY"
Emitir MDFe
curl -X POST https://api.engineapi.com.br/mdfe \
-H "x-api-key: SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"issuerId": "ISSUER_ID",
"ufInicio": "SP",
"ufFim": "RJ",
"modal": {
"tipo": "rodoviario",
"rntrc": "12345678",
"veiculo": {
"placa": "ABC1234",
"tara": 6000,
"capacidadeKg": 15000,
"capacidadeM3": 40,
"uf": "SP"
},
"motoristas": [{
"nome": "João Silva",
"cpf": "12345678901"
}]
},
"documentos": [
{
"tipo": "NFe",
"chave": "35260211222333000144550010000000011000000019",
"segmento": "01",
"valorCarga": 5000.00,
"municipioCarregamento": "São Paulo",
"codigoMunicipioCarregamento": "3550308"
}
],
"percurso": ["RJ"],
"totalCargaKg": 1000,
"totalCargaM3": 5,
"totalValorCarga": 5000.00
}'
const mdfe = await fetch ( 'https://api.engineapi.com.br/mdfe' , {
method: 'POST' ,
headers: {
'x-api-key' : process . env . ENGINE_API_KEY ! ,
'Content-Type' : 'application/json' ,
},
body: JSON . stringify ({
issuerId: 'ISSUER_ID' ,
ufInicio: 'SP' ,
ufFim: 'RJ' ,
modal: {
tipo: 'rodoviario' ,
rntrc: '12345678' ,
veiculo: { placa: 'ABC1234' , tara: 6000 , capacidadeKg: 15000 , uf: 'SP' },
motoristas: [{ nome: 'João Silva' , cpf: '12345678901' }],
},
documentos: [{
tipo: 'NFe' ,
chave: '35260211222333000144550010000000011000000019' ,
segmento: '01' ,
valorCarga: 5000.00 ,
municipioCarregamento: 'São Paulo' ,
codigoMunicipioCarregamento: '3550308' ,
}],
percurso: [ 'RJ' ],
totalCargaKg: 1000 ,
totalValorCarga: 5000.00 ,
}),
}). then ( r => r . json ());
console . log ( 'MDFe autorizado:' , mdfe . accessKey );
Campos de Referência
Campo Tipo Obrigatório Descrição issuerIdstring (UUID) Sim ID da transportadora emissora ufIniciostring Sim UF de início da viagem ufFimstring Sim UF de destino final modal.tipostring Sim "rodoviario", "ferroviario", "aquaviario", "aereo"modal.rntrcstring Sim Registro Nacional de Transportadores modal.veiculoobjeto Sim Dados do veículo trator modal.motoristasarray Sim Pelo menos 1 motorista documentosarray Sim NFes e CTes da viagem percursostring[] Não UFs intermediárias (além do início/fim) totalCargaKgnúmero Sim Peso total em kg totalValorCarganúmero Sim Valor total em R$
Response de Sucesso
{
"success" : true ,
"mdfe" : {
"id" : "3fa85f64-5717-4562-b3fc-2c963f66afa6" ,
"accessKey" : "35260211222333000144580010000000011000000019" ,
"status" : "AUTHORIZED" ,
"protocol" : "135260000001234" ,
"damdfeUrl" : "/mdfe/pdf/35260..." ,
"xmlUrl" : "/mdfe/xml/35260..." ,
"createdAt" : "2026-04-27T02:00:00.000Z"
}
}
Encerrar MDFe
O encerramento é obrigatório após a entrega das cargas no município de destino:
curl -X POST https://api.engineapi.com.br/mdfe/ACCESS_KEY/encerrar \
-H "x-api-key: SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"municipioEncerramento": "Rio de Janeiro",
"codigoMunicipioEncerramento": "3304557",
"ufEncerramento": "RJ"
}'
O MDFe deve ser encerrado no prazo máximo de 30 dias após a autorização. Após o encerramento, não é possível cancelar.
Cancelar MDFe
Cancelamento disponível antes do encerramento:
curl -X POST https://api.engineapi.com.br/mdfe/ACCESS_KEY/cancelar \
-H "x-api-key: SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "motivo": "Viagem cancelada por motivo operacional" }'
Próximos passos
CTe Emita o Conhecimento de Transporte vinculado ao MDFe
Webhooks Receba eventos de MDFe em tempo real