站长答疑:(张先生) | 手机:18616712339 | 在线QQ: | . |
|
钮门快递软件 >> 常见问题 如何调用钮门api接口的打印接口? | Ginfo.dll?DoApi | 3.4.1_sGetLabel
钮门打印接口调用的前提是“钮门系统的快递公司用户”是否已经购买安装并且配置好了“EMSDATA”接口的相关配置文件,教程:http://www.ems-help.com/ems-help/5251/d.htm →这个教程的就是提到PDF打印接口,接下来要说的就是对于上面教程的的详细补充↓(是ERP第三方开发人员需要看的) ,另外这个pdf打印接口也是1个额外授权,需要授权码,授权码的获取请联系您的销售工程师,具体授权方式,也是上面的教程(http://www.ems-help.com/ems-help/5251/d.htm)的【步骤④】是关于PDF打印接口开通授权的步骤。—————————————————————— 下载关于钮门系统的打印接口文档: help_DoApi.txt 下载下来以后,统一只用这1个接口:,请开发人员认真看完接口文档。 注意:不用管E邮宝打印接口“”或者其他下家打印接口 ↓ 系统会根据预录单号(内单号),以及当时预录单时选择的快递类别,自动判断输出“自定义PDF标签打印”还是“下家接口打印模版”。 ↓ 我这里弄1个样本案例(用的是我自己的测试服务器,已开通钮门api接口),是我自己在写这个教程的时候,当场获取的时间戳和MD5。 我当前演示的时候,这一串接口URL是通的,可以下载的。但是【时间戳和MD5】只能30分钟有效。 所以,您作为开发人员当前测试的这一组URL的【时间戳和MD5】您要改一下。直接浏览器敲回车是通的。 ↓ 先说具体参数↓(这些参数测试数据,一直在我的系统里不会删,您要做的只是改一下时间戳和MD5就可以提交测试)
↓ 关于钮门系统里面自定义的PDF模版名称,可以提前先调用读取“自定义”的模版名称↓ http://121.199.52.229/cgi-bin/GInfo.dll?ajxEmsQueryPDFLabel&r=0.123456 【直接浏览器里敲回车】 调用以后就是这个样子↓
这些就是来自我自己系统自定义设置的PDF标签模版↓
↓ 建议第三方ERP软件,能把这个PDF模版调用直接做成下拉菜单。可以让下单的电商客户自己选择。 因为这个PDF自定义模版是 钮门系统用户在系统里自己维护设置的,有时候可能会改名字,有时候可能直接删掉。 如果做成活的,能从钮门系统里读取当前已经设置好的PDF模版,并且让使用 ERP软件的电商卖家可以自由选择打印模版,这样对于双方软件公司都省心。 ↓ 【补充1】:调用PDF打印模版接口,只跟单号有关,跟快递类别无关。 只是在前面传输数据的时候,跟快递类别有关。单号预录到对应的快递类别以后,取单号,取标签就是钮门系统判断了。至于判断的如何,还要看使用钮门系统的快递公司用户,是否配置好相关的接口配置文件。 【补充2】:调用自定义PDF打印模版接口,需要先调用系统已经设置好的自定义PDF模版,然后在匹配“cModelName”值。 【补充3】:调用下家接口的PDF打印模版接口,要看下家的接口文档,是否提供调用。比如E邮宝,它是固定死的2种格式,于是我们钮门对于E邮宝的就是写死2个“cModelName”值。至于其他下家的PDF打印模版接口,要看对方的打印模版有几种格式,是否能提供调用?还是说固定的格式名称?以下家接口文档为准。 【补充4】:如果下家接口只提供取转单号,并不提供“PDF标签打印接口”,这样的话,就提取转单号以后,调用钮门系统自定义的PDF标签来打印,也是一样的,提供下拉菜单样式,然后快递公司在钮门系统上自定义设置“该下家接口的要求的格式的打印模版”,让电商卖家自己选择打印模版。 更新补充(日期:2018年7月12日) ———————— 如果是调用钮门系统的自定义PDF标签, 请直接提交数据给emsdata.dll以后获取内单号,注意是内单号。 然后用如下接口案例样子(IP改为你的服务器IP),获取钮门系统自定义设置的PDF标签,可能获取多个,然后让跟你们对接的开发人员,在他们对接的软件界面上,把获取到的多个自定义标签,下拉菜单的形式显示,让打单的人可以选择↓ http://121.199.52.229/cgi-bin/GInfo.dll?ajxEmsQueryPDFLabel&r=0.123456 然后用如下接口案例样子(IP改为你的服务器IP,ICID用钮门系统客户ID),用获取的内单号,提交给ginfo.dll的DOapi接口,并且附带自定义PDF标签的名称,一起提交,如下案例: http://121.199.52.229/cgi-bin/GInfo.dll?DoApi&{"RequestName":"sGetLabel","icID":65,"TimeStamp":1488319656000,"MD5":"b6b9504506c4202db3b32b3a3261e6c2","iNoType":0,"iTable":1,"cModelName":"TESTPDF","aNo":"TEST1000000498DP"} ———————————————— 如果是调用钮门系统的下家接口标签,最终的派送网络的标签。 直接提交数据给emsdata.dll的doapi接口获取转单号,注意是转单号。 (其实在获取转单号的同时,钮门系统已经把转单号对应的下家接口的pdf标签已经下载到钮门数据库的某个表里了) 然后用转单号提交给ginfo.dll的doapi接口,注意这个时候不是提交给emsdata.dll的doapi,而是提交给ginfo.dll的doapi, 附带1个"iSP_Type":"9999"的参数, 就可以直接从钮门数据库的某个表里,把下载的下家标签输出出来。 ———————————————— 例子如下↓ IP是你的服务器IP。 单票打印↓格式如下: http://121.199.36.127/cgi-bin/ginfo.dll?DoApi&{"RequestName":"sEPostPdf","icID":"542","TimeStamp":1531331627489,"MD5":"ee9dcb8780056e318952046d210ca701","iSP_Type":"9999","cqNo":"9374869903502965452970"} 批量打印↓(把接口名称sEPostPdf后面加1个小写的b,把“sEPostPdf”改成“sEPostPdfb”),多个单号用中括号括起来,然后半角逗号隔开 如下格式, 另外运单号字段要把cqNo改成aqNo,字段含义是运单号数组的意思,注意必须转单号数组哦。 http://121.199.36.127/cgi-bin/ginfo.dll?DoApi&{"RequestName":"sEPostPdf","icID":"542","TimeStamp":1531331627489,"MD5":"ee9dcb8780056e318952046d210ca701","iSP_Type":"9999","aqNo":["9374869903502965452970","9374869903502965452971"]} ———————————————— 下载接口的最终派送渠道的标签没办法选择什么样子的标签。我们emsdata在获取转单号的同时,默认下载了什么标签, 然后, ginfo.dll就给你默认输出什么标签,没有选择。(除了早期开发的EUB,可以按纸张格式来) _____________ 可能返回的错误提示: {"ReturnValue":0,...}: 没有结果或零处理 {"ReturnValue":1,...}: 大于零,结果数或处理记录数,为成功的标识 {"ReturnValue":-1,...}: 唯一性字段值重复,操作失败 {"ReturnValue":-2,...}: 记录不存在,操作失败 {"ReturnValue":-3,...}: 未提供必须的请求参数,操作失败 {"ReturnValue":-4,...}: 请求不支持,版本错误或请求未实现 {"ReturnValue":-5,...}: Json数据格式错误,未解析出"RequestName" {"ReturnValue":-6,...}: Json数据格式错误,双引号(")配对异常 {"ReturnValue":-7,...}: 安全校验失败,不是配置的IP或数字签名错误 {"ReturnValue":-8,...}: 未获授权 {"ReturnValue":-9,...}: EmsData.dll程序错误,通常为数据库查询失败 {"ReturnValue":-9999,...}: 数据库忙,稍后再试! {"ReturnValue":-710,...}: icID 错误,未提供或小于1 {"ReturnValue":-711,...}: icID 错误,客户不存在 {"ReturnValue":-720,...}: TimeStamp 错误,超出了同步阈值 {"ReturnValue":-730,...}: MD5 错误,长度不是32字符 {"ReturnValue":-731,...}: MD5 错误,不匹配 {"ReturnValue":-810,...}: cEmsKind错误,不支持 {"ReturnValue":-820,...}: iSP_Type错误,接口不支持 {"ReturnValue":-821,...}: iSP_Type错误,相关接口未初始化 _____________________________________________ 另外还有一点值得注意的是: 因为是提取下家接口的标签,这种打印的前提是,下家接口输出的标签必须是PDF格式,如果下家的标签不是PDF格式,我们钮门系统是没办法打印的。 因为我们钮门系统只提取下家接口的打印标签为PDF格式的标签,其他格式不提取。 更新补充(日期:2018年10月12日) ———————— 邮政小包标签获取【或者其他下家接口获取的标准通用格式】: http://网址/cgi-bin/GInfo.dll?DoApi&{"RequestName":"sGetLabel","icID":1,"TimeStamp":1507837417000,"MD5":"b67dbca61cfadc49a94f2162273844ea","iNoType":1,"iTable":0,"cModelName":"FILE_STORE_PDF","aNo":"小包单号"} 只要转单号可以提取,并且先提取,并且还能在文件共享中心,看得到这个转单号对应的PDF标签。 那么就可以通过文件共享中心,通过ginfo的doapi接口下载。 上面的格式中↓ “网址”改为:你的钮门服务器的IP或者域名 icid改为:你的客户id TimeStamp时间戳和MD5改成你这边自己当场生成的。 iNoType、iTable不变。 cModelName的参数和上面格式一样“FILE_STORE_PDF”,它代表就是“文件共享中心” aNo改成你的下家接口获取的转单号 钮门快递软件|EMMIS[2017.03.01-15:18]编辑:钮门快递软件|EMMIS 访问:7089
|
|
关于本网站
|
... |
物流查询工具
|
网站快速通道
|
其他服务与支持
|