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