跳转到内容
返回官网

获取电子面单单号和打印信息

主要用于商家ERP/ISV 向字节电子面单系统获取单号和打印信息。 (重要)关于出新号或老号的问题: 如果 订单号+ 包裹id 相同,则返回老号, 如果包裹id 用不同的,则返回新号。

调用路径:ISV/商家—>字节 支持批量取号,一次最多100条。

使用本接口获取了快递单号等信息后,再通过接口:查询电子面单(获取面单信息) 已经面单信息。

另外: 为方便大家的使用,本接口已经将上面2个步骤合二为一,传入参数,直接返回快递单号和对应的电子面单信息。 合二为一的取号接口:获取电子面单(合二为一)

一、请求参数

请求URL:

POST https://kf.fw199.com/gateway/dd/logistics/newcreateorder

公共参数

参数名称参数类型是否必须示例值参数描述
appidString合作伙伴AppId
timestampString1657525936当前Unix时间戳,秒
seller_nickStringoms38173182抖店的账号,对应蜂巢授权返回doudianseller字段
signString

业务参数

参数名称参数类型是否必须示例值参数描述
request_datajson见下面的示例json获取单号和面单打印数据 ,如果同时对多个订单进行取号,将多个订单信息放到集合order_infos中。

request_data为取号的示例业务报文,json格式如下:

{
"sender_info":{
"address":{
"country_code":"CHN",
"province_name":"上海市",
"city_name":"上海市",
"district_name":"青浦区",
"detail_address":"测试"
},
"contact":{
"name":"hanson",
"mobile":"18817834074"
}
},
"logistics_code":"zhongtong",
"order_infos":[
{
"order_id":"49488636457864312061",//密文取号时,传从千里马获取的订单号,明文取号时,传自定义订单号。
"pack_id":"pkg_01",
"receiver_info":{
"address":{
"country_code":"CHN",
"province_name":"浙江省",
"city_name":"杭州市",
"district_name":"西湖区",
"detail_address":"" //密文取号时,传空字符串; 明文取号时,传收件人真实详细地址。
},
"contact":{
"name":"",//密文取号时,传空字符串; 明文取号时,传收件人真实姓名
"mobile":""//密文取号时,传空字符串; 明文取号时,传收件人真实手机。
}
},
"items":[
{
"item_name":"【测试商品勿拍】白色水墨印花衬衣",
"item_specs":"颜色:默认 尺码:120cm",
"item_count":1
}
]
},
{
"order_id":"4948795729456854758",//密文取号时,传从千里马获取的订单号,明文取号时,传自定义订单号。
"receiver_info":{
"address":{
"country_code":"CHN",
"province_name":"浙江省",
"city_name":"杭州市",
"district_name":"西湖区",
"detail_address":"" //密文取号时,传空字符串; 明文取号时,传收件人真实详细地址。
},
"contact":{
"name":"",//密文取号时,传空字符串; 明文取号时,传收件人真实姓名
"mobile":""//密文取号时,传空字符串; 明文取号时,传收件人真实手机。
}
},
"items":[
{
"item_name":"【【测试商品勿拍】dy测试上衣-各种编码3",
"item_count":1
}
]
}
],
"user_id":-1,
"order_channel":"1"
}

上述请求参数字段的以及更多字段的业务含义说明见文档

二、请求示例代码

Java

@Test
public void DDLogisticsWaybillGet() throws Exception {
String reqData = "{\"sender_info\": {" +
" \"address\": {" +
" \"country_code\": \"CHN\"," +
" \"province_name\": \"上海市\"," +
" \"city_name\": \"上海市\"," +
" \"district_name\": \"青浦区\"," +
" \"detail_address\": \"测试\"" +
" }," +
" \"contact\": {" +
" \"name\": \"hanson\"," +
" \"mobile\": \"18817834074\"" +
" }" +
" }," +
" \"logistics_code\": \"zhongtong\"," +
" \"order_infos\": [" +
" {" +
" \"order_id\": \"4948863645786431206\"," +
" \"pack_id\": \"pkg_01\"," +
" \"receiver_info\": {" +
" \"address\": {" +
" \"country_code\": \"CHN\"," +
" \"province_name\": \"浙江省\"," +
" \"city_name\": \"杭州市\"," +
" \"district_name\": \"西湖区\"," +
" \"detail_address\": \"\"" +
" }," +
" \"contact\": {" +
" \"name\": \"\"," +
" \"mobile\": \"\"" +
" }" +
" }," +
" \"items\": [" +
" {" +
" \"item_name\": \"【测试商品勿拍】白色水墨印花衬衣\"," +
" \"item_specs\": \"颜色:默认 尺码:120cm\"," +
" \"item_count\": 1" +
" } " +
" ]" +
" }" +
" ]," +
" \"user_id\": -1," +
" \"order_channel\": \"1\"" +
"}";
Map<String, Object> data = new HashMap<String, Object>();
data.put("appid", Config.AppId);
Long timestamp = System.currentTimeMillis() / 1000;
data.put("timestamp", timestamp.toString());
data.put("seller_nick", Config.DDSellerNick);
data.put("request_data", reqData);
data.put("sign", Sign(data, Config.AppSecret));
// 调用服务API
String resp = doHttpRequest(Config.DDLogisticsWaybillGetUrl, data);
System.out.println(resp);
}

说明:取号也支持明文取号,将收件人详细地址detail_address、收件人姓名name、收件人手机mobile传入明文即可。

三、返回结果

{
"code":0,
"message":"ok",
"data":{
"ebill_infos":[
{
"order_id":"4948795729456854758",
"pack_id":"",
"track_no":"75531717195834",
"sort_code":"320- 13 128",
"package_center_code":"",
"package_center_name":"杭州",
"short_address_code":"",
"short_address_name":"",
"extra_resp":"",
"sub_waybill_codes":"",
"order_channel":"1",
"shipping_code":""
}
],
"err_infos":[
{
"order_id":"49488636457864312061",
"pack_id":"pkg_01",
"err_code":"4006",
"err_msg":"49488636457864312061:订单号非法",
"order_channel":"1"
}
]
}
}

返回参数说明

参数名称参数类型是否必须示例值参数描述
order_idString202011809订单号
pack_idString1包裹id
track_noString202011809运单号
print_dataString加密的面单数据
err_codeint错误码,0表示成功,非0失败
err_msgString取号失败时,返回的信息
sort_codeString400-W00 000分拣码(三段码)
package_center_codeString1集包地代码
package_center_nameString1集包名称
short_address_codeString1大头笔编码
short_address_nameString1大头笔名称
extra_respString1额外打印信息(众邮、京东、丰网使用),具体请参考抖音电商电子面单对接文档附录4
sub_waybill_codesString13,434,556子母件列表英文逗号分隔
order_channelStringc2;详情请看文档映射表
shipping_codeString34343快递商侧系统生成的寄件码

说明: code为0表示成功,非0为失败,message会包含失败原因。此接口为批量取号接口,多个订单同时取号时,取号失败的订单也会返回,是否成功以err_code为准,err_msg会包含失败的原因。

四、多店铺共享面单库存&非抖店面单取号方案

当取号接口返回提示“查询订单失败”时,一般是渠道和订单号与店铺不一致造成的,一般有如下2种情况:

四(一)、主店铺A帮其他副店铺B取号时,即A出号给B使用。

抖音平台的店铺

这种情况,取号参数中的user_id传B店铺的店铺ID。若无法获取到B店铺的店铺ID,传值 -1 可绕过order_id与user_id的一致性校验。

四(二)、主店铺A帮其他副店铺B取号时,即A出号给B使用。

非抖音平台的店铺

这情况下,因为传入的订单号order_id是其他平台渠道的订单号,所以还要传入order_channel渠道代码(不传或传1是代表抖音), 所以order_channel要传其他平台的代码。 其他平台的代码表如下:

渠道名称渠道编码(接口交互使用) order_channel
抖音1
快手2
淘宝3
天猫4
京东5
拍拍6
易讯7
当当8
EBAY9
亚马逊10
QQ11
苏宁12
国美13
唯品会14
聚美15
乐蜂16
蘑菇街17
聚尚18
拍鞋19
银泰20
1号店21
凡客22
邮乐23
优购24
168825
有赞26
拼多多27
折80028
楚楚街29
卷皮30
贝贝31
微店32
千米33
美丽说34
返利35
萌店36
网易严选37
微盟38
微商39
小米40
考拉41
蜜芽42
云集43
贝店44
闲鱼45
玩物得志46
小红书47
华为48
洋码头49
我买50
酒仙网51
本来生活52
得物53
小荷健康商城55
微信视频号56
字节供应链101
字节抖音超市102

四(三)、接口报错“详细地址长度不能超过200字符,请检查重试”

详细地址的密文传入有问题,无法识别,会被当成明文校验,需要传入正确的密文。

四(四)、查询电子面单信息返回失败,提示’该运单不存在或已删除’,如何解决?

该报错可能有两种情况引起:1、运单号被取消了;2、运单号取号太久,没有打印,被回收了。 3、通过A店铺获取单号,再用单号通过B店铺获面单 平台建议开发者遇到该问题,可重新取号再打印。

四(五)、明文和密文取号与渠道编码的关系

看一下这个规则 https://op.jinritemai.com/docs/question-docs/1263/6731