# 订单状态变更 custom_order支持配置自动化上报
# 自动上报
在腾讯有数数据管理端配置参数即可实现,可微信联系有数接入咨询进行配置。
商家小程序需具备:小程序在每次发起支付前(购物车购买支付、立即购买支付、待支付列表支付)需要调用接口返回应付金额、实付金额、订单时间以及订单ID四个字段,支付行为要为小程序内部发起。
# 手动上报
订单从上报分为前端行为和后端订单接口两部分,前端行为侧重用户信息及用户行为,后端接口需上报订单的完整结构。订单从业务分为购买商品订单和购买优惠券订单等。状态变更描述的就是订单的前端行为,在用户触发提交订单、终止支付、取消订单、发起退款申请等行为时上报。
# 数据规范
# 新增数据
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
order | object | Y | 用户订单信息 |
order_id | string | Y | 商户侧订单号,在商户系统内订单的唯一标识符 |
order_time | datetime | Y | 订单下单时间,13位,毫秒,任何 order_status都必填 |
order_type | enum | 订单类型,normal:普通订单;presale_deposit:预售订单(订金);presale_balance:预售订单(尾款) | |
order_status | enum | Y | 订单状态,订单状态与后端状态的对应关系见本页底部,give_order:用户提交订单;cancel_pay:用户关闭支付密码浮层;cancel_give_order:用户取消订单;pay:用户发起支付;payed:用户完成支付(影响有数实时订单统计);refund:用户发起退货退款 |
sub_orders | array | Y | 订单的金额信息,注意为[]结构, |
sub_order_id | string | Y | 同order_id |
order_amt | float | Y | 填写订单金额,单位默认为元 |
pay_amt | float | Y | 订单应付金额,单位默认为元 |
extra | object | 订单额外属性 |
# 公共属性
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
page | string | Y | 行为发生的小程序页面路径,开头不要加 /,路径后可带查询参数 例pages/product?sku_id=AOdjf7u |
page_title | string | 行为发生的小程序页面标题 例商品详情、商城首页 | |
sr_sdk_version | string | sdk版本号 例1.1.6 | |
time | datetime | Y | 行为发生时间 13位时间戳 例1560409473714 |
wx_user | object | Y | 用户相关属性 |
app_id | string | Y | 公众号或小程序唯一标识 例wx9d4f5f22pa099f82 |
open_id | string | Y | 微信用户在小程序下的唯一标识符 例ogN6X0T-ilsH-XmIdzXtuR1f1r3Q |
user_id | string | 用户在商户的唯一标识符 例548019854034 | |
union_id | string | 微信用户在开放平台账号下的唯一标识符 例o6_bmlsdaXds8d6_sgVt7hM3OPfL | |
local_id | string | 用户在有数的唯一标识符 例360b8853-64bf-3fba-e9a0-5abb1e4d7721 | |
tag | array | 用户的个性化标签 | |
tag_id | string | C | 标签ID,唯一标识符 例游客,若填写了`tag_name`则必填 |
tag_name | string | C | 标签名称 例游客,若填写了`tag_id`则必填 |
extra | object | ||
chan | object | Y | 渠道相关属性 |
chan_wxapp_scene | integer | Y | 小程序场景值,必填 例1037 |
chan_id | string | 引流渠道的标识符 | |
chan_refer_app_id | string | 来源小程序或公众号appid 例wx9d6f5f6gea059654 | |
chan_shop_id | string | 微信用门店ID,若需要计算门店业务则必填 | |
chan_shop_name | string | 用户在有数的门店名称,展示字段,若chan_shop_id存在则必填 | |
chan_custom | object | 自定义渠道 | |
chan_custom_id | string | C | 4级自定义渠道的标识符,是自定义渠道的最小粒度 例mp-article-12375,若填写了chan_custom相关任一字段需必填 |
chan_custom_id_desc | string | C | 4级自定义渠道的描述 例公众号文章(id=12375),若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_3 | string | C | 3级自定义渠道的标识符,3级是针对4级的分类,要求4级数据必须存在 例mp-article,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_3_desc | string | C | 3级自定义渠道的描述,若chan_custom_cat_3存在则必须存在 例公众号文章,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_2 | string | C | 2级自定义渠道的标识符,2级是针对3级的分类,要求34级数据必须存在 例media,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_2_desc | string | C | 2级自定义渠道的描述,若chan_custom_cat_2存在则必须存在 例媒体,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_1 | string | C | 1级自定义渠道的标识符,1级是针对2级的分类,要求234级数据必须存在 例wechat,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_1_desc | string | C | 1级自定义渠道的描述,若chan_custom_cat_1存在则必须存在 例微信,若填写了chan_custom相关任一字段需必填 |
extra | object | ||
component | object | 组件是视图上的一个区块元素 | |
component_id | string | 组件ID | |
component_name | string | 组件名称 |
page, page_title, time 等可以自动采集到的数据由 SDK 采集,一般情况下不需要开发回填,具体方法见事件上报。
# 请求示例
let app = getApp()
app.sr.track('custom_order', {
"order": {
"order_id": "xxxx",
"order_time": "1560409473714",
"order_status": "cancel_pay"
},
"sub_orders": [{
"sub_order_id": "xxxxx",
"order_amt": 30.3,
"pay_amt": 30.3
}],
// more...
})
let body = {
"type": "custom_order",
"props": {
"order": {
"order_id": "xxxx",
"order_time": "1560409473714",
"order_status": "cancel_pay"
},
"sub_orders": [{
"sub_order_id": "xxxxx",
"order_amt": 30.3,
"pay_amt": 30.3
}],
"page": "pages/product?sku_id=AOdjf7u",
"page_title": "商品详情、商城首页",
"time": "1560409473714", //如order_status为"cancel_pay",则为用户在前端点击"cancel_pay"的时间
"wx_user": {
"app_id": "wx9d4f5f22pa099f82",
"open_id": "ogN6X0T-ilsH-XmIdzXtuR1f1r3Q",
"user_id": "548019854034",
"union_id": "o6_bmlsdaXds8d6_sgVt7hM3OPfL",
"local_id": "360b8853-64bf-3fba-e9a0-5abb1e4d7721",
"tag": [
{
"tag_id": "游客",
"tag_name": "游客"
}
]
},
"chan": {
"chan_wxapp_scene": 1037,
"chan_id": "11",
"chan_refer_app_id": "wx9d6f5f6gea059654",
"chan_shop_id": "11",
"chan_shop_name": "11",
"chan_custom": {
"chan_custom_id": "mp-article-12375",
"chan_custom_id_desc": "公众号文章(id=12375)",
"chan_custom_cat_3": "mp-article",
"chan_custom_cat_3_desc": "公众号文章",
"chan_custom_cat_2": "media",
"chan_custom_cat_2_desc": "媒体",
"chan_custom_cat_1": "wechat",
"chan_custom_cat_1_desc": "微信"
}
},
"component": {
"component_id": "",
"component_name": ""
}
}
}
wx.request({
url: "https://zhls.qq.com/api/report?app_id=APPID×tamp=TIMESTAMP&nonce=NONCE",
method: "post",
data: body,
success(res) {
console.log(res)
}
})
点击获取数据采集代码示例 (opens new window)