报关资料智能解析API接口
基于大语言模型开发的报关资料智能识别API,一键识别报关资料中的报关草单、装箱单、发票、申报要素等报关资料,转换为json格式。
不限文档格式,准确率97%以上。目前支持word、excel、图片、压缩包、eml文件式。 如果一票资料有多个文件,请把资料打成一个压缩包后上传。
上传报关资料,返回json格式的解析结果。结果包括识别的字段和位置,以及报关资料转换成的PDF文件。
获取token 请加微信13023772818 或 发邮件到contact@faship.cn 说明意图和联系方式。
接口URL: https://www.api.bgd.faship.cn/api/parse_async
接口类型:POST; application/json;chatset=utf-8
说明: 异步接口。由于上传的资料较长时,解析的时间可能比较长,此接口结果的返回需要提供一个回调的URL,结果会通过用户提供的回调地址返回。
通过ID去匹配请求和回调结果。
限制:报关资料大小不能超过10M, 页数不能超过50页,否则回返回解析失败。
接口参数:
字段
| 类型 | 描述 |
token_id
|
string
|
用户的token id。获取token 请加微信13023772818 或 发邮件到contact@faship.cn 说明意图和联系方式。
|
type | string | 进出口类型,“export":出口;”import":进口;默认为出口。 |
document
|
string
|
Base64编码的文件内容,和document_url 二选一
|
document_url
|
string
|
文件的URL地址,和document 二选一
|
ext
|
string
|
文件后缀,如pdf, png, zip, doc, 目前支持的文件格式包括pdf, 压缩包,email,图片, word, excel
|
return_pdf | string |
是否返回pdf文件,所有报关资料合成一个pdf文件 ‘0’: 不返回 ;‘1’:返回;默认不返回。 |
callback_url
|
string
|
结果回调URL;接口类型POST; application/json;chatset=utf-8。 回调结果json: { “id“:请求ID, “status“:解析状态, “error“:错误信息, “result“:解析结果, } 客户收到回调结果后: 1.接收成功后回复: { “message”: “success” } 2.接收失败后回复 { “message”:
“具体的失败原因” } 如果结果回调接口没有收到客户端回复或回复超时(超时时间10S),服务端会尝试重传
|
接口返回结果:
字段 | 类型 | 描述 |
id
|
string
|
请求ID。长度20位, 如“24091810293802486048” |
error
|
string
| 错误信息。 没有错误:“OK”; 其他错误如:“报关资料大小不能超过10M“,“不支持的文件类型“,“文件打开失败“等 |
接口回调结果说明:
字段 | 类型 | 描述 |
id
|
string
|
请求ID
|
status
|
string
|
解析状态。“解析完成”,“解析失败”
|
result
|
json
|
解析结果
|
回调结果result字段说明:
字段 | 类型 | 描述 |
TradeCode
|
dict
|
境内发货人海关10位编码 |
TradeCoScc
|
dict
|
境内发货人18位编码
|
TradeCoName
|
dict
|
境内发货人名称
|
OwnerCode
|
dict
|
生产销售单位海关10位编码
|
OwnerCodeScc
|
dict
|
生产销售单位18位编码
|
OwnerName
|
dict
|
生产销售单位名称
|
OverseasConsignorEname
|
dict
|
境外收货人
|
ContrNo
|
dict
|
合同协议号
|
IEPort | dict | 出境关别编码 |
IEPortName | dict | 出境关别中文 |
TrafMode | dict | 运输方式编码 |
TrafModeName | dict | 运输方式中文 |
VoyNo | dict | 航次号 |
TrafName
|
dict
|
运输工具名称
|
BillNo
|
dict
|
提运单号
|
TradeMode
|
dict
|
监管方式编码
|
TradeModeName
|
dict
|
监管方式编码名称
|
CutMode
|
dict
|
征免性质
|
CutModeName
|
dict
|
征免性质名称
|
TradeAreaCode
|
dict
|
贸易国编码
|
TradeAreaName
|
dict
|
贸易国名称
|
TradeCountry
|
dict
|
运抵国编码
|
TradeCountryName
|
dict
|
运抵国名称
|
DistinatePort
|
dict
|
指运港编码
|
DistinatePortName
|
dict
|
指运港名称
|
WrapType
|
dict
|
包装种类编码
|
WrapTypeName
|
dict
|
包装种类名称
|
DespPortCode
|
dict
|
离境口岸编码
|
DespPortName | dict | 离境口岸名称 |
PackNo
|
dict
|
件数
|
GrossWet
|
dict
|
毛重(千克)
|
NetWt
|
dict
|
净重(千克)
|
FeeRate
|
dict
|
运费
|
FeeCurr | dict | 运费币值 |
FeeMark | dict | 运费标记 |
InsurRate
|
dict
|
保费
|
InsurCurr | dict | 保费币值 |
InsurMark | dict | 保费标记 |
OtherRate
|
dict
|
杂费
|
OtherCurr | dict | 杂费币值 |
OtherMark | dict | 杂费标记 |
TransMode
| dict |
成交方式编码
|
TransModeName
| dict |
成交方式名称
|
AttachNo
|
dict
|
随附单证及编号
|
NoteS
|
dict
|
标记唛头及备注
|
ManualNo
|
dict
|
备案号
|
PromiseItmes1 | dict | 特殊关系确认 |
PromiseItmes2 | dict | 价格影响确认 |
PromiseItmes3 | dict | 支付特许权使用费确认 |
PromiseItmes4 | dict | 公式定价确认 |
PromiseItmes5 | dict | 暂定价格确认 |
SelfDeclare | dict | 自报自缴 |
tDocLists
|
list
|
表体
|
GNo
|
dict
|
项号
|
CodeTS
|
dict
|
商品编码
|
GUnit
|
dict
|
成交单位编码
|
GUnitName
|
dict
|
成交单位名称
|
GQty
|
dict
|
成交数量
|
unit1
|
dict
|
第一法定成交单位编码
|
unit1Name
|
dict
|
第一法定成交单位名词
|
qty1
|
dict
|
第一法定成交数量
|
unit2
|
dict
|
第二法定成交单位编码
|
unit2Name
|
dict
|
第二法定成交单位名称
|
qty2
|
dict
|
第二法定成交数量
|
DeclPrice
|
dict
|
单价
|
DeclTotal
|
dict
|
总价
|
TradeCurr
|
dict
|
币制编码
|
TradeCurrName
|
dict
|
币制名称
|
CusOriginCountry
|
dict
|
原产国(地区)编码
|
CusOriginCountryName
| dict |
原产国(地区)名称
|
DestinationCountry
| dict |
最终目的国编码
|
DestinationCountryName
| dict |
最终目的国名称
|
OrigPlaceCode
| dict |
境内货源地编码
|
OrigPlaceName
| dict |
境内货源地名称
|
DutyMode
| dict |
征免编码
|
DutyModeName
| dict |
征免名称
|
GName
| dict |
商品名称
|
GModel
| dict |
申报要素
|
DecContainer | list | 报关单集装箱 |
ContainerId | dict | 集装箱号 |
ContainerMd | dict | 集装箱规格 |
GoodsNo | dict | 商品项号 |
LclFlag | dict | 拼箱标识 |
ContrainerWt | dict | 自重 |
Python 调用sample:
import json
import requests
import base64
fileName="文件路径"
callback_url= "结果回调url"
token_id="用户token"
file=open(fileName, 'rb')
file_content=file.read()
file.close()
ext=fileName.split('.')[-1]
data_base64=base64.b64encode(file_content).decode('ascii')
r=requests.post( "http://www.api.bgd.faship.cn/api/parse_async", timeout=5,json={'document':data_base64, 'ext':ext, 'token_id': token_id,'callback_url':callback_url } )
result=r.text.encode('utf-8', 'ignore')
result=json.loads(result)