# 订单状态变更 custom_order支持配置自动化上报

# 自动上报


在腾讯有数数据管理端配置参数即可实现,可微信联系有数接入咨询进行配置。
商家小程序需具备:小程序在每次发起支付前(购物车购买支付、立即购买支付、待支付列表支付)需要调用接口返回应付金额、实付金额、订单时间以及订单ID四个字段,支付行为要为小程序内部发起。

# 手动上报

订单从上报分为前端行为和后端订单接口两部分,前端行为侧重用户信息及用户行为,后端接口需上报订单的完整结构。订单从业务分为购买商品订单和购买优惠券订单等。状态变更描述的就是订单的前端行为,在用户触发提交订单、终止支付、取消订单、发起退款申请等行为时上报。


custom_order_1

custom_order_2

custom_order_3

custom_order_4

# 数据规范

# 新增数据
名称
类型
必填
描述
orderobjectY用户订单信息
order_idstringY商户侧订单号,在商户系统内订单的唯一标识符
order_timedatetimeY订单下单时间,13位,毫秒,任何 order_status都必填
order_typeenum订单类型,normal:普通订单;presale_deposit:预售订单(订金);presale_balance:预售订单(尾款)
order_statusenumY订单状态,订单状态与后端状态的对应关系见本页底部,give_order:用户提交订单;cancel_pay:用户关闭支付密码浮层;cancel_give_order:用户取消订单;pay:用户发起支付;payed:用户完成支付(影响有数实时订单统计);refund:用户发起退货退款
sub_ordersarrayY订单的金额信息,注意为[]结构,
sub_order_idstringY同order_id
order_amtfloatY填写订单金额,单位默认为元
pay_amtfloatY订单应付金额,单位默认为元
extraobject订单额外属性

# 公共属性
名称
类型
必填
描述
pagestringY行为发生的小程序页面路径,开头不要加 /,路径后可带查询参数 例pages/product?sku_id=AOdjf7u
page_titlestring行为发生的小程序页面标题 例商品详情、商城首页
sr_sdk_versionstringsdk版本号 例1.1.6
timedatetimeY行为发生时间 13位时间戳 例1560409473714
wx_userobjectY用户相关属性
app_idstringY公众号或小程序唯一标识 例wx9d4f5f22pa099f82
open_idstringY微信用户在小程序下的唯一标识符 例ogN6X0T-ilsH-XmIdzXtuR1f1r3Q
user_idstring 用户在商户的唯一标识符 例548019854034
union_idstring微信用户在开放平台账号下的唯一标识符 例o6_bmlsdaXds8d6_sgVt7hM3OPfL
local_idstring用户在有数的唯一标识符 例360b8853-64bf-3fba-e9a0-5abb1e4d7721
tagarray用户的个性化标签
tag_idstringC标签ID,唯一标识符 例游客,若填写了`tag_name`则必填
tag_namestringC标签名称 例游客,若填写了`tag_id`则必填
extraobject
chanobjectY渠道相关属性
chan_wxapp_sceneintegerY小程序场景值,必填 例1037
chan_idstring引流渠道的标识符
chan_refer_app_idstring来源小程序或公众号appid 例wx9d6f5f6gea059654
chan_shop_idstring微信用门店ID,若需要计算门店业务则必填
chan_shop_namestring用户在有数的门店名称,展示字段,若chan_shop_id存在则必填
chan_customobject自定义渠道
chan_custom_idstringC4级自定义渠道的标识符,是自定义渠道的最小粒度 例mp-article-12375,若填写了chan_custom相关任一字段需必填
chan_custom_id_descstringC4级自定义渠道的描述 例公众号文章(id=12375),若填写了chan_custom相关任一字段需必填
chan_custom_cat_3stringC3级自定义渠道的标识符,3级是针对4级的分类,要求4级数据必须存在 例mp-article,若填写了chan_custom相关任一字段需必填
chan_custom_cat_3_descstringC3级自定义渠道的描述,若chan_custom_cat_3存在则必须存在 例公众号文章,若填写了chan_custom相关任一字段需必填
chan_custom_cat_2stringC2级自定义渠道的标识符,2级是针对3级的分类,要求34级数据必须存在 例media,若填写了chan_custom相关任一字段需必填
chan_custom_cat_2_descstringC2级自定义渠道的描述,若chan_custom_cat_2存在则必须存在 例媒体,若填写了chan_custom相关任一字段需必填
chan_custom_cat_1stringC1级自定义渠道的标识符,1级是针对2级的分类,要求234级数据必须存在 例wechat,若填写了chan_custom相关任一字段需必填
chan_custom_cat_1_descstringC1级自定义渠道的描述,若chan_custom_cat_1存在则必须存在 例微信,若填写了chan_custom相关任一字段需必填
extraobject
componentobject 组件是视图上的一个区块元素
component_idstring组件ID
component_namestring组件名称

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&timestamp=TIMESTAMP&nonce=NONCE",
    method: "post",
    data: body,
    success(res) {
        console.log(res)
	}
})

点击获取数据采集代码示例 (opens new window)