TF Fiscal

其他电子凭证

MDF-e 货运清单

5 个接口

MDF-e API(模型 58,PL-MDFe 3.00 布局)支持运输清单的开具、查询、取消和关闭。MDF-e 聚合与运输操作关联的 NF-e 和/或 CT-e,支持 4 种模式:公路、航空、水路和铁路。所有运营信息(司机、车辆、承包商、CIOT、通行券、付款)都在 /create 主体中 — 开具后没有新增/修改事件。

端点方法说明
/api/mdfe/createPOST开具 MDF-e
/api/mdfe/consultPOST查询 MDF-e 状态
/api/mdfe/cancelPOST取消 MDF-e(授权后 24 小时内)
/api/mdfe/closePOST关闭 MDF-e(行程结束后)
POST/api/mdfe/create

开具 MDF-e

从提交的主体中开具 MDF-e。cMDF、cDV、cUF、dhEmi、mod、tpEmis、procEmi、verProc 字段由服务器自动计算。客户端仅发送业务字段。serie 和 nMDF 为可选字段——省略(或为 0)时由服务器自动分配,发送时则予以采用(适用于跳过编号,例如在税务局出现重复后)。

必需请求头

请求头类型说明
tokenstring发行企业 token
signstringMD5 签名:MD5(token + path + body + timestamp)
timestampstringUnix 时间戳(秒,5 分钟窗口)

Body — 根

字段类型说明
ide *objectMDF-e 标识
emit *object发行者数据
infModal *object模式信息(四个中仅一个:rodo、aereo、aquav、ferrov)
infDoc *object关联税务文档
tot *object货物合计
prodPredobject主要货物产品
segarray保险信息
lacresarrayMDF-e 封条
autXMLarray授权访问 XML 的 CNPJ/CPF
infAdicobject附加信息(税务机关和纳税人)
infRespTecobject技术负责人(CNPJ、联系人、邮箱等)

ide — 标识

字段类型说明
tpAmb *int环境:1=生产,2=同源
tpEmit *int发行者类型:1=承运商,2=自有货物,3=运输服务提供商
modal *string模式:"1"=公路,"2"=航空,"3"=水路,"4"=铁路
UFIni *string行程开始的 UF(2 个字母)
UFFim *string行程结束的 UF
infMunCarrega[] *array装载市:[{ cMunCarrega, xMunCarrega }]
infPercurso[]array路线的 UF:[{ UFPer }]
tpTranspstring承运商类型(公路)
dhIniViagemstring行程开始日期/时间(ISO 8601)
indCanalVerdestring绿色通道指示器
indCarregaPosteriorstring后续装载指示器
serieintMDF-e 系列号(访问密钥的 3 位)。可选——省略或为 0 时自动分配(公司的 MDF-e 系列);发送时则按发送值使用
nMDFintMDF-e 编号(构成访问密钥)。可选——省略或为 0 时由服务器自动递增;发送时则按发送值使用(便于跳过编号,例如:发生重复后)

emit — 发行者

字段类型说明
CNPJ ⚠string发行者 CNPJ(14 位)
CPF ⚠string发行者 CPF(11 位)
IEstring州登记号
xNome *string法人名称
xFantstring商号
enderEmitobject地址:{ xLgr, nro, xCpl, xBairro, cMun, xMun, CEP, UF, fone, email }

infModal — 公路模式(modal="1")

字段类型说明
rodo.veicTracao *object牵引车辆:{ placa, tara, RENAVAM, capKG, capM3, tpRod, tpCar, UF, condutor[], prop }
rodo.veicTracao.condutor[] *array司机:[{ xNome, CPF }] — 最少 1
rodo.veicReboque[]array拖车(与 veicTracao 相同结构,无司机)
rodo.infANTTobjectANTT 信息:{ RNTRC, infCIOT[], valePed, infContratante[], infPag[] }
rodo.codAgPortostring港口预约代码
rodo.lacRodo[]array模式封条:[{ nLacre }]

infModal — 航空模式(modal="2")

字段类型说明
aereo.nac *string飞机国籍标志
aereo.matr *string飞机注册号
aereo.nVoo *string航班号
aereo.cAerEmb *string登机机场 IATA 代码
aereo.cAerDes *string目的机场 IATA 代码
aereo.dVoo *string航班日期(YYYY-MM-DD)

infModal — 水路模式(modal="3")

字段类型说明
aquav.irin *string船舶 IRIN
aquav.tpEmb *string船舶类型(2 位)。使用 ≥ 10 的值以避免 Zeus 内部 byte 截断(例:"10"、"11")
aquav.cEmbar *string船舶代码
aquav.xEmbar *string船舶名称
aquav.nViag *string航次号。不能以零开头(schema 验证) — 使用 "1"、"100" 等。
aquav.cPrtEmb *string登船港代码
aquav.cPrtDest *string目的港代码
aquav.prtTransstring转运港
aquav.tpNavstring航行类型
aquav.infTermCarreg[]array装载码头:[{ cTermCarreg, xTermCarreg }]
aquav.infTermDescarreg[]array卸载码头
aquav.infEmbComb[]array船队船舶:[{ cEmbComb, xBalsa }]
aquav.infUnidCargaVazia[]array空货物单元
aquav.infUnidTranspVazia[]array空运输单元

infModal — 铁路模式(modal="4")

字段类型说明
ferrov.trem *object火车数据:{ xPref, dhTrem, xOri, xDest, qVag }
ferrov.vag[] *array车厢:[{ pesoBC, pesoR, tpVag, serie, nVag, nSeq, TU }] — 最少 1。Zeus/税务局约束: serie 必须正好 3 位(使用 100+,例:"100");nVag 仅接受数字(内部为 long,例:"100001");nSeq 可选 1-3 位。

infDoc — 关联文档

字段类型说明
infMunDescarga[] *array卸货市 — 最少 1
infMunDescarga[].cMunDescarga *string市 IBGE 代码
infMunDescarga[].xMunDescarga *string市名称
infMunDescarga[].infNFe[]array关联 NF-e:[{ chNFe, SegCodBarras, indReentrega, infUnidTransp[], peri[] }]
infMunDescarga[].infCTe[]array关联 CT-e
infMunDescarga[].infMDFeTransp[]array运输 MDF-e(转包)

prodPred — 主要产品

字段类型说明
tpCarga *string货物类型:"01"=散装固体,"02"=散装液体,"03"=冷藏,"04"=集装箱,"05"=一般货物,"06"=新散装,"07"=危险品,"08"=加压散装
xProd *string主要产品描述
cEANstringGTIN/EAN
NCMstringNCM
infLotacaoobject批次:{ infLocalCarrega{CEP,latitude,longitude}, infLocalDescarrega{...} }

tot — 合计

字段类型说明
vCarga *decimal货物总值(> 0)
cUnid *string单位代码:"01"=KG,"02"=TON
qCarga *decimal货物总量(> 0)
qCTeint关联 CT-e 数量
qNFeint关联 NF-e 数量
qMDFeint关联 MDF-e 数量

* 必填字段。⚠ CNPJ 或 CPF 至少其中一个为必填项。

POST/api/mdfe/consult

查询 MDF-e 状态

使用访问密钥直接在税务局查询 MDF-e 状态。

必需请求头

请求头类型说明
tokenstring发行企业 token
signstringMD5 签名
timestampstringUnix 时间戳(秒)

Body

字段类型说明
chMDFe *stringMDF-e 访问密钥(44 位)

* 必填字段。

POST/api/mdfe/cancel

取消 MDF-e

取消已授权的 MDF-e。窗口: 授权后最多 24 小时。如果 MDF-e 已关闭,则不允许。

必需请求头

请求头类型说明
tokenstring发行企业 token
signstringMD5 签名
timestampstringUnix 时间戳(秒)

Body

字段类型说明
chMDFe *stringMDF-e 访问密钥(44 位)
xJust *string取消理由(根据税务局要求最少 15 个字符)

* 必填字段。

POST/api/mdfe/close

关闭 MDF-e

在行程结束时关闭 MDF-e。关闭后,无法再取消。dtEnc、cUF 和 cMun 字段是可选的 — 省略时,系统将从原始 MDF-e 推断(当前日期、发行人的 UF 和市)。

必需请求头

请求头类型说明
tokenstring发行企业 token
signstringMD5 签名
timestampstringUnix 时间戳(秒)

Body

字段类型说明
chMDFe *stringMDF-e 访问密钥(44 位)
dtEncstring关闭日期(YYYY-MM-DD)。默认:当前日期
cUFint关闭发生地 UF 的 IBGE 代码。默认:发行者的 UF
cMunstring市 IBGE 代码 onde ocorreu o encerramento. Default: município do emitente

* 必填字段。

GET/api/mdfe/get_list

MDF-e 列表(分页)

分页列出公司的 MDF-e。参数通过 查询字符串(query string)传递(不在 body 中)。时间过滤可选,但若使用则需同时传入 start_create_time 和 end_create_time。

必需请求头

请求头类型说明
tokenstring开票公司令牌
signstringMD5 签名(path 包含查询字符串)
timestampstring秒级 Unix 时间戳

查询字符串

参数类型说明
page *int页码(≥ 1)
page_size *int每页大小(1–50)
start_create_timelongUnix 时间戳(毫秒) — 起始(需要 end_create_time)
end_create_timelongUnix 时间戳(毫秒) — 结束
statusstring按状态过滤。值: "Success"(已授权)、"Canceled"(已取消)、"Voided"(已关闭)、"Processing"(处理中)、"Failed"(失败)、"Unknown"(未知)

* 必填字段。