目前支持的物流公司如下,申请电子面单时需要通过code来识别不同的物流公司,注意大小写
物流公司 | 公司编码(取号使用) | 资源编码(发货使用) |
---|---|---|
顺丰速运 | SF | SF |
EMS | EMS | EMS |
宅急送 | ZJS | ZJS |
邮政快递包裹 | POSTB | POSTB |
德邦快递 | DBKD | DBKD |
联邦快递 | FEDEX | FEDEX |
日日顺 | 100005492 | DISTRIBUTOR_13204867 |
苏宁快递 | SNWL | DISTRIBUTOR_13452378 |
菜鸟速递 | CP570969 | DISTRIBUTOR_13503931 |
快弟来了 | LE14027000 | DISTRIBUTOR_30752655 |
安迅 | 21000026002 | DISTRIBUTOR_13365751 |
京东快递 | LE04284890 | DISTRIBUTOR_31481193 |
邮政电商标快 | EYB | EYB |
物流公司 | 公司编码(取号使用) | 资源编码(发货使用) |
---|---|---|
跨越速运 | CN7000001003751 | DISTRIBUTOR_13211725 |
如风达 | 100004928 | BJRFD-001 |
远成快运 | 2460304407_385 | 2460304407_385 |
九曳供应链 | 2383545689_32 | DISTRIBUTOR_13323734 |
圆通承诺达 | CP468398 | DISTRIBUTOR_13469985 |
物流公司 | 公司编码(取号使用) | 资源编码(发货使用) |
---|---|---|
极兔速递 | HTKY | HTKY |
圆通速递 | YTO | YTO |
中通快递 | ZTO | ZTO |
优速快递 | UC | UC |
国通快递 | GTO | GTO |
天天快递 | TTKDEX | TTKDEX |
全峰快递 | QFKD | QFKD |
申通快递 | STO | STO |
韵达快递 | YUNDA | YUNDA |
安能物流 | 2608021499_235 | DISTRIBUTOR_12017865 |
山东递速 | 100007887 | DISTRIBUTOR_13460212 |
信丰物流 | XFWL | XFWL |
百世云配 | CP443514 | DISTRIBUTOR_13468073 |
京广速递 | CP449455 | DISTRIBUTOR_13462882 |
韵达同城 | LE10032270 | DISTRIBUTOR_30506953 |
平安达腾飞 | CP446881 | DISTRIBUTOR_13468071 |
丰网速运 | LE09252050 | DISTRIBUTOR_30464910 |
融阅物流 | LE21354850 | DISTRIBUTOR_31071684 |
联昊通 | LTS | LTS |
物流公司 | 公司编码(取号使用) | 资源编码(发货使用) |
---|---|---|
德邦快运 | CN7000001009020 | DISTRIBUTOR_13327526 |
壹米滴答 | 2744832184_543 | 2744832184_543 |
百世快运 | BESTQJT | BESTQJT |
天地华宇 | HOAU | HOAU |
中铁快运 | ZTKY | ZTKY |
安得物流 | 100002392 | DISTRIBUTOR_13211787 |
京东快运 | LE38288910 | DISTRIBUTOR_31481205 |
物流公司 | 公司编码(取号使用) | 资源编码(发货使用) |
---|---|---|
中通快运 | 3108002701_1011 | DISTRIBUTOR_13222803 |
安能快运 | CN7000001000869 | DISTRIBUTOR_12017865 |
韵达快运 | CN7000001021040 | DISTRIBUTOR_13421750 |
申通快运 | CN7000001017817 | DISTRIBUTOR_13422944 |
速尔快运 | SURE | SURE |
加运美快递 | LE33128010 | DISTRIBUTOR_31375544 |
顺心捷达 | CP471906 | DISTRIBUTOR_13484485 |
速腾快递 | CN7000001028572 | DISTRIBUTOR_13509344 |
中通冷链 | LE14066700 | DISTRIBUTOR_30764443 |
注:
电子面单取号接口请传入公司编码
的值,发货接口请传入资源编码
的值。
目前快运都支持子母单,快递支持子母单(仅top链路支持)的有:顺丰速递,德邦快递,平安达腾飞,跨越速运,京广速递,优速快递(UC)。
除了顺丰和跨越速运,子母单都不支持追加,第一次传入的总包裹数是几,只能取几个号。
快递走子母单,取号参数multi_packages_shipment传true,总包裹数必传,同样的订单号,不同包裹号,具体可参考快运白皮书 https://support-cnkuaidi.taobao.com/doc.htm#?docId=108902&docType=1
PS:快运子母单逻辑,总包裹数必传,物流服务必传,同样的订单号,不同包裹号。
对于加盟型的物流公司有网点的概念。商家需要订购网点,并且管理网点的余额。
商家申请电子面单时,需要上传订单信息。包括渠道code、订单号信息,渠道code见下,订单号要上传对应平台的订单号。淘系即是淘宝订单号。
Order Channel | 渠道描述 |
---|---|
TB | 淘宝 |
TM | 天猫 |
JD | 京东 |
PP | 拍拍 |
YX | 易讯 |
DD | 当当 |
EBAY | EBAY |
AMAZON | 亚马逊 |
SN | 苏宁 |
GM | 国美 |
WPH | 唯品会 |
JM | 聚美 |
LF | 乐蜂 |
MGJ | 蘑菇街 |
JS | 聚尚 |
PX | 拍鞋 |
YT | 银泰 |
YHD | 1号店 |
VANCL | 凡客 |
YL | 邮乐 |
YG | 优购 |
1688 | 1688 |
YOU_ZAN | 有赞 |
PIN_DUO_DUO | 拼多多 |
ZHE_800 | 折800 |
CHU_CHU_JIE | 楚楚街 |
JUAN_PI | 卷皮 |
BEI_BEI | 贝贝 |
WEI_DIAN | 微店 |
QIAN_MI | 千米 |
MEI_LI_SHUO | 美丽说 |
FAN_LI | 返利 |
MENG_DIAN | 萌店 |
YAN_XUAN | 网易严选 |
WEI_MENG | 微盟 |
WEI_SHANG | 微商 |
XIAO_MI | 小米 |
KAO_LA | 考拉 |
MI_YA | 蜜芽 |
YUN_JI | 云集 |
BEI_DIAN | 贝店 |
XIAN_YU | 闲鱼 |
WAN_WU_DE_ZHI | 玩物得志 |
DOU_YIN | 抖音 |
KUAI_SHOU | 快手 |
XIAO_HONG_SHU | 小红书 |
HUAWEI | 华为 |
YANG_MA_TOU | 洋码头 |
WO_MAI | 我买 |
JIU_XIAN_WANG | 酒仙网 |
BEN_LAI_SHENG_HUO | 本来生活 |
DU | 毒 |
OTHERS | 其他 |
注意: 使用时能够确定的电商平台尽量都用其对应的电商平台编码,不推荐使用OTHERS。
电子面单有统一的面单模板标准,电子面单系统提供的菜鸟打印组件已经内嵌了目前支持的物流公司的标准模板,不再需要ISV进行画制。ISV也可以利用打印组件进行自定义模板(拣货单、纸质面单等)的打印。在申请电子面单时,需要携带标准模板的URL,通过cainiao.cloudprint.stdtemplates.get获得。
商家如果使用电子面单,必须要订购电子面单服务。电子面单系统通过发货地址来匹配用户订购的电子面单服务。
对于加盟型的物流公司,通过发货地址来映射到具体的发货网点。(不同网点的订购地址尽量区别)
如果没有发货地址没有匹配到订购服务,会返回“发货地址没有匹配的电子面单服务”错误,为了保证发货地址的正确性,请使用search接口获取用户已经订购的发货地址。
电子面单余额的概念只在加盟型物流公司有效。
申请面单时,需要保证面单余额充足,否则会报“电子面单余额不足”错误。
商家余额是由商家线下与物流公司沟通,物流公司对商家账号进行充值。每次取号会对余额进行扣减,扣减到不足够申请面单时,会报错。
商家对于没有使用的面单号,可以进行取消,但是取消后不会立即回充余额,需要等到面单回收后,再对商家的余额进行回充。
在申请电子面单时,可以为面单绑定物流产品信息,目前支持代收货款服务。 电子面单系统会将物流服务信息下发到物流公司,并且在面单纸上进行展示。
ISV可以根据订单上的物流服务自动绑定申请面单的产品服务。
分拣信息是物流公司对包裹分拣、路由的有效信息,根据收发地址进行计算得到。 电子面单系统在返回这些信息(集包地、大头笔、三段码等),目前很多网点有要求,面单上必须要有分拣信息。
目前分拣信息上有时会返回数字,这种是正常的,是物流公司的编码。
有些情况分拣信息没有计算出,返回为空。这种情况一般是收货地址不标准。
对于一些地址为高新区、其它区的地址,是难以计算分拣信息的,需要商家提供更细致的地址才能够计算。
下面几种情况是得不到分拣信息的:
1. 没有 区、街道信息 province:浙江省;city:杭州市;detial:西溪园区四号楼
2. 区 为其它区,高新区之类 province:浙江省;city:杭州市; district:其它区; detial:西溪园区四号楼
对于拆单发货和合单发货的面单,以及同一订单需要进行换货重新取号的场景,电子面单那系统通过package_info.id来实现。(下图中的package_id就是package_info.id)
拆合单
假设一个电商订单号(比如淘宝订单号)买的宝贝用一个包裹发不下,需要拆成两个包裹来发,那么就是下面的模型:
退换货
如果一个订单发货之后又需要退换货,之前一、二期是不能重新获取面单号的,三期中可以通过使用不同package_info.id来实现,场景模型如下
(1)第一次正常下单发货模型:
(2)申请换货,重新发货模型:
拆合单场景枚举:
注:tid订单号,pid包裹号(ERP订单号),wb电子面单号
应用场景 | 场景描述 | 使用模型 | 描述 |
---|---|---|---|
拆单 | 一个订单发两个包裹 | tid1 + pid1 => wb1 tid1 + pid2 => wb2 |
生成两个包裹的面单号 |
合单 | 两个订单发一个包裹 | (tid1+tid2) + pid1 => wb1 | 生成一个面单号 |
退换货 | 该订单需要重新发货 | tid1 + pid1 => wb1 tid1 + pid2 => wb2 |
生成两个包裹的面单号 |
拆单再合单 | 合单不能改变原有的组合 | tid1 + pid1 => wb1 (tid1+tid2) + pid2 => wb2 |
生成两个包裹的面单号 |
错误的合单 | 订单1一部分自己发一个包裹,一部分和订单2合包 | tid1 + pid1 => wb1 (tid1+tid2) + pid1 => wb2 |
返回错误。1.如果是想tid2和tid1合单,要先cancel,在执行第二步。2.如果想tid1拆单之后在和tid2合单,第二步改成pid2. |
部分订单查询功能 | 合单之后,可以通过其中一个订单来查询面单号信息 | (tid1+tid2) + pid1 => wb1 tid1 + pid1 => wb1 |
合单成功,通过其中某个订单返回对应的面单信息.(第一步是获取,第二步是查询) |
合单再拆单 | tid1一部分和tid2一起合包,一部分自己一包 | (tid1+tid2) + pid1 => wb1 tid1 + pid2 => wb2 |
生成两个面单号 |
特殊拆包 | tid1拆包操作,但第二次pid传了-1或者不传 | tid1 + pid1 => wb1 tid1 + (-1) => wb2 |
认为是拆单,建议ISV不要传-1或不传 |
Get接口重新获取面单号 | tid+pid对应的面单号状态为已取消时 | / | 返回新获取的面单号(即获取功能) |
Get接口获取原先的面单号 | tid+pid对应的面单号状态为已分配;已确认打印;已揽收;已签收时 | / | 返回原先的单号(即查询功能) |
电子面单不保证出参顺序与入参顺序保持一致 需要通过objectId进行识别
在入参和出参中都有objectId字段
此字段与业务无关,在批量调用时,需要保证每个对象的objectid不同,在获取到返回值后,可以通过比对出参中的objectId,可以得到与入参的对应关系。
只需要在一次请求中保证不同即可。可以用索引下标代替
在请求到出参后,可以根据打印组件发送协议要求,拼装打印请求,向打印组件发送打印消息,进行打印。
printData 值解释
{ "signature": "RSA:hqUkugCY2FFXJK10fRcUE0TsvDppxXuBdOEnPVntF3u4H2yaYiPsPXqjdI1C5oXs60vVCfqd8YC6vZx57TnN9/u0VYM/TiFmMtxix9ouPQ2p7G64UyX9BrnRQQCp5ETqJogSzIpxVlz5rx3hy19C+VQrqWgQEw5JqOkoBFXhMi8", // 打印签名信息,打印组件使用,使用者不需关心 "templateURL": "http://cloudprint.cainiao.com/cloudprint/template/getStandardTemplate.json?template_id=1001",// 打印模板信息,打印组件使用,使用者不需关心 "data":{ "recipient": {//收件人信息 "address": { "city": "北京市", "detail": "花家地社区卫生服务站", "district": "朝阳区", "province": "北京", "town": "望京街道" }, "mobile": "1326443654", //手机号码 "name": "Bar", "phone": "057123222" // 固定电话 }, "routingInfo": { // 路由信息 "consolidation": {"name":"集包地","code":"123"}, //集包地信息 "origin": { //发件网点信息 "code": "POSTB","name":"发件网点名称" }, "sortation": {// 大头笔信息 "name": "杭州" }, "dmsSortingInfo": {// 落地配仓库系统调用智分宝DMS预分拣返回结果,根据智分宝返回的信息展示 "siteAreaCode": "", "siteAreaName": "", "citySimpleCode": "" } "routeCode":"12-121-1" //三段码信息 }, "sender": {// 发件信息 "address": { "city": "北京市", "detail": "花家地社区卫生服务站", "district": "朝阳区", "province": "北京", "town": "望京街道" }, "mobile": "1326443654", "name": "Bar", "phone": "057123222" }, "shippingOption": { "code": "COD",// 产品编码 "services": {,//服务 "SVC-COD": { "value": "200" } }, "title": "代收货款" ,//产品名称 }, "cpCode":"POSTB", "waybillCode": "9890000160004",//面单号 } }
注意:这里和之前接口的区别有一点要注意,以前的大头笔,在云打印接口中拆分成sortation ,routeCode.
为保障电子面单商家的正常使用电子面单的权益,需要对渠道code、订单号、使用者id保证正确。
如果传错,可能会导致商家发货失败。