メンバーシステムにおけるカスタムポイント獲得ルール
メンバーシステムでカスタムポイントルールを作成し、特定のアクションに基づいて顧客にポイントを付与できるようになりました。このガイドでは、プライベートアプリの作成からストアフロントAPIを介したポイント発行までの全プロセスを説明し、パーソナライズされたメンバーリワード体験を構築する方法を紹介します。
その他のポイントルール設定機能について詳しくは、こちらの記事をご参照ください:メンバーポイントプログラムの設定と管理。
| Note: カスタムポイントルールはProおよびCustomのプランでのみ利用可能です。 |
カスタムポイントルールの作成
- メンバーシステム > ポイント > ポイントルール > ルールを追加に移動します。
- カスタムポイントルールをクリックし、獲得ロジックを定義します。
3. 保存後、システムはルールIDを生成します。これはカスタムポイント発行APIを呼び出す際に必要です。
各カスタムルール内では、ポイントを顧客に付与する方法とタイミングを決定するポイント発行タイミングも設定できます:
-
ボタンクリック時に即時ポイント発行
- このオプションを選択すると、顧客がメンバーパネル、メンバーセンター、またはメンバーランディングページでルールのアクションボタンをクリックした際に自動的にポイントが付与されます。
- 追加のコード開発は不要です。
-
指定されたアクション完了後にポイント発行
- このオプションを選択すると、ルールIDを含むコードスニペットが生成されます。このコードスニペットはcustomRulesPointGrant API(近日公開予定)と共に使用します。
- コードスニペットは、顧客がメンバーパネル、メンバーセンター、またはメンバーランディングページでルールのアクションボタンをクリックしたことをシステムに通知します。指定されたアクション(例:タスクや外部ワークフローの完了)を顧客が完了したかどうかの判断はお客様のシステム側で行い、条件が満たされたらcustomRulesPointGrant API(近日公開予定)を呼び出してポイントを発行してください。
-
customRulesPointGrant API(近日公開予定)は、ルール設定で定義された発行制限を適用します。顧客が許可されたポイント付与回数を超えた場合、追加のAPI呼び出しではポイントは発行されません。
カスタムポイント発行のトリガー
カスタムポイント発行にはプライベートアプリと適切なAPI権限が必要です。
ステップ1:プライベートアプリを作成する
-
SHOPLINE管理画面 > アプリ > アプリを開発 > アプリを作成に移動します。
- アプリ情報(例:カスタムポイントルール発行)を入力し、作成をクリックします。
- 作成後、編集をクリックしてアプリを管理します。
| Note: アカウントにアプリを開発の権限があることを確認してください。 |
ステップ2:API権限を設定する
- アプリ編集画面で、権限設定 > ストアフロントAPIを統合 > 設定に移動します。
- 以下を有効にします:
-
顧客:ユーザーを識別するための顧客アクセストークンの作成を許可します。
-
顧客:ユーザーを識別するための顧客アクセストークンの作成を許可します。
-
保存をクリックします。
ステップ3:ストアフロントアクセストークンを取得する
-
API証明書 > アクセストークン > アプリをインストールに切り替えます。
-
生成されたストアフロントアクセストークンをコピーします。これはすべてのAPIリクエストの認証に使用されるため、安全に保管してください。
| Note: ストアフロントアクセストークンはアプリの識別資格情報です。安全に保管し、他者と共有しないでください。 |
顧客アクセストークンの作成
ポイントを発行する前に、顧客の本人確認が必要です。以下のドキュメントを使用して顧客アクセストークンを取得できます:
- 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を使用して翻訳されており、不正確な部分が含まれている可能性があります。最も正確な情報については、元の英語版をご参照ください。