友朋运营商开放平台
  1. 业务场景
友朋运营商开放平台
  • 友朋运营商平台第三方开放平台接口文档
  • 业务场景
    • 场景:自取柜第三方支付业务逻辑
    • 场景:异步通知第三方业务回调地址
    • 场景:自取柜售货机订单同步给第三方
  • API 列表
    • api.test
      POST
    • cabinet.list
      POST
    • cabinet.product.stock
      POST
    • cabinet.open.door
      POST
    • cabinet.order.refund.apply
      POST
    • cabinet.order.user.appeal
      POST
    • cabinet.order.list
      POST
    • cabinet.order.get
      POST
    • consumer.order.list
      POST
    • consumer.order.get
      POST
  1. 业务场景

场景:异步通知第三方业务回调地址

业务异步通知#

💡
使用背景:运营商在友朋开放平台创建开发者appid 并设置了业务回调地址,开发者接收友朋异步通知所需实现的接口。
具体根据所实际需要的业务场景来接收友朋的异步通知

1. 使用说明#

1、触发通知条件后,友朋主动调用接口通知给到开发者
2、需要在运营商后台>营销中心>开放平台>开发者中配置回调地址和勾选相应的异步通知接口【免费】
3、如果多个开发者都配置了地址,则所有的地址都会收到接口通知
4、回调地址即通知的接口地址, 根据 method 不同做不同的业务处理
5、所有接口统一采用 https post 方式调用

1.1 开发者配置回调地址#

运营商后台创建开发者时自行配置

1.2 异步通知请求方式#

Method: POST
Content-Type: application/x-www-form-urlencoded

1.3 公共请求参数#

参数名称类型是否必须描述示例值
appidstringY运营商后台创建的 AppID930859529955
methodstringY接口名称 (字母小写)eg: notify.activity.voucher.exchangecode
biz_contentstringY业务参数 json 字符串
timestampintYunix 时间戳到秒1556943285
sign_typestringY签名方式,md5 (小写)md5
signstringY签名(小写)签名方式见下文
💡
注意接收友朋异步通知没有 version参数及参与签名,和请求友朋API接口的参数及参与签名不完全一致。需按照上述请求参数接收和签名校验。

1.4 返回结果结构#

参数名称类型是否必须说明示例值
error_codeint是错误代码 =0 正常(操作成功,接口调用成功) !=0 异常错误0
error_msgstring是错误描述ERR_SYSTEM
dataobject是返回业务内容{}

1.5 签名#

除 sign 参数外所有参数必须参与签名,参数以文本方式字典排序,排序后使用 key=value&key=value 方式拼接字符串
得到字符串 tmpString
签名:md5(tmpString+"&"+appSecret) 得出的结果转换为小写字母
appSecret 在运营商后台获得

1.6 开发者接收成果后返回给友朋#

统一返回
{ error_code:0 , error_msg:"SUCCESS"} 

1.7 友朋重试机制及开发者去重机制#

友朋回调开发者指定的URL,如开发者的接收接口没有返回指定结果,友朋将重试10次。请开发者确保接口稳定性。
当友朋异步通知开发者时,开发者需自行实现去重机制。

2. 异步事件通知#

提示
开发者根据实际所需业务场景,接收友朋的异步通知后存档并自行处理内部系统逻辑,注意同步返回成果接收结果给友朋。
通知事件 method说明
notify.cabinet.order.simple自取柜的订单用户完成支付后触发
notify.cabinet.changed自取柜配置发生变化时触发
notify.close.door前置条件:在调用[cabinet.open.door]接口后,友朋服务器收到机器关门后触发
notify.consumer.order.simple售货机设备上报出货结果时触发
notify.terminal.cargo.supplement售货机完成补货时触发
notify.activity.voucher.exchangecode使用兑换码在售货机兑换成功并已出货的情况下触|
notify.depot.changed商品库存发生变化时触发,包含仓、人、机器
notify.depot.pickup.return补货员将商品退货到仓库时触发

2.1 notify.cabinet.order.simple#

参数名称类型说明
ReceiptNostring订单交易编号
CIDstring自取柜设备 ID
PayTimeint支付时间

2.2 notify.cabinet.changed#

参数名称类型说明
RequestIDstring请求ID
Namestring设备名称
DeviceCodestring设备编号
Codestring生产编码
EnableSellboolean是否开启售卖,默认停止售卖
SellStatusinteger设备售货状态,0=停止售货,1=正常售货,2=待投放
OnlineStatusinteger设备在线状态,0=离线,1=在线
Provincestring省份
Citystring城市
Districtstring区县
ServicePhonestring客服电话
ExtElectronicStatusinteger电源状态,0=断电,1=通电
ReplenisherAccountIDstring补货员id
CabinetCountinteger柜门数
Locationarray地理位置,包含经度和纬度
CargoConfigarray object货道信息
"CargoConfig" 的详细信息,这是一个包含多个对象的数组,每个对象都有 "Row", "Col" 和 "BarCode" 的属性。
参数名称类型说明
Rowinteger行号
Colinteger列号
BarCodestring条形码

2.3 notify.close.door#

参数名称类型说明
Statusint1=机器有开门 2=机器没有开门
ReceiptNostring单号
Msgstring消息文案

2.4 notify.consumer.order.simple#

参数名称类型说明
ReceiptNostring订单交易编号
TIDstring售货机设备 ID
ShipmentsStatusint出货结果
ShipmentsErrorstring失败原因

2.5 notify.terminal.cargo.supplement#

参数名称类型说明
TIDstring设备 ID

2.6 notify.activity.voucher.exchangecode#

参数名称类型说明
VoucherIDstring兑换码库 id
VoucherCodestring兑换码
TIDstring设备 ID
ReceiptNostring订单号
ShipmentsStatusint出货状态 0=等待出货 1=出货成功 -1=出货失败 2=等待取货 3=无库存 等待取货

2.7 notify.depot.changed#

参数名称类型说明
RequestIDstring请求 id,用于多次请求下去重
BizTypestring库存变化类型
BizIDstring业务 ID
ReceiptNostring业务单号
Timestampint库存变化时间戳
DepotIDstring仓库 ID
AccountIDstring补货员 ID
DeviceIDstring设备 ID
ProductListarray商品列表

2.8 notify.depot.pickup.return#

参数名称类型说明
RequestIDstring请求 id,用于多次请求下去重
BizIDstring退货单 id
ReceiptNostring退货单单号
CreateReturnOrderAtint创建退货单时间戳
DepotIDstring仓库 ID
AccountIDstring补货员 ID
ProductListarray商品列表
修改于 2024-02-29 06:33:42
上一页
场景:自取柜第三方支付业务逻辑
下一页
场景:自取柜售货机订单同步给第三方
Built with