# 购买卡券 coupon_order
在用户购买卡券时上报。
# 数据规范
# 新增数据
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
coupon | object | Y | 用户卡券订单信息 |
order_id | string | Y | 商户侧订单号,在商户系统内订单的唯一标识符 |
order_time | datetime | Y | 订单下单时间,13位,毫秒,任何 order_status都必填 |
order_status | string | Y | 订单状态,订单状态与后端状态的对应关系见本页底部,give_order:用户提交订单;cancel_pay:用户关闭支付密码浮层;cancel_give_order:用户取消订单;pay:用户发起支付;payed:用户完成支付(影响有数实时订单统计);refund:用户发起退货退款 |
coupon_batch_id | string | Y | 当填写 coupon_batch_name 时必填,优惠券批次唯一标识 |
pay_amt | float | Y | 订单应付金额,单位默认为元 |
coupon_info | array | Y | 卡券的ID,注意为[]结构, |
coupon_id | string | Y | 优惠券唯一标识 |
# 公共属性
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
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 | 组件名称 |
# 请求示例
let app = getApp()
app.sr.track('coupon_order', {
"coupon": {
"order_id": "xxxx",
"order_time": "1560409473714",
"order_status": "cancel_pay",
"coupon_batch_id":"xxxxxxx",
"pay_amt":"9.00"
},
"coupon_info": [{
"coupon_id": "xxxxx"
}],
// more...
})
let body = {
"type": "coupon_order",
"props": {
"order": {
"order_id": "xxxx",
"order_time": "1560409473714",
"order_status": "cancel_pay",
"coupon_batch_id":"xxxxxxx",
"pay_amt":"9.00"
},
"coupon_info": [{
"coupon_id": "xxxxx"
}],
"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)
}
})