10-消息推送.md 20 KB

消息推送

消息推送由企得宝ERP系统主动向开发者配置的推送地址推送消息,共 8 种推送类型。


推送说明

推送方式

  • 请求方式: HTTP POST
  • Content-Type: application/json;charset=UTF-8

推送签名规则

  1. 所有参数(除 sign)按照字典序排列
  2. 排序好的参数(除 sign)根据参数名称+参数值直接拼接(key1value1key2value2)
  3. 拼接完成后字符串两端加上当前企业的 secret 进行 MD5 加密并转小写

返回结果

接收方处理完成后,返回字符串 success 认为推送成功,返回其他认为失败。


推送类型列表

序号 推送类型 说明
1 库存推送 库存变更时触发
2 发货推送(旧版) 发货时触发
3 发货推送(新) 发货时触发(需联系开启)
4 路由推送 物流路由更新时触发
5 入库推送 退货入库时触发
6 订单流程消息推送 订单流程状态变更时触发
7 发货单推送 发货单创建或状态变更时触发
8 退货单推送 退货单创建或状态变更时触发

1. 库存推送

推送时机: ERP系统中商品库存发生变更时触发

请求参数

参数名 必选 类型 说明
productId String 平台商品Id
skuId String 平台商品SkuId
skuCode String 平台商品Sku编码
shopId String 当前商品所属店铺ID
quantity String 根据店铺选择的上传类型×上传比例
modifyDate String 库存变更时间
timestamp String 时间戳(毫秒)
sign String 签名

响应参数

参数名 必选 类型 说明
state boolean 响应结果:true-成功;false-失败
code int 响应码:0-成功;1-错误
message String 错误信息

2. 发货推送(旧版)

推送时机: 发货时触发

推送须知: 推送成功后,如果当前订单在对方系统是整单发货,请调用 foonsu.erp.orders.save 接口同步当前订单为已发货;如果是部分发货可同步成部分发货。

请求参数

参数名 必选 类型 说明
orderKind String 订单类别
logisticsCompanyCode String 物流公司编码
tradeNo String 交易单号
logisticsNo String 运单号
timestamp String 时间戳(毫秒)
sign String 签名

返回结果: 返回 success 认为推送成功。


3. 发货推送(新)

推送时机: 发货时触发(对接此推送方式需要联系对接负责人员为企业开启)

推送须知: 推送成功后,如果当前订单在对方系统是整单发货,请调用 foonsu.erp.orders.save 接口同步当前订单为已发货。

请求参数

参数名 必选 类型 说明
pushJson String 推送内容Json字符串
timestamp String 时间戳(毫秒)
sign String 签名

pushJson 推送内容参数

参数名 必选 类型 说明
logisticsCompanyCode String 物流公司编码
externalStorageCode String 外部仓库编码
tradeNo String 交易单号
logisticsNo String 运单号
orderKind String 订单类别
addLogistcisNo String 追加运单号
subLogistcisNo String 子运单号
payAmount BigDecimal 付款金额
postAmount BigDecimal 运费
deliveryOrderParentGoodsList List[Object] 发货父商品列表
deliveryOrderGoodsList List[Object] 发货商品列表
packages List[Object] 订单包裹信息

deliveryOrderParentGoodsList 参数

参数名 类型 说明
goodsId String 商品id
goodsCode String 系统商品编码
goodsName String 商品名称
goodsQuantity BigDecimal 商品数量
goodsUnit String 商品单位
goodsPlatformCode String 平台商品编码
platformGoodsCode String 平台商品id
platformQuantity BigDecimal 平台数量
payAmount BigDecimal 付款金额
batchList String 唯一码/序列号列表,多个逗号隔开

deliveryOrderGoodsList 参数

参数名 类型 说明
goodsId String 商品id
parentGoodsId String 父商品id
goodsCode String 商品编码
goodsName String 商品名称
goodsQuantity BigDecimal 商品数量
goodsUnit String 商品单位
goodsPlatformCode String 平台商品编码
platformGoodsCode String 平台商品id
platformQuantity BigDecimal 平台数量
payAmount BigDecimal 付款金额
batchList String 唯一码/序列号列表,多个逗号隔开

packages 参数

参数名 类型 说明
expressCode String 运单号
items List[Object] 商品列表
packageCode BigDecimal 包裹编号
batchCode String 唯一码/序列号列表,多个逗号隔开

items 参数

参数名 类型 说明
itemCode String 商品编码
itemId String 商品仓储系统编码
quantity Long 包裹内该商品的数量

推送示例

{
  "pushJson": "{\"addLogistcisNo\":\"SF1040358886694,SF1040358886709,SF1310010989521\",\"deliveryOrderGoodsList\":[{\"goodsCode\":\"S1110\",\"goodsName\":\"测试商品\",\"goodsQuantity\":2.4,\"batchList\":\"A0001,A0002\"}],\"logisticsCompanyCode\":\"01\",\"logisticsNo\":\"SF1310010946622\",\"subLogistcisNo\":\"\",\"tradeNo\":\"2999\",\"packages\":[{\"expressCode\":\"fake_data\",\"items\":[{\"itemCode\":\"fake_data\",\"itemId\":\"fake_data\",\"quantity\":66}],\"packageCode\":\"fake_data\",\"batchCode\":\"A0001,A0002\"}],\"externalStorageCode\":\"121212\"}",
  "sign": "58c3f00cc3792c9ad6f0c7575154a518",
  "timestamp": "1611562103183"
}

4. 路由推送

推送时机: 物流路由信息更新时触发(如揽件、中转、派送、签收等)

请求参数

参数名 必选 类型 说明
routePushList String 路由消息集合(JSON数组字符串)
timestamp String 时间戳(毫秒)
sign String 签名

routePushList 对象参数

参数名 类型 说明
acceptAddress String 路由发生的地点
acceptTime Date 路由发生的时间
exceptionType String 路由异常状态:0-正常;1-揽件超时;2-中转超时;3-派送超时;4-虚假签收;5-问题件;6-退件;7-拒收
logisticsNo String 运单号
parcelType String 路由包裹状态:1-已发货未揽件;2-已揽收未中转;3-已中转未派送;4-已派送未签收;5-已派送已签收;6-异常单;7-拒收;8-已送达
remark String 备注
expressman String 派送员姓名(目前只有顺丰路由才有该字段)
expressmanMobile String 派送员电话(目前只有顺丰路由才有该字段)
tradeNo String 交易单号

请求示例

{
  "sign": "695eca7dcadd9fac7cc678f284553862",
  "routePushList": "[{\"acceptAddress\":\"深圳市\",\"acceptTime\":\"2020-04-15 21:50:18\",\"exceptionType\":\"0\",\"logisticsNo\":\"SF1011737074881\",\"parcelType\":\"5\",\"remark\":\"已派送已签收\"},{\"acceptAddress\":\"深圳市\",\"acceptTime\":\"2020-04-15 20:50:18\",\"exceptionType\":\"0\",\"logisticsNo\":\"SF1011737074881\",\"parcelType\":\"4\",\"remark\":\"已派送未签收\"}]",
  "timestamp": "1590042103647"
}

5. 入库推送

推送时机: 退货商品入库时触发

请求参数

参数名 必选 类型 说明
orderNo String 退货单编号
afterSaleOrderId String 平台售后单号(平台退货单编号)
tradeNo String 平台交易单号
warehouseId Long 仓库ID
warehouseName String 仓库名称
stockType String 入库类型:1-退货入库
statusDate String 入库时间
timestamp String 时间戳(毫秒)
sign String 签名

请求示例

{
  "orderNo": "DRO274201560000",
  "warehouseId": "9900100000000082",
  "stockType": "1",
  "sign": "2f045f4e12b37bb8bafc5f4785f36f56",
  "warehouseName": "深圳仓",
  "timestamp": "1655284940722"
}

6. 订单流程消息推送

推送时机: 订单流程状态变更时触发(接单、客审、打印物流单、打印发货单、外仓操作等)

请求参数

参数名 必选 类型 说明
shopId String 店铺Id
tradeNo String 交易单号
status String 状态:1-已接单;2-已客审;3-已打印物流单;4-已打印发货单;5-外仓已接单;6-外仓已拣货;7-外仓已打包;8-外仓已发货;9-订单已同步外仓;10-订单已从外仓取消;11-订单异常;12-订单已作废
exceptionMessage String 订单异常信息
operationDate String 操作时间
operationTimestamp String 操作时间戳(毫秒级)
timestamp String 当前时间戳(毫秒)
sign String 签名

响应参数

参数名 必选 类型 说明
state boolean 响应结果:true-成功;false-失败
code int 响应码:0-成功;1-错误
message String 错误信息

7. 发货单推送

推送时机: 发货单创建或状态变更时触发

请求参数

参数名 类型 说明
deliveryOrdersId String 发货单ID
deliverOrderNo String 发货单号
orderNo String 订单编号
shopId String 当前商品所属店铺ID
outShopId String 外部店铺ID
tradeNo String 平台交易单号
deliveryDate String 发货时间
sourceCreateDate String 订单创建时间
postAmount BigDecimal 运费
goodsWeight BigDecimal 重量
systemLogisticsCompanyCode String 快递公司编码
logisticsNo String 快递单号(运单号)
logisticsCompanyNameZh String 快递公司
orderKind String 订单类别
expressType String 业务类型
payAmount BigDecimal 付款金额
platformPromotionAmount BigDecimal 店铺让利金额
orderAgioAmount BigDecimal 平台让利金额
shopArrivalAmount BigDecimal 店铺到账金额
receiverName String 收件人名称
receiverMobile String 收件人手机
receiverPhone String 收件人电话
receiverProvince String 收件人省份
receiverCity String 收件人城市
receiverDistrict String 收件人区/县级市
receiverAddress String 收件人地址
payDate String 付款时间
operationDate String 操作时间
orderStatus String 单据状态
platformCode String 平台编号
deliveryStatus String 发货状态
warehouseName String 发货仓库
warehouseId Long 发货仓库id
outWarehouseId Long 外部仓库ID
oriChangeOrderNo String 当前发货单原换货单号
remark String 系统备注
sellerMessage String 卖家留言
buyerMessage String 买家留言
sendName String 发件人名称
sendProvince String 发件人省份
sendCity String 发件人城市
sendDistrict String 发件人区/县级市
sendAddress String 发件人地址
sendMobile String 发件人手机
sendPhone String 发件人电话
sendZipCode String 发件人邮编
bicOrderCode String BIC订单码
shopCode String 店铺编码
platformWarehouseCode String 平台仓库编码
externalStorageCode String 仓储仓库代码
desensitizeReceiverName String 脱敏后的收件人名称
desensitizeReceiverMobile String 脱敏后的收件人手机
desensitizeReceiverPhone String 脱敏后的收件人电话
desensitizeReceiverAddress String 脱敏后的收件人地址
merchantSubsidyAmount String 卖家承担的优惠金额
enterpriseId String 企业号
shopName String 店铺名称
logisticsCompanyCode String 物流公司编码
insuranceType String 保价类型
insureFlag String 是否保价
insuranceAmount BigDecimal 保价金额
postAmountPromotion BigDecimal 运费优惠
deliveryOrdersGoodsList array 发货订单商品明细列表
ordersPayList array 发货单支付方式列表
ordersInvoice array 订单发票明细列表

发货订单商品明细参数

参数名 类型 说明
outGoodsId Long 外部商品ID
outKindId Long 外部类别ID
outUnitId Long 外部单位ID
goodsCode String 商品编码
goodsName String 商品名称
unit String 商品单位
goodsSpecs String 商品规格
quantity BigDecimal 购买数量
realPrice BigDecimal 实际售价
payAmount BigDecimal 实际金额
taxRate BigDecimal 税率
taxType String 税率类型:0-含税;1-免税;2-未税
combinationFlag String 商品组合类型:0-普通商品;1-组合父商品;2-组合子商品
tradeNo String 交易单号
deliverOrderNo String 发货单号
agioAmount BigDecimal 折扣金额
afterAgioAmount BigDecimal 让利后金额
platformGoodsName String 平台商品名称
platformGoodsSpecs String 平台商品规格
gift String 是否赠品:1-赠品;0-不是赠品
authorId String 直播主播id(达人id)
authorName String 直播主播名称(达人姓名)
picUrl String 图片链接
ordersBatchs List[String] 商品唯一码列表
useGovSubsidy String 是否使用国补:0-否;1-是
ordersBatchsAndSn array 商品唯一码和SN码列表
supplierShopId String 销售公司ID
supplierShopName String 销售公司名称
platformPromotionAmount BigDecimal 平台优惠金额
shopPromotionAmount BigDecimal 店铺优惠金额
govPromotionAmount BigDecimal 电商国补金额
paymentPromotionAmount BigDecimal 支付渠道国补金额
platformPaymentPromotionAmount BigDecimal 支付渠道优惠(平台承担)
shopPaymentPromotionAmount BigDecimal 支付渠道优惠(商家承担)
externalDetailNo String 外部系统单据行号

订单发票明细参数

参数名 类型 说明
invoiceKind String 发票种类:1-增值专用发票;2-增值普通发票
invoiceTitleKind String 发票种类:1-个人;2-企业
invoiceTitleType String 发票类型:1-纸质发票;2-电子发票
invoiceTitle String 发票抬头
invoiceContent String 发票内容
taxpayerNumber String 纳税人识别号
depositBank String 开户行
invoiceAmount BigDecimal 发票金额
phone String 电话
address String 地址
remark String 备注
unvoiceAmount BigDecimal 未开票金额
accounts String 帐号

支付方式参数

参数名 类型 说明
payTypeCode String 支付方式编码:1-支付宝;2-微信;3-线下支付;4-在线支付;5-代收货款;6-银行转账
payTypeName String 支付方式名称
orderNo String 订单编号

商品唯一码和SN码列表明细

参数名 类型 说明
batchNo String 唯一码
sn String sn码

8. 退货单推送

推送时机: 退货单创建或状态变更时触发

请求参数

参数名 类型 说明
shopPlatformCode String 平台编码
deliverReturnOrderId String 退货单ID
deliverOrderNo String 发货单号
deliverReturnOrderNo String 退货单号
orderNo String 订单编号
tradeNo String 平台交易单号
shopId String 当前商品所属店铺ID
outShopId String 外部店铺ID
shopName String 店铺名称
platformReturnNo String 平台退货单号
orderSourceCode String 建单类型:1-手工建单;2-平台单
returnWarehouseId String 退回仓库id
returnWarehouseName String 退回仓库
changeWarehouseId String 换货的仓库id
changeWarehouseName String 换货仓库
returnLogisticsCompanyId String 退回物流公司Id
changeLogisticsCompanyId String 换出物流公司id
returnLogisticsNo String 退回运单号
refundAmount String 退款金额
returnDate String 退回入仓时间
remark String 备注
receiverName String 收件人名称
receiverMobile String 收件人手机
receiverPhone String 收件人电话
receiverProvince String 收件人省份
receiverCity String 收件人城市
receiverDistrict String 收件人区/县级市
receiverAddress String 收件人地址
encryptReceiverCode String 加密收件人编码
refundReason String 退款原因
agreeToReturn String 审核状态
urgentOrder String 加急订单
status String 收货入仓状态
createDate String 创建时间
statusDate String 收货入仓时间
agreeDate String 审核时间
creator String 创建人
returnType String 退货类别
shopCode String 店铺编码
platformWarehouseCode String 平台仓库编码
externalStorageCode String 仓储仓库代码
returnKind String 退货类别
platformReturnStatus String 平台退货状态
refundableAmount String 应退金额
returnOrdersGoodsList array 退回商品列表
changeOrdersGoodsList array 换出商品列表

退货/换货商品明细

参数名 类型 说明
tradeNo String(50) 交易单号
goodsCode String(50) 商品编码
outGoodsId Long(20) 外部商品ID
goodsName String(400) 商品名称
unit String(100) 商品单位
goodsSpecs String(100) 规格名称
quantity BigDecimal 商品数量
price BigDecimal 标准售价
amount BigDecimal 标准金额
realPrice BigDecimal 实际售价
payAmount BigDecimal 实际金额
agioAmount BigDecimal 折扣金额
taxRate BigDecimal 税率
taxType String 税率类型:0-含税;1-免税;2-未税
remark String(100) 备注
ordersBatchs List[String] 商品唯一码列表
useGovSubsidy String 是否使用国补:0-否;1-是
ordersBatchsAndSn array 商品唯一码和SN码列表

响应参数

参数名 必选 类型 说明
state boolean 响应结果:true-成功;false-失败
code int 响应码:0-成功;1-错误
message String 错误信息