设置会员系统自定义积分规则
您现在可以在会员系统中创建自定义积分规则,根据特定操作奖励客户积分。本指南将引导您完成从创建私有应用到通过 Storefront API 发放积分的完整流程,实现个性化会员奖励。
如需了解其他积分规则配置功能,请参考此文章:会员系统-积分设定。
| 注意: 自訂積分規則僅適用於 Pro 與客製方案。 |
创建自定义积分规则
- 进入 会员系统 > 积分设置 > 积分规则 > 积分获取。
- 点击 添加自定义规则,设定积分获取逻辑。
- 保存后,系统将生成 规则 ID,在调用自定义积分接口时需使用。在每一条自定义积分规则中,您可以配置 积分发放时机,用于控制积分的触发方式和发放逻辑
-
点击按钮时即发放
- 选择此选项后,客户在 会员面板、会员个人中心 或 会员落地页 中点击该规则的跳转按钮,即可立即获得积分。
- 此方式无需任何额外的代码开发。
-
点击按钮时即发放
-
完成指定动作后发放
- 选择此选项后,系统将生成一段 代码块,其中包含该规则的规则 ID,用于后续调用 customRulesPointGrant 接口(即将推出)。
- 该代码块用于通知您的系统:客户已在 会员面板、会员个人中心 或 会员落地页 中点击了该规则的跳转按钮。您需要自行判断该客户是否完成了指定动作(例如完成特定任务或外部流程),并在条件满足后调用 customRulesPointGrant 接口为客户发放积分(即将推出)。
-
CustomRulesPointGrant 接口会依据您在规则中设定的发放次数限制进行控制。当某位客户已超过可发放次数上限时,即使再次调用该接口,也不会成功发放积分。
触发自定义积分发放
自定义积分发放需使用 私有应用 并配置相应 API 权限。
步骤 1:创建私有应用
- 前往 SHOPLINE 商家后台 > 应用 > 开发应用 > 创建应用。
- 填写应用信息(如 自定义积分规则发放),点击 创建。
- 创建成功后,点击 编辑 管理应用。
| 提示: 确保当前账号具有 开发应用 权限。 |
步骤 2:配置 API 权限
- 在应用编辑页面,进入 权限配置 > 集成店面 API > 配置。
- 勾选以下权限:
-
顾客:允许创建 客户访问令牌 以识别客户身份
-
顾客:允许创建 客户访问令牌 以识别客户身份
- 点击 保存。
步骤 3:获取 Storefront Access Token
- 切换到 API 凭据 > 访问令牌 > 安装应用。
- 复制生成的 Storefront Access Token,妥善保管,用于所有 API 请求。
| 注意: Storefront Access Token 是您应用的身份凭证,请务必妥善保存,勿泄露给他人。 |
创建 Customer Access Token
在发放积分前,需要确认客户身份,可通过以下文档获取 客户访问令牌 (即將推出):
- customer-access-token-create
- customer-access-token-create-with-social-login
- customer-activate-by-verfication
-
customer-access-token-create-with-multipass
API 调用示例(Node.js):
以下是使用 node.js 语言调用 customRulesPointGrant 进行发放自定义积分的例子。您可以根据你自己的需要,使用任何语言实现。
| 安全提示: 建议在后端执行,避免 token 泄露。 |
const STORE_DOMAIN = 'your-store-domain.myshopline.com';
const STORE_FRONT_TOKEN = 'your-storefront-token'
const STORE_FRONT_VERSION = 'v20251201'
const CUSTOMER_ACCESS_TOKEN = '#A01#SID0xxxxxxxxxxxxxxxxxxxxxxxxxxx';
const EARN_ID = 'BACxxxxxxxxxxxxxxxxxxxx';
const graphqlMutation = `
mutation customRulesPointGrant($customerAccessToken: String!, $earnId: String!) {
customRulesPointGrant(customerAccessToken: $customerAccessToken, earnId: $earnId) {
memberUserErrors{code}
}
}
`;
fetch(`https://${STORE_DOMAIN}/storefront/graph/${STORE_FRONT_VERSION}/graphql.json`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${STORE_FRONT_TOKEN}`
},
body: JSON.stringify({
query: graphqlMutation,
variables: {
customerAccessToken: CUSTOMER_ACCESS_TOKEN,
earnId: EARN_ID
}
})
})
// 如果接口正常调用且响应且没有异常,消费者将获得你发放的积分
实现方式
方式一:自定义主题代码
- 在主题页面添加触发按钮等交互元素。
- 绑定点击事件,调用 customRulesPointGrant 接口(即将推出)。
方式二:会员系统事件监听(3.0 以上主题)
- 监听事件 membersystem:custom-point-earn。
- 在事件回调中调用 customRulesPointGrant(即将推出)。
window.themeEventCenter.addListener('membersystem:custom-point-earn', function(event) {
const { earnId } = event.detail;
// 调用 Storefront API 发放积分
});