1.获取TOKEN
- appKey,appSecret在中台系统-采购端进行获取
- 使用appKey,appSecret请求 获取tokenAPI 接口(公用API中),将获取到的结果中的token字段放置在header中,字段名为x-token(所有非公用接口通用)
2.中台API请求方式及部分说明
- 通用接口请求方式:{域名}/supplyapi/{API},其中{域名}是中台系统的域名。例如(例子中的域名是假的实际需要客服提供):https://supply.zhongtai.com/supplyapi/api/home/index
- post/put请求,都是json格式(Content-Type:application/json)
- 请求图示:(获取token接口)

- 所有API返回的code大于0时均是返回了错误信息 code=6时为token过期
- 所有带分页的API,”page”,”pageSize”参数均是必传项
- 采购端地址库必须兼容中台系统地址库,避免下单时出现省市区街道名字出现不统一时出现运费模板验证失败的情况
- https://github.com/uiwjs/province-city-china 数据来源是中华人民共和国民政部网站 数据库
3.流程
- 下单流程:
(1)获取token,(通过获取tokenAPI)对应知识库教程搜索【获取tokenAPI】小节
(2)通过(选品列表API)对应知识库教程搜索【选品列表】小节和(批量获取商品详情API)对应知识库教程搜索【商品详情API】小节来导入中台商品,并通过(加入选品库API)对应知识库教程搜索【添加选品库】小节告知中台已成功导入商品,否则无法下单 !
(3)采购端商品详情页面(调用可售检测API)对应知识库教程搜索【可售检测 API】小节,查看当前商品是否可售,此步骤根据采购端的交互逻辑自行判断是否,理论上可忽略)
(4)下单前验证(调用订单验证API)对应知识库教程搜索【订单验证】小节,判断当前订单是否可以正常下单m,如果可以下单会返回运费)
(5)下单(下单API)对应知识库教程搜索【下单–生成订单同时支付,如果已生成订单则是直接支付】默认会直接支付,如果支付不成功返回原因,如果成功会返回订单信息)
(6)中台发货之后会通过回调接口通知采购端发货
- 售后流程:
(1)获取订单支持的售后方式(API)
(2)申请售后(API)
(3)中台售后状态更新会通过回调接口通知采购端(可以查看回调消息类型中的售后相关类型)
4.回调接口
- 回调地址放置在中台系统-采购端-编辑-回调地址中,用于采购端接收中台发送的消息
- 或者在中台系统前端-登录采购端绑定的中台会员的账号-个人中心-API采购-回调链接 (如果没有或者需要申请代表这个会员没有绑定采购端)
- 回调消息格式
订单消息
{
“message_type”:“order.delivery”, //类型
“order_sn”:“SN2107191031EB5180”,//订单号
“member_sign”:“687d4d00b8aab4576afdc4e304ee6f8e”//密钥
}
商品消息
{
“message_type”:” goods.alter”,
“product_id”:“10000”, //商品id
“member_sign”:“687d4d00b8aab4576afdc4e304ee6f8e”
“is_stock”:1 //1是库存更新 0是商品更新}
售后消息
{
“order_item_id”:“中台子订单号”,
“third_order_sn”:“采购端订单号号”,
“after_sales_id”:“售后id”,
“message_type”:“after_sales.pass”,
“member_sign”:“a6a7bcc7988ab066385e7abb3ca98613”,
“message_id”:“a4a26d2c35dd223508d6c6a804888cdd”
}
- 回调消息类型说明
message_type:
goods.alter:商品修改
goods.on.sale:上架
goods.undercarriage:下架
goods.delete:商品删除
order.cancel:订单取消
order.delivery:订单发货
CakeOrder.delivery:蛋糕发货
fuluOrder.delivery 数字权益发货
fuluOrder.failed 数字权益商品:千禧券订单失败通知
order.sending:订单部分发货消息
order.update_send:订单修改物流
after_sales.pass 售后审核成功
after_sales.reject 售后审核驳回
after_sales.receiving 售后确认收货 (如果是换货,这时候也代表发货了)
after_sales.complete 售后确认退款/完成
after_sales.close 售后关闭
order.refunded 订单退款(代表订单退款了,正常无需对接直接对接售后消息即可,注意这个退款不一定是退多少退的当前订单哪个商品)
order_sn:下单时传给中台的订单号
product_id:中台的商品id
member_sign: 用来区别是哪个中台供应链推送过来的消息
蛋糕的消息: 在上面类型前加 CakeOrder. 商品是在前面增加CakeGoods. 数字权益商品前面加fuluGoods
- 采购端的回调接口,在接到中台的回调消息请求后,返回{“code”:0},,其他消息有获取失败消息的API
备注:下单时建议按照 商品来源id+供应商id进行拆分订单(gather_supply_id+source+supplier_id)
商品必须加入选品库才可以下单
