发货回调

发货回调标准接口

1、当订单在云帆发货完成后,状态发生变更时,会由云帆回调对接方的回调地址进行状态变更的通知。
请按照云帆提供的文件开发标准回调接口。
2、如果贵司的APP或平台已经有发货接口了,可以由云帆调用贵司的发货接口发货,请联系管理员开发配置自定义发货回调接口。

回调地址

用户在云帆系统中配置的地址,配置路径:销售管理→店铺管理→接口配置

测试账号
【app_id】: i1hY3vOmCBWAB9ddDSDTN1RL
【appSecret】: 37f2af0405eaea09c363115273eb02df05cdba7f
正式环境的请求地址及账号信息,请在云帆ERP系统中进行申请。

Headers必须参数

字段 类型 默认 注释
sign String 签名,MD5(app_id + PostBody + appSecret)

PostBody请求参数

参数名称 参数类型 必须 参数说明 示例值
app_id String 系统中申请的appId 10001
msg_id String 请求消息Id 1000168313316464
tid String 发货的订单号 E202010102589645410001
data String 发货详情结构体的Json数据 详见下面【发货详情结构体】的说明
timestamp String 毫秒级时间戳 1603070658889

发货详情结构体

参数名称 参数类型 必须 参数说明 示例值
company_id String 云帆系统的公司主体ID 10001
shop_id String 云帆系统的店铺ID 1026
branch_id String 网点ID
tid String 主订单号 E202010102589645410001
oid String 子订单号
express_id Int 快递公司ID 1
express_name String 快递公司名称,使用utf-8进行了UrlEncode %E7%94%B3%E9%80%9A
waybill_no String 运单号(快递单号)
express_date String 发货时间
operate_user String 操作人 1001

Post的Json数据示例

body-json字符串数据

{"app_id":"i1hY3vOmCBWAB9ddDSDTN1RL","msg_id":"164776226937503744","tid":"E123456","data":{"company_id":1,"shop_id":1,"branch_id":0,"tid":"E123456","oid":"123456","express_name":"%e9%9f%b5%e8%be%be","express_id":"4","waybill_no":"yd12345678","express_date":"05/13/2021 10:22:24","operate_user":"1660"},"timestamp":"1620901344943"}

请求头签名sign:

7f7d73b4db668084f8f9c1223eacff2c

可直接使用该数据进行验证回调,均使用文头提供的应用信息

云帆回调请求的说明

1、请求方法:POST,sign参数放在Header上,Post的Json数据放在Body传输
2、编码格式为UTF8
3、Content-Type:application/json
4、签名说明:sign=MD5(app_id + PostBody + appSecret)转小写
注意:
1、由于JSON没有明确的跨语言规范,因此对JSON解析之后再进行重新编码,并不一定能还原原始JSON字符串。所以请严格按照原始报文进行签名和验签!
2、注意验签的时候,检查原始报文的快递公司名称是进行了urlencode的,请使用原始报文验签
3、验签请使用云帆传递过去的 Body字符串 进行加密验签,避免使用对象接收数据转字符串后和云帆传递数据字段顺序对不上,加密验签通不过的情况。

响应参数

参数名称 参数类型 必须 参数说明 示例值
status String 接后回调消息后请返回Code:200 200
success Boolean 是否成功 true/false
message String 响应消息 请求成功

回调成功的响应示例

{ "status":200, "success":true, "message":"success" }