电子面单的打印应该做些什么?

最近,项目中用到集成电子面单的对接,经过一番百度,找到了快递鸟,因为快递鸟的电子面单接口是免费的,所以决心一试。

第一步:注册账号

要想对接电子面单,首先需要注册一个快递鸟账号,注册完成后我们就可以得到EBusinessID和APPKey,接下来我们就是下载接口文档和接口demo示例。

第二步:下载接口文档,阅读接口文档

将快递鸟的电子面单接口文档下载下来,查看调用参数和返回参数,同时快递鸟还提供了沙箱,方便排查问题。

但是,经过小编测试发现,快递鸟沙箱的返回值在调用正确和不正确的时候,返回json的大小写是不一样的,这点需要注意,经过在他们QQ群的咨询得知,正式环境是完全按照接口文档来的,不明白为啥沙箱要搞的不一样。

第三步:构造参数

看过接口文档和demo示例就知道,调用电子面单接口需要传递哪些参数,那么我们的任务就是构造这些参数。因电子面单与快递公司是关联的,所以电子面单的参数里要根据快递公司的名字查询出对应的快递公司编码。

构造发件人和收件人信息,这里我遇到了一个问题,就是我数据库里存储的发收件人的信息是一串的,并没有把省市区信息分隔开,而电子面单接口里是需要分隔开的,怎么办呢?

经过一番百度,发现高德开发平台提供了地址的逆编码接口功能,就是你提供一串详细的地址信息,它就可以返回一个xml或json的结构化串,包含了省市区等信息,不过传递给高德的详细地址信息需要是utf-8编码的,这点有点措手不及。

一个小坑:邮政、EMS是要求提供邮政编码的,这点有点措手不及,因为现在填快递都不需要邮政编码了。

第四步:接口调用

好了,万事俱备,开始调用接口。如果调用正确就会返回给我们一个快递单号和一个快递模板,将这个模板输出到html中进行打印就可以了,这里我们需要额外处理一下打印区域。

过程就是这样,你有点明白了吗?

实例:
电子面单的打印应该做些什么?