shumou-sdk-mini v1.1.8
前提准备
在数谋后台,将自己的小程序 appid
绑定在自己的账号下,如果直接使用sdk会初始化失败
小程序请求域名
安装
npm install --save shumou-sdk-mini
# or
yarn add shumou-sdk-mini
API
说明及使用
// js
const { shumou } = require('shumou-sdk-mini')
// ts
import { shumou } from 'shumou-sdk-mini'
初始化及字段说明 bashumou.config shumou.init
shumou.config({
// 此处 `appId` 是必传字段,就是小程序的 `appId`,需要商家提前在数谋后台绑定
appId: "wx131231231231",
// 对接小程序的版本
miniAppVersion: "1.0.0",
// 用户ID 是否使用 openid 作为唯一键,默认 false
isUseOpenId: false,
// 是否支持对分享数据上报
followShare: false
})
shumou.init()
shumou标示(选用) bashumou.setOpenId
初始化 sdk,系统录入用户身份,这里sdk会默认使用一个随机字符串作为用户的标示ID,也可以使用用户的 openid
作为唯一标示
shumou.config({
appId: "appId",
isUseOpenId: true
})
// 一定要在 init() 前设置 openid 值
shumou.setOpenId("openId")
shumou.init()
会员身份 bashumou.setCustomerLoginUserId
为了保证数据统计的准确性,需要用户在登录后调用该方法传入用户的真实编号
shumou.config({
appId: "appId"
})
// 初始化位置不做要求
shumou.init()
// 一定要在会员登录后将会员标号传入
shumou.setCustomerLoginUserId("userId")
数据上报 bashumou.trackEvent
shumou.trackEvent(eventId, {key,value})
这个上报中,eventId
可以从 sdk 中获取默认的事件名及对应的类型数据
const { DEFAULT_EVENTS_TYPES, DEFAULT_EVENTS } = require('shumou-sdk-mini')
// DEFAULT_EVENTS_TYPES 会约束传递参数的类型
shumou.trackEvent<DEFAULT_EVENTS_TYPES.IShareShop>(DEFAULT_EVENTS.SHOP_SHARE, {shopId: 'a1321312'})
坑位推荐数据获取 bashumou.shumouRecommend
数谋会根据用户上报数据帮助商家分析出推荐商品,可在适当的位置上获取数谋推荐的商品数据供用户选择
shumou.shumouRecommend("SHOP_CART").then(res => goodsList)
此 api
返回一个 promise
,参数就是位置参数,传入不同的坑位标示,数谋会返回不同的推荐数据
坑位枚举:
export enum SHUMOU_RECOMMEND_ENUM {
// 购物车
SHOP_CART = 'SHOP_CART',
// 商品详情
GOODS_DETAIL = 'GOODS_DETAIL',
// 商品列表
GOODS_LIST = 'GOODS_LIST',
// 个人中心
USER_CENTER = 'USER_CENTER',
// 会员中心
CUSTOMER_CENTER = 'CUSTOMER_CENTER',
// 收藏商品
COLLECT_GOODS = 'COLLECT_GOODS',
// 支付成功页
PAY_SUC = 'PAY_SUC',
// 分类
GOODS_CATE = 'GOODS_CATE',
// 魔方
MAGIC_BOX = 'MAGIC_BOX',
// 分类页
CATE_PAGE = 'CATE_PAGE'
}
该枚举可直接从 sdk
导入。
import { SHUMOU_RECOMMEND_ENUM } from 'shumou-mini-sdk'
原生
// app.js 文件
shumou.config({
appId: "7788482fdsafsafsaf"
})
shumou.init()
// 在任意处上报数据
shumou.trackEvent("shop", {shopId: 'a1321312'})
taro(typescript)
// 在 global.d.ts 文件内添加
// 该声明只为了让 shumou 对象注入到
declare namespace Taro {
namespace shumou {
interface ITrackEvent {
trackEvent<T>(key: string, value: T): void
setCustomerLoginUserId(userId: string): void
}
}
let shumou: shumou.ITrackEvent
}
// 在 app.ts 中初始化
shumou.config({
appId: "13123123123123123"
})
shumou.init()
// 由于上面的全局声明,这里可以将shumou对象注入到 Taro 对象下,这样可以在任何地方使用了
Taro.shumou = shumou
// 上报方法 在任意处使用该API上报
Taro.shumou.trackEvent(eventId, {key,value})
关于数谋导购分享参数 shumouCode
shumouCode
为数谋内部加密字符,对接小程序不需要关注,如果要统计导购分享后的点击量成交量这类数据时,就需要这个字段
生成二维码
可以拼接在路径后生成有限次码
pages/home/index?shumouCode=32132135fdsg1321
或者将参数设置在 secen
中生成无限次码
小程序端处理
如果通过其他方式获取到 shumouCode
字段,那么也可以通过如下方式传输,只要在任意路径中携带该参数即可
pages/cart/index?shumouCode=32132135fdsg1321
sdk
会自动截取该参数,即可获取导购信息正确上报数据
主动设置
新增API,可主动设置该字段
Taro.shumou.setCustomerShumouCode(shumouCode);
默认事件名及类型对照表
DEFAULT_EVENTS
对象包含了事件名
DEFAULT_EVENTS_TYPES
事件类型
事件对照表:
事件名 | 事件ID | 参数类型 | 参数 | 是否追加导购ID |
---|---|---|---|---|
页面浏览记录 | CURRENT_PAGE | 默认事件 | - | - |
分享记录 | SHARE_PATH_SRC | 默认事件 | - | - |
店铺分享 | DEFAULT_EVENTS.SHOP_SHARE | DEFAULT_EVENTS_TYPES.IShopShare | { "parentId": "A321321", "shopId": 'A123321'} | 否 |
浏览店铺 | DEFAULT_EVENTS.SHOP_VIEW | DEFAULT_EVENTS_TYPES.IShopView | { "parentId": "A321321", "shopId": 'A123321'} | 否 |
商品分享 | DEFAULT_EVENTS.GOODS_SHARE | DEFAULT_EVENTS_TYPES.IGoodsShare | { "parentId": "A321321", "shopId": 'A123321', "spuId": "33123213", "skuId": ""} | 否 |
浏览商品 | DEFAULT_EVENTS.GOODS_VIEW | DEFAULT_EVENTS_TYPES.IGoodsView | { "parentId": "A321321", "shopId": 'A123321', "spuId": "424243242", "skuId": "g13213213"} | 否 |
下单 | DEFAULT_EVENTS.CREATE_ORDER | DEFAULT_EVENTS_TYPES.ICreateOrder | { "parentId": "A321321", "shopId": 'A123321', "tid": "TC3131321"} | 否 |
店铺收藏 | DEFAULT_EVENTS.FAVORITE_SHOP | DEFAULT_EVENTS_TYPES.IFavoriteShop | { "parentId": "A321321", "shopId": 'A123321'} | 否 |
加入购物车 | DEFAULT_EVENTS.ADD_CART | DEFAULT_EVENTS_TYPES.IAddCart | { "parentId": "A321321", "shopId": 'A123321', "skuId": "g12321", "spuId": "123123", "count": 1} | 否 |
浏览导购分享的商品 | DEFAULT_EVENTS.GUIDE_GOODS_VIEW | DEFAULT_EVENTS_TYPES.IGoodsView | { "parentId": "A321321", "shopId": 'A123321', "spuId": "424243242", "skuId": "g13213213"} | 是 |
浏览导购分享的营销活动 | DEFAULT_EVENTS.GUIDE_MC_VIEW | DEFAULT_EVENTS_TYPES.IMcShare | { "parentId": "A321321", "shopId": 'A123321', "actId": "mc1312312321321321", "mcType": "COUPON"} | 是 |
数谋注册引导 | GUIDE_REGISTER | {"parentId": "A321321", "shopId": 'A123321'} | 是 |
mcType
是营销的类型,COUPON
优惠券,LIMIT_DISCOUNTS
限时折扣
字段说明:
字段名 | 描述 |
---|---|
parentId | 总部编号 |
shopId | 门店编号 |
userId | 用户会员编号 |
guideId | 导购ID |
spuId/skuId | 商品对应ID |
tid | 订单编号 |
上报字段说明
基础数据,每次上报必传 base:
字段名 | 描述 |
---|---|
appId | 小程序 appid |
shumouUserId | 用户数谋编号 |
idType | 用户类型 UUID/OPENID |
ts | 时间戳 |
sdkVersion | sdk 版本 |
sessionId | 会话 |
deviceType | 设备型号 |
systemVersion | 手机系统版本 |
guideId | 导购ID |
miniAppVersion | 对接小程序版本 |
userId | 会员实际编号 |
分析数据,是个数组 analytics:
字段名 | 描述 |
---|---|
eventId | 事件名,上文中的事件表中的事件 |
args | 上报的数据 |
eventType | 事件类型 "DEFAULT_EVENT" / "CUSTOME_EVENT" |
ts | 时间戳 |
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago