Tema
MDF-e — payload real autorizado
Este é o payload exatamente como foi autorizado em homologação (SVRS) em 06/08/2026 — cStat 100, protocolo 935260000054245 — e depois cancelado (cStat 135, protocolo 935260000054249). Não é exemplo sintético: cada grupo presente existe porque a SEFAZ o exigiu durante a validação, e as rejeições que levaram até ele estão documentadas abaixo.
Request
http
POST /api/v1/mdfe/emitir
Authorization: Bearer nfr_test_...
Content-Type: application/json
Idempotency-Key: smoke-mdfe-ajson
{
"ide": {
"nMDF": 999001, "serie": 999, "modal": "1", "tpEmit": "1",
"UFIni": "SP", "UFFim": "SP",
"infMunCarrega": [{ "cMunCarrega": "3549904", "xMunCarrega": "Sao Jose dos Campos" }]
},
"rodo": {
"RNTRC": "56271866",
"veicTracao": {
"placa": "ABC1D23", "UF": "SP", "tara": "7000",
"condutor": { "xNome": "CONDUTOR TESTE HOMOLOGACAO", "CPF": "52998224725" }
},
"infContratante": [{ "xNome": "INDUSTRIA E COMERCIO DE ALIMENTOS BEM CASADO", "CNPJ": "14295537000130" }],
"infPag": [{
"xNome": "INDUSTRIA E COMERCIO DE ALIMENTOS BEM CASADO", "CNPJ": "14295537000130",
"Comp": [{ "tpComp": "01", "vComp": 1000.00, "xComp": "Vale pedagio nao" }],
"vContrato": 1000.00, "indPag": "0",
"infBanc": { "PIX": "financeiro@arrozvaledosul.com.br" }
}]
},
"infDoc": {
"infMunDescarga": [{
"cMunDescarga": "3550308", "xMunDescarga": "Sao Paulo",
"infCTe": [{ "chCTe": "35260628738768000186570070009990011202458448" }]
}]
},
"seg": {
"respSeg": "1",
"xSeg": "SEGURADORA TESTE HOMOLOG", "seg_CNPJ": "99999999000191",
"nApol": "123456789", "nAver": "12345678901234567890"
},
"prodPred": {
"tpCarga": "05", "xProd": "ARROZ BENEFICIADO", "NCM": "10063021",
"infLotacao": { "cepCarrega": "12226303", "cepDescarrega": "01001000" }
},
"tot": { "vCarga": 1000.00, "cUnid": "01", "qCarga": 1000.0 }
}Resposta (síncrona)
json
{
"chave": "35260828738768000186589990009990011806533490",
"numero": 999001,
"serie": 999,
"status": "100",
"motivo": "Autorizado o uso do MDF-e",
"protocolo": "935260000054245",
"autorizado": true,
"qtd_documentos": 1
}O retry da mesma chamada (mesma Idempotency-Key) devolveu o mesmo manifesto com idempotent_replay: true em 0,5s — sem segunda ida à SEFAZ. O cancelamento (POST /mdfe/{id}/cancelar) respondeu cStat 135, protocolo 935260000054249.
A escada de rejeições que construiu este payload
O caminho até o cStat 100 passou por quatro rejeições reais — cada uma adicionou um grupo. Se a sua emissão parar numa delas, a correção está aqui:
| cStat | motivo | correção |
|---|---|---|
| 745 | tipo de transportador sem proprietário | não informe tpTransp em frota própria (só com veicTracao.prop) |
| 698 | seguro obrigatório p/ prestador rodoviário | adicione o grupo seg |
| 699 | dados do seguro incompletos | inclua a averbação (nAver) — apólice sozinha não basta |
| 578 | informações dos tomadores obrigatórias | adicione rodo.infContratante (e infPag para lotação) |
Referência completa dos campos: MDF-e na API.