云帆ERPAPI

云帆ERP开放平台API


发货回调

<p>[TOC]</p> <h1>发货回调标准接口</h1> <p>1、当订单在云帆发货完成后,状态发生变更时,会由云帆回调对接方的回调地址进行状态变更的通知。 请按照云帆提供的文件开发标准回调接口。 <strong>2、如果贵司的APP或平台已经有发货接口了,可以由云帆调用贵司的发货接口发货,请联系管理员开发配置自定义发货回调接口。</strong></p> <h2>回调地址</h2> <p>用户在云帆系统中配置的地址,配置路径:销售管理→店铺管理→接口配置</p> <p>测试账号 【app_id】: i1hY3vOmCBWAB9ddDSDTN1RL 【appSecret】: 37f2af0405eaea09c363115273eb02df05cdba7f 正式环境的请求地址及账号信息,请在云帆ERP系统中进行申请。</p> <h3>Headers必须参数</h3> <table> <thead> <tr> <th style="text-align: left;">字段</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">空</th> <th>默认</th> <th>注释</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">sign</td> <td style="text-align: left;">String</td> <td style="text-align: left;">否</td> <td></td> <td>签名,MD5(app_id + PostBody + appSecret)</td> </tr> </tbody> </table> <h2>PostBody请求参数</h2> <table> <thead> <tr> <th style="text-align: center;">参数名称</th> <th style="text-align: center;">参数类型</th> <th style="text-align: center;">必须</th> <th style="text-align: center;">参数说明</th> <th style="text-align: center;">示例值</th> </tr> </thead> <tbody> <tr> <td style="text-align: center;">app_id</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">系统中申请的appId</td> <td style="text-align: center;">i1hY3vOmCBWAB9ddDSDTN1RL</td> </tr> <tr> <td style="text-align: center;">msg_id</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">请求消息Id</td> <td style="text-align: center;">164776226937503744</td> </tr> <tr> <td style="text-align: center;">tid</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">发货的订单号</td> <td style="text-align: center;">E123456</td> </tr> <tr> <td style="text-align: center;">data</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">发货详情结构体的Json数据</td> <td style="text-align: center;">详见下面【发货详情结构体】的说明</td> </tr> <tr> <td style="text-align: center;">timestamp</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">毫秒级时间戳</td> <td style="text-align: center;">1620901344943</td> </tr> </tbody> </table> <h2>发货详情结构体</h2> <table> <thead> <tr> <th style="text-align: center;">参数名称</th> <th style="text-align: center;">参数类型</th> <th style="text-align: center;">必须</th> <th style="text-align: center;">参数说明</th> <th style="text-align: center;">示例值</th> </tr> </thead> <tbody> <tr> <td style="text-align: center;">company_id</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">云帆系统的公司主体ID</td> <td style="text-align: center;">1</td> </tr> <tr> <td style="text-align: center;">shop_id</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">云帆系统的店铺ID</td> <td style="text-align: center;">1</td> </tr> <tr> <td style="text-align: center;">branch_id</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">网点ID</td> <td style="text-align: center;">0</td> </tr> <tr> <td style="text-align: center;">tid</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">主订单号</td> <td style="text-align: center;">E123456</td> </tr> <tr> <td style="text-align: center;">oid</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">子订单号</td> <td style="text-align: center;">123456</td> </tr> <tr> <td style="text-align: center;">express_id</td> <td style="text-align: center;">Int</td> <td style="text-align: center;">是</td> <td style="text-align: center;">快递公司ID</td> <td style="text-align: center;">4</td> </tr> <tr> <td style="text-align: center;">express_name</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">快递公司名称,使用utf-8进行了UrlEncode</td> <td style="text-align: center;">%e9%9f%b5%e8%be%be</td> </tr> <tr> <td style="text-align: center;">waybill_no</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">运单号(快递单号)</td> <td style="text-align: center;">yd12345678</td> </tr> <tr> <td style="text-align: center;">express_date</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">发货时间</td> <td style="text-align: center;">05/13/2021 10:22:24</td> </tr> <tr> <td style="text-align: center;">operate_user</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">操作人</td> <td style="text-align: center;">1660</td> </tr> </tbody> </table> <h3>Post的Json数据示例</h3> <p>body-json字符串数据</p> <pre><code class="language-string">{"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"}</code></pre> <p>请求头签名sign:</p> <pre><code class="language-string">7f7d73b4db668084f8f9c1223eacff2c</code></pre> <p><strong>可直接使用该数据进行验证回调,均使用文头提供的应用信息</strong></p> <h3>云帆回调请求的说明</h3> <p>1、请求方法:POST,sign参数放在Header上,Post的Json数据放在Body传输 2、编码格式为UTF8 3、Content-Type:application/json 4、签名说明:<strong>sign=MD5(app_id + PostBody + appSecret)转小写</strong> 注意: 1、<strong>由于JSON没有明确的跨语言规范,因此对JSON解析之后再进行重新编码,并不一定能还原原始JSON字符串。所以请严格按照原始报文进行签名和验签!</strong> 2、注意验签的时候,检查原始报文的<strong>快递公司名称</strong>是进行了urlencode的,请使用<strong>原始报文</strong>验签 3、验签请使用云帆传递过去的 <strong>Body字符串</strong> 进行加密验签,<strong>避免</strong>使用对象接收数据转字符串后和云帆传递数据字段顺序对不上,加密验签通不过的情况。</p> <h2>响应参数</h2> <table> <thead> <tr> <th style="text-align: center;">参数名称</th> <th style="text-align: center;">参数类型</th> <th style="text-align: center;">必须</th> <th style="text-align: center;">参数说明</th> <th style="text-align: center;">示例值</th> </tr> </thead> <tbody> <tr> <td style="text-align: center;">status</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">接收消息成功后请返回200,非200云帆会重试两次,第一次五分钟后,第二次十分钟后</td> <td style="text-align: center;">200</td> </tr> <tr> <td style="text-align: center;">success</td> <td style="text-align: center;">Boolean</td> <td style="text-align: center;">是</td> <td style="text-align: center;">接收消息是否成功,等于false云帆会重试两次</td> <td style="text-align: center;">true/false</td> </tr> <tr> <td style="text-align: center;">message</td> <td style="text-align: center;">String</td> <td style="text-align: center;">是</td> <td style="text-align: center;">响应消息</td> <td style="text-align: center;">请求成功</td> </tr> </tbody> </table> <h3>回调成功的响应示例</h3> <p><code>{ "status":200, "success":true, "message":"success" }</code></p> <h3>回调失败的响应示例</h3> <p><code>{ "status":非200的错误码, "success":false, "message":"错误详情" }</code></p>

页面列表

ITEM_HTML