title: 订单同步接口 header: develop nav: function

sidebar: ordercenter

订单中心是百度APP内统一的订单查询和回访入口,用户可在百度App-个人中心-订单中查看订单信息。
开发者可以在用户完成支付后,同步小程序的订单数据至百度订单中心。同时,订单状态发生变化时更新订单数据,如商家发货、订单已完成等。

导入主订单信息
更新主订单信息
更新主订单状态
导入售后订单信息
更新售后订单信息
更新售后订单状态

导入主订单信息

该接口用于添加主订单,即当POST请求中ResourceID参数不存在时,导入新的主订单数据
POST请求中Data参数不可填写多个,暂不支持批量导入
注:若ResourceID已存在,则会用当前POST请求中信息全量覆盖该条记录中主、售后订单信息,故更新订单场景请使用更新专用接口

接口调用请求说明:

  1. POST https://openapi.baidu.com/rest/2.0/smartapp/ordercenter/add/main/info?access_token=ACCESS_TOKEN

参数说明:

参数名 类型 是否必须 描述
access_token string 授权小程序的接口调用凭据
open_id string 用户openId

请求body

  1. {
  2. "Data": [
  3. {
  4. "CateID": 1, // 1:订单种类-实物商品
  5. "BizAPPID": "a392qXwK8L5GDUWhFoC01cKwoy7tmehg", // 小程序AppKey
  6. "Title": "test", // 订单名称
  7. "ResourceID": "2221554346520", // 订单ID,业务方接入的唯一订单ID
  8. "Ctime": 1233212343, // 订单创建时间
  9. "Mtime": 1233212343, // 订单最后修改时间
  10. "Status": 200, // 200:订单状态-已完成交易
  11. "EXT": { // 拓展字段 根据订单的不同其结构也不固定 此处以订单为例
  12. "MainOrder": { // 主订单信息
  13. "Products": [ // 商品信息
  14. {
  15. "ID": "1014093064", //商品ID
  16. "Name": "四川大凉山丑苹果脆甜红将军盐源丑苹果", //商品名称
  17. "Desc": "四川大凉山丑苹果脆甜:5斤小果25个左右偏小;", //商品详情
  18. "Quantity": 1, //商品数量
  19. "Price": 2390, //商品原价,单位分。
  20. "PayPrice": 2390, //实付价格,单位分。
  21. "ImgList": [ //商品图片地址
  22. "https://imagelib.cdn.bcebos.com/cip_ml_picbc34db9a-7e10-4a96-bf8e-1c690640c6a4.jpeg"
  23. ],
  24. "SkuAttr": [ //商品SKU属性
  25. {
  26. "Name": "四川大凉山丑苹果脆甜",
  27. "Value": "5斤小果25个左右偏小"
  28. }
  29. ]
  30. }
  31. ],
  32. "Payment": { //支付信息
  33. "Time": 0, //付款时间,时间戳
  34. "Method": 1, //支付方式
  35. "Amount": 2390, //合计金额,单位分
  36. "IsPayment": false, //是否支付
  37. "PreferentialInfo": [ //优惠信息
  38. {
  39. "Name":"优惠券使用", //名称
  40. "Value":100, //优惠金额,单位分
  41. "Quantity":1 //数量
  42. }
  43. ],
  44. "PaymentInfo": [ //付款信息
  45. {
  46. "Name":"运费", //展示名称
  47. "Value":100, //付款金额,单位分
  48. "Quantity":1 //数量
  49. }
  50. ]
  51. },
  52. "Appraise": { // 订单评价跳转
  53. "Status": 0,
  54. "Name": "",
  55. "H5Schema": "",
  56. "SwanSchema": "",
  57. },
  58. "OrderDetail": { // 订单详情跳转
  59. "Status": 2,
  60. "Name": "",
  61. "H5Schema": "",
  62. "SwanSchema": "baiduboxapp://swan/B3GF3AWvCSr59myIs61uqaoYz7pPCSY1/wjz/bdxd/order-detail/order-detail?orderId=159259079195",
  63. }
  64. },
  65. "SubsOrder": { // 售后订单信息,若该主订单发生退款/售后,需新增同步其售后订单的售后信息状态
  66. "Status": 0,
  67. "Items": [
  68. {
  69. "SubOrderID":"onlyOne", // 售后订单ID
  70. "SubStatus":"", // 自订单状态,枚举参照 【退换货枚举值】
  71. "CTime":1571026201, // 售后订单创建时间,时间戳
  72. "MTime":1571026201, // 售后订单修改时间,时间戳
  73. "OrderDetail":{ // 退款退货订单详情跳转
  74. "Status": 2,
  75. "Name": "",
  76. "H5Schema": "",
  77. "SwanSchema": "baiduboxapp://swan/B3GF3AWvCSr59myIs61uqaoYz7pPCSY1/wjz/bdxd/order-detail/order-detail?orderId=159259079195",
  78. "IPhoneSchema": "",
  79. "AndroidSchema": ""
  80. },
  81. "Refund":{ //商品 退款/退货 信息
  82. "Amount":10, //退款总金额
  83. "Product":[ //退款/退货商品
  84. {
  85. "ID":"1014093064", //商品ID
  86. "Quantity":1, //商品退款/商品退货 数量
  87. "Amount":0 //应退金额,单位分
  88. }
  89. ]
  90. },
  91. "OrderType":1 // 退款订单类型
  92. }
  93. ]
  94. }
  95. }
  96. }
  97. ]
  98. }

更新主订单信息接口

POST请求中ResourceID必须对应存在主订单信息,否则无法更新

接口调用请求说明:

  1. POST https://openapi.baidu.com/rest/2.0/smartapp/ordercenter/update/main/info?access_token=ACCESS_TOKEN

参数说明:

参数名 类型 是否必须 描述
access_token string 授权小程序的接口调用凭据
open_id string 用户openId

请求body参数

  1. {
  2. "Data": [{
  3. "CateID": 2, // 2:订单种类-虚拟物品
  4. "BizAPPID": "a392qXwK8L5GDUWhFoC01cKwoy7tmehg", // 小程序的key
  5. "ResourceID": "2221554346520", // 业务方接入的资源唯一ID
  6. "Status": 200, // 200:订单状态-已完成交易
  7. "EXT": { // 拓展字段 根据资产的不同其结构也不固定 此处以订单为例
  8. "MainOrder": { // 主订单信息
  9. "Products": [ // 商品信息
  10. {
  11. "ID": "1014093064", //商品ID
  12. "Name": "四川大凉山丑苹果脆甜红将军盐源丑苹果", //商品名称
  13. "Desc": "四川大凉山丑苹果脆甜:5斤小果25个左右偏小;", //商品详情
  14. "Quantity": 1, //商品数量
  15. "Price": 2390, //商品原价,单位分。
  16. "PayPrice": 2390, //实付价格,单位分。
  17. "ImgList": [ //商品图片地址
  18. "https://imagelib.cdn.bcebos.com/cip_ml_picbc34db9a-7e10-4a96-bf8e-1c690640c6a4.jpeg"
  19. ],
  20. "SkuAttr": [ //商品SKU属性
  21. {
  22. "Name": "四川大凉山丑苹果脆甜",
  23. "Value": "5斤小果25个左右偏小"
  24. }
  25. ]
  26. }
  27. ],
  28. "Payment": { // 支付信息
  29. "Time": 0, //付款时间,时间戳
  30. "Method": 1, //支付方式
  31. "Amount": 2390, //合计金额,单位分
  32. "IsPayment": false, //是否支付
  33. "PreferentialInfo": [ //优惠信息
  34. {
  35. "Name": "优惠券使用", //名称
  36. "Value": 100, //优惠金额,单位分
  37. "Quantity": 1 //数量
  38. }
  39. ],
  40. "PaymentInfo": [ //付款信息
  41. {
  42. "Name": "运费", //展示名称
  43. "Value": 100, //付款金额,单位分
  44. "Quantity": 1 //数量
  45. }
  46. ]
  47. },
  48. "Appraise": { // 订单评价跳转
  49. "Status": 0,
  50. "Name": "",
  51. "H5Schema": "",
  52. "SwanSchema": "",
  53. "IPhoneSchema": "",
  54. "AndroidSchema": ""
  55. },
  56. "OrderDetail": { // 订单详情跳转
  57. "Status": 2,
  58. "Name": "",
  59. "H5Schema": "",
  60. "SwanSchema": "baiduboxapp://swan/B3GF3AWvCSr59myIs61uqaoYz7pPCSY1/wjz/bdxd/order-detail/order-detail?orderId=159259079195",
  61. "IPhoneSchema": "",
  62. "AndroidSchema": ""
  63. }
  64. }
  65. }
  66. }]
  67. }

更新主订单状态接口

POST请求中ResourceID必须对应存在主订单信息,否则无法更新

接口调用请求说明:

  1. POST https://openapi.baidu.com/rest/2.0/smartapp/ordercenter/update/main/status?access_token=ACCESS_TOKEN

参数说明:

参数名 类型 是否必须 描述
access_token string 授权小程序的接口调用凭据
open_id string 用户openId

请求body参数

  1. {
  2. "Data": [{
  3. "CateID": 2, // 2:订单种类-虚拟物品
  4. "BizAPPID": "a392qXwK8L5GDUWhFoC01cKwoy7tmehg", // 应用小程序Key
  5. "ResourceID": "2221554346520", // 业务方接入的资源唯一ID
  6. "Status": 200, // 200:订单状态-已完成交易
  7. },
  8. {
  9. "CateID": 2, // 2:订单种类-虚拟物品
  10. "BizAPPID": "a392qXwK8L5GDUWhFoC01cKwoy7tmehg", // 小程序Key
  11. "ResourceID": "3221554346520", // 业务方接入的资源唯一ID
  12. "Status": 200, // 200:订单状态-已完成交易
  13. }
  14. ]
  15. }

导入售后订单信息接口

接口调用请求说明:

  1. POST https://openapi.baidu.com/rest/2.0/smartapp/ordercenter/append/sub/info?access_token=ACCESS_TOKEN

Data.Ext.SubsOrder.Item参数可填写多个,实现批量导入
必须先导入POST中ResourceID参数对应的主订单信息,否则无法导入售后订单信息

参数说明:

参数名 类型 是否必须 描述
access_token string 授权小程序的接口调用凭据
open_id string 用户openId

请求body

  1. {
  2. "Data":[{
  3. "CateID": 2, // 2:订单种类-虚拟物品
  4. "BizAPPID": "a392qXwK8L5GDUWhFoC01cKwoy7tmehg", // 小程序的appKey
  5. "ResourceID": "2221554346520", // 业务方接入的资源唯一ID
  6. "EXT": { // 拓展字段 根据资产的不同其结构也不固定 此处以订单为例
  7. "SubsOrder": { // 售后订单信息,
  8. "Items": [{
  9. "SubOrderID": "onlyOne", // 售后订单ID
  10. "SubStatus": "", // 自订单状态,枚举参照 【退换货枚举值】
  11. "CTime": 1571026201, // 售后订单创建时间,时间戳
  12. "MTime": 1571026201, // 售后订单修改时间,时间戳
  13. "OrderDetail": { // 退款退货订单详情跳转
  14. "Status": 2,
  15. "Name": "",
  16. "H5Schema": "",
  17. "SwanSchema": "baiduboxapp://swan/B3GF3AWvCSr59myIs61uqaoYz7pPCSY1/wjz/bdxd/order-detail/order-detail?orderId=159259079195",
  18. "IPhoneSchema": "",
  19. "AndroidSchema": ""
  20. },
  21. "Refund": { //商品 退款/退货 信息
  22. "Amount": 10, //退款总金额
  23. "Product": [ //退款/退货商品
  24. {
  25. "ID": "1014093064", //商品ID
  26. "Quantity": 1, //商品退款/商品退货 数量
  27. "Amount": 0 //应退金额,单位分
  28. }
  29. ]
  30. },
  31. "OrderType": 1 // 退款订单类型
  32. }]
  33. }
  34. }
  35. }]
  36. }

更新售后订单信息接口

当前POST请求参数中售后订单信息,全量覆盖现有售后订单信息数据
POST请求中ResourceID必须对应存在主订单信息,且SubOrderID必须对应存在售后订单信息,否则无法更新

接口调用请求说明:

  1. POST https://openapi.baidu.com/rest/2.0/smartapp/ordercenter/update/sub/info?access_token=ACCESS_TOKEN

参数说明:

参数名 类型 是否必须 描述
access_token string 授权小程序的接口调用凭据
open_id string 用户openId

请求body参数

  1. {
  2. "Data": [{
  3. "CateID": 2, // 2:订单种类-虚拟物品
  4. "BizAPPID": "a392qXwK8L5GDUWhFoC01cKwoy7tmehg", // 应用ID
  5. "ResourceID": "2221554346520", // 业务方接入的资源唯一ID
  6. "EXT": { // 拓展字段 根据资产的不同其结构也不固定 此处以订单为例
  7. "SubsOrder": { // 售后订单信息
  8. "Status": 0,
  9. "Items": [{
  10. "SubOrderID": "onlyOne", // 售后订单ID
  11. "SubStatus": "", // 自订单状态,枚举参照 【退换货枚举值】
  12. "CTime": 1571026201, // 售后订单创建时间,时间戳
  13. "MTime": 1571026201, // 售后订单修改时间,时间戳
  14. "OrderDetail": { // 退款退货订单详情跳转
  15. "Status": 2,
  16. "Name": "",
  17. "H5Schema": "",
  18. "SwanSchema": "baiduboxapp://swan/B3GF3AWvCSr59myIs61uqaoYz7pPCSY1/wjz/bdxd/order-detail/order-detail?orderId=159259079195",
  19. "IPhoneSchema": "",
  20. "AndroidSchema": ""
  21. },
  22. "Refund": { //商品 退款/退货 信息
  23. "Amount": 10, //退款总金额
  24. "Product": [ //退款/退货商品
  25. {
  26. "ID": "1014093064", //商品ID
  27. "Quantity": 1, //商品退款/商品退货 数量
  28. "Amount": 0 //应退金额,单位分
  29. }
  30. ]
  31. },
  32. "OrderType": 1 // 退款订单类型
  33. }]
  34. }
  35. }]
  36. }

更新售后订单状态接口

POST请求中ResourceID必须对应存在主订单信息,且SubOrderID必须对应存在售后订单信息,否则无法更新

接口调用请求说明:

  1. POST https://openapi.baidu.com/rest/2.0/smartapp/update/sub/status?access_token=ACCESS_TOKEN

参数说明:

参数名 类型 是否必须 描述
access_token string 授权小程序的接口调用凭据
open_id string 用户openId

请求body

  1. {
  2. "Data": [{
  3. "CateID": 2, // 2:订单种类-虚拟物品
  4. "BizAPPID": "a392qXwK8L5GDUWhFoC01cKwoy7tmehg", // 小程序的appKey
  5. "ResourceID": "2221554346520", // 业务方接入的资源唯一ID
  6. "EXT": { // 拓展字段 根据资产的不同其结构也不固定 此处以订单为例
  7. "SubsOrder": { // 售后订单信息
  8. "Status": 0,
  9. "Items": [{
  10. "SubOrderID": "onlyOne", // 售后订单ID
  11. "SubStatus": "", // 自订单状态,枚举参照 【退换货枚举值】
  12. },
  13. {
  14. "SubOrderID": "onlyOne", // 售后订单ID
  15. "SubStatus": "", // 自订单状态,枚举参照 【退换货枚举值】
  16. }
  17. ]
  18. }
  19. }
  20. }]
  21. }

响应示例:

  1. {
  2. "errno": 0,
  3. "msg": "success",
  4. "data": [
  5. {
  6. "biz_app_id": "IGRshW1EovxlMIoeLXQZkQiGcGGyjsPX",
  7. "cate_id": "1",
  8. "resource_id": "aa",
  9. "rows_affected": "0"
  10. }
  11. ]
  12. }

返回值参数说明

字段名称 字段类型 备注
biz_app_id string POST请求参数中BizAPPID
cate_id int POST请求参数中CateID
resource_id string POST请求参数中ResourceID
rows_affected int 请求受影响行数(即请求是否成功 0为失败 非0为成功)

POST请求参数说明

Data

字段名称 字段类型 必填 备注
ResourceID string 主订单ID
BizAPPID string 小程序AppKey
Ctime int 订单创建时间
Mtime int 订单最后被修改时间
CateID int 订单种类:1(实物),2(虚拟物品)
Title string 订单标题,展示用
Status int 订单状态,其值根据TypeID不同有不同的定义,详细见下
Ext Data.Ext 扩展信息,详细结构见下

CateID==1,即实物订单时

Data.Status 含义
1 待付款
5 等待卖家发货
6 等待买家收货
100 交易关闭,例如用户主动取消订单等
200 交易完成
300 隐藏,用于订单删除,不向用户展示的场景

CateID==2,即虚拟物订单时

Data.Status 含义
1 待付款
2 等待卖家确认
3 卖家处理中
4 卖家已确认
100 交易关闭,例如用户主动取消订单等
200 交易完成
300 隐藏,用于订单删除,不向用户展示的场景

Data.Ext

字段名称 字段类型 必填 备注
MainOrder Data.Ext.MainOrder 主订单信息 (购买商品订单)
SubsOrder Data.Ext.SubsOrder 售后订单信息(退换货/售后订单)

Data.Ext.MainOrder

字段名称 字段类型 必填 备注
Products []Data.Ext.MainOrder.Product 数组,商品信息列表,若商品只有1个则数组长度为1
Payment Data.Ext.MainOrder.Payment 支付信息
Appraise Data.Ext.MainOrder.Appraise 评价内容跳转的跳转结构
OrderDetail Data.Ext.MainOrder.OrderDetail 订单详情页的结构

Data.Ext.MainOrder.Product

字段名称 字段类型 必填 备注
ID string 商品ID,业务方的唯一商品ID
Name string 商品名字
Desc string 商品简述
Quantity int 本商品的交易数量
Price int 本商品原价,单位分,即100代表1元
PayPrice int 实付价,单位分,即100代表1元
ImgList []string 商品预览,值为预览图URL地址,最多5张
DetailPage Data.Ext.MainOrder.Product.DetailPage 商品详情的跳转的跳转结构
SkuAttr []Data.Ext.MainOrder.Product.SkuAttr 商品规格,最多4个

Data.Ext.MainOrder.Product.DetailPage

DetailPage结构

Data.Ext.MainOrder.Product.SkuAttr

字段名称 字段类型 必填 备注
Name string 规格名称,例如“颜色”或“尺寸”
Value string 规格值
  1. // []Data.Ext.MainOrder.Product.SkuAttr示例
  2. [{
  3. "Name": "颜色",
  4. "Value": "Red"
  5. },{
  6. "Name": "颜色",
  7. "Value": "Black"
  8. }]

Data.Ext.MainOrder.Payment

Payment.Amount = (Products.PayPrice * Products.Quantity) + (PaymentInfo.Value * PaymentInfo.Quantity) - (PreferentialInfo.Value * PreferentialInfo.Quantity)

字段名称 字段类型 必填 备注
Method int 付款方式,1(在线付),2(货到付款)
Amount int 合计金额,单位分,即1001元
IsPayment bool 是否已付款
Time int 付款时间
PreferentialInfo []Data.Ext.MainOrder.Payment.PaymentSpecInfo 优惠券信息
PaymentInfo []Data.Ext.MainOrder.Payment.PaymentSpecInfo 其他支付信息,如运费、保险等。

Data.Ext.MainOrder.Payment.PaymentSpecInfo

字段名称 字段类型 必填 备注
Name string 展示名称
Value int 合计金额,单位分,即1001元
Quantity int 数量

Data.Ext.MainOrder.Appraise

DetailPage结构

Data.Ext.MainOrder.OrderDetail

DetailPage结构

Data.Ext.SubsOrder

多为退换货产生的售后订单

字段名称 字段类型 必填 备注
Status int 所有售后订单的状态汇总最终状态
Items []Data.Ext.SubsOrder.Item 售后订单列表

Data.Ext.SubsOrder.Status

Status值 含义
400 申请中,买家发起申请,等待卖家同意申请
401 处理中,卖家同意售后申请,售后处理中状态
402 退款成功,已完成售后。针对需退款的订单已退款成功。
403 退款成功,已完成售后。对换货订单,买家已收到货物。
404 已关闭,买家主动关闭售后,或者系统关闭售后。
407 卖家已拒绝,卖家主动拒绝售后申请。

Data.Ext.SubsOrder.Item

字段名称 字段类型 必填 备注
SubOrderID string 售后订单ID
SubStatus int 售后订单状态,同Data.Ext.SubsOrder.Status
CTime int 创建时间
MTime int 修改时间
OrderType int 退款类型,1(仅退款),2(换货),3(退款+退货)
OrderDetail Data.Ext.SubsOrder.Item.OrderDetail 跳转到这个订单的详情结构
Refund Data.Ext.SubsOrder.Item.Refund 售后订单商品信息

Data.Ext.SubsOrder.Item.OrderDetail

DetailPage结构

Data.Ext.SubsOrder.Item.Payment

参照Data.Ext.MainOrder.Payment结构

Data.Ext.SubsOrder.Item.Refund

字段名称 字段类型 必填 备注
Amount int 退款总金额,单位分,即1001元
Product []Data.Ext.SubsOrder.Item.Refund.Product 售后商品列表

Data.Ext.SubsOrder.Item.Refund.Product

字段名称 字段类型 必填 备注
ID string 商品ID
Quantity int 售后商品数量
Amount int 退款金额,单位分,即1001元

DetailPage

DetailPage内部定义了如何执行跳转的数据结构协议。 Scheme即客户端统一调起协议,协议的使用需要确保参数传递的正确。

字段名称 字段类型 必填 备注
Status int 0(隐藏)、1(正常展示,禁止跳转)、2(正常展示,允许跳转)
Name string 展示名称
H5Schema string 用以H5跳转Scheme
SwanSchema string 用以小程序跳转Scheme
IPhoneSchema string 用以苹果手机跳转Scheme
AndroidSchema string 用以安卓手机跳转Scheme