メンバーシステムにおけるカスタムポイントルールの作成と管理
メンバーシステムでカスタムポイントルールを作成し、特定のアクションに基づいて顧客にポイントを付与できるようになりました。このガイドでは、プライベートアプリの作成からストアフロントAPIを通じたポイント発行までの全プロセスを説明し、パーソナライズされたメンバーリワード体験を構築する方法をご案内します。
その他のポイントルール設定機能について詳しくは、こちらの記事をご参照ください:メンバーポイントプログラムの設定と管理。
| 注:カスタムポイントルールはプロおよびカスタムのプランでのみ利用可能です。 |
カスタムポイントルールの作成
- メンバーシステム >ポイント >ポイントルール > ルールを追加 に移動します。
-
カスタムポイントルール をクリックして、獲得ロジックを定義します。
-
保存後、システムはルールIDを生成します。これはカスタムポイント発行APIを呼び出す際に必要です。各カスタムルール内では、顧客にポイントを付与する方法とタイミングを決定するポイント発行タイミングも設定できます:
-
ボタンクリック時に即時ポイント発行:
- このオプションを選択すると、顧客がメンバーパネル、マイページ、またはメンバーランディングページのルールのアクションボタンをクリックした際に、自動的にポイントが付与されます。
- 追加のコード開発は不要です。
-
指定されたアクション完了後にポイント発行:
- このオプションを選択すると、ルールIDを含むコードスニペットがシステムによって生成されます。このコードスニペットは customRulesPointGrant APIと共に使用します。APIのパラメーター、リクエスト例、実装手順の詳細については、 "customRulesPointGrant" APIドキュメントを参照してください。
- コードスニペットは、顧客がメンバーパネル、マイページ、またはメンバーランディングページのルールのアクションボタンをクリックしたことをシステムに通知します。指定されたアクション(例:タスクや外部ワークフローの完了)を顧客が完了したかどうかの判断はお客様のシステム側で行い、条件が満たされたら customRulesPointGrant APIを呼び出してポイントを発行します。
- customRulesPointGrant APIはルール設定で定義された発行制限を適用します。顧客が許可されたポイント付与回数を超えた場合、追加のAPI呼び出しではポイントは発行されません。
注: ポイント発行タイミングで指定されたアクション完了後にポイント発行を選択した場合のみ、「カスタムポイント発行のトリガー設定」および「顧客アクセストークンの作成」のセクションを完了する必要があります。これらの手順はcustomRulesPointGrant APIを呼び出して顧客にポイントを発行するために必要です。ボタンクリック時に即時ポイント発行を選択した場合は、これらの追加設定は不要です。 -
ボタンクリック時に即時ポイント発行:
カスタムポイント発行のトリガー
カスタムポイント発行には、プライベートアプリと適切なAPI権限が必要です。
ステップ1:プライベートアプリの作成
-
SHOPLINE管理画面で、アプリに移動し、アプリを開発するをクリックします。
-
アプリを作成をクリックします。
- アプリ情報(例:カスタムポイントルール発行)を入力し、作成をクリックします。
-
作成後、修正をクリックしてアプリを管理します。
| 注:アカウントにアプリを開発する権限があることを確認してください。 |
ステップ2:API権限の設定
-
アプリ編集画面で、権限設定 > ストアフロントAPIを連携 > 設定に移動します。
- 以下を有効にします:
-
顧客:ユーザーを識別するための顧客アクセストークンの作成を許可します。
-
- 保存をクリックします。
ステップ3:ストアフロントアクセストークンの取得
-
API証明書 > アクセストークン > アプリをインストールに切り替えます。
-
生成されたストアフロントアクセストークンをコピーします。これはすべてのAPIリクエストの認証に使用されるため、安全に保管してください。
| 注:ストアフロントアクセストークンはアプリの識別資格情報です。安全に保管し、他者と共有しないでください。 |
顧客アクセストークンの作成
ポイントを発行する前に、顧客の本人確認が必要です。以下のドキュメントを使用して顧客アクセストークンを取得できます:
- customer-access-token-create
- customer-access-token-create-with-social-login
- customer-activate-by-verification
- customer-access-token-create-with-multipass
| ヒント: トークンの漏洩を防ぐために、このロジックはバックエンドで実行してください。 |
APIコール例(Node.js)
以下は、Node.jsを使用してcustomRulesPointGrantを呼び出し、カスタムポイントを発行する例です。必要に応じて任意のプログラミング言語を使用できます。
| セキュリティのヒント: トークン漏洩を防ぐため、このロジックはバックエンドで実行することを推奨します。 |
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
}
})
})
APIが正常に呼び出され、エラーが返されなければ、顧客にポイントが付与されます。
実装方法
方法1: カスタムテーマコード
- トリガーボタンなどのインタラクティブなパーツをテーマページに追加します。
- customRulesPointGrant APIを呼び出すクリックイベントをバインドします。
方法2: メンバーシステムイベントリスナー(テーマ3.0以上)
- membersystem:custom-point-earn イベントをリッスンします。
- イベントコールバック内でcustomRulesPointGrantを呼び出します。
window.themeEventCenter.addListener('membersystem:custom-point-earn', function(event) {
const { earnId } = event.detail;
// ストアフロントAPIを呼び出してポイントを発行します
});
この記事はAIを使用して翻訳されており、不正確な部分が含まれている可能性があります。最も正確な情報については、元の英語版をご参照ください。