# 开发必读

# 商家接入准备

  1. 小程序进行微信认证
  2. 开通事件推送,设置事件地址:登录小程序后台,开发->开发设置->消息推送->启用
  3. 消息加密方式使用安全模式,数据格式选JSON
  4. 如果授权给第三方,则不需要步骤2
  5. 在配送公司注册账号,并在小程序后台进行授权绑定

# 名称解释

  1. appkey: 一般为商家在登录配送公司开放平后分配的相应的appkey值
  2. AppSecret: 一般为商家在登录配送公司开放平后分配的相应的秘钥
  3. shopid:微信平台字段,对应配送公司的appkey
  4. shop_no:商家对不同门店进行的编号,需要在配送公司系统有过登记,比如商家自己门店系统中有100个门店,编号是1-100,在顺丰同城的系统中有登记过这100个门店,且在顺丰同城登记的编号也是1-100,那么下单的时候传shop_no=1,就是编号为1 的门店下的配送单
  5. shop:下单请求的一个字段,商家信息,会展示到物流通知消息中,如下图所示
  6. 下单请求的取货码和收货码:取货码是指骑手在商家这里取货时,商家出示取货码,骑手才能完成取货;收货码指骑手送达给用户时,用户出示收货码,骑手才算配送完成。商家可在配送公司开放平台设置是否需要开启取货码和收货码

# 调用api接口说明

  1. 编码方式:UTF-8
  2. 数据格式:JSON
  3. 提交方式:POST
  4. 下单需要使用绑定的shopid和AppSecret,其中shopid即配送公司账号的appkey,AppSecret即配送公司账号对应的秘钥
  5. resultcode错误码和resultmsg错误描述由运力方定义,微信侧负责透传,只统一定义code=0表示成功
  6. 除了平台本身的加解密和签名,和订单相关的请求还需要带上运力侧签名delivery_sign,签名规则为
  7. 如果接口请求里有字段shop_order_id ,则delivery_sign=SHA1(shopid + shop_order_id + AppSecret),其中shopid对应运力侧的appkey,shop_order_id对应订单id,AppSecret即配送公司账号对应的秘钥
  8. 如果请求里没有字段shop_order_id ,则delivery_sign=SHA1(shopid + AppSecret),其中shopid对应运力侧的appkey,AppSecret即配送公司账号对应的秘钥
  9. 示例:shopid=“test_shop_id”,shop_order_id =“test_shop_order_id”, AppSecret=“test_app_secrect”,则delivery_sign=“a93d8d6bae9a9483c1b1d4e8670e7f6226ec94cb”

# 错误码说明

错误码 错误描述
930555 微信平台系统错误
930556 配送公司超时
930557 配送公司系统错误
930558 配送公司逻辑错误
930559 openid无效
930560 未绑定的商户号
930561 参数错误
930562 配送单已经存在
930563 配送单不存在
930564 调用无配额
930565 配送单已结束
9300535 shop字段商品缩略图 url、商品名称为空或者非法,或者商品数量为0
其他错误码 配送公司返回的错误码