Skip to content

セッションオファー

Fanplayrは、簡単な追加の統合手順により、不正なユーザーがストアで割引を請求するのを防ぐのに役立ちます。

このメカニズムは、Coupons.comやRetailMeNotのようなクーポン共有サイトが多くのオンラインストアに引き起こしてきた問題を解決することを目的としています。Fanplayrは、ユーザーに提示するオファーを、現在の訪問中にのみ有効であるように制限することでこれを実現します。

仕組み

システム内でFanplayr専用のオファーコードを識別する方法を考案します。

  1. オファーがユーザーに提示されたときに、Fanplayrはシステムに通知します。システムは、ユーザーのセッション中、これらのオファーを記憶します。
  2. ユーザーがFanplayrのオファーコードを適用しようとした場合、システムは前のステップでそのコードを記憶している場合にのみ許可します。
セッションオファーフロー図

フローの例

Fanplayr専用のオファーコードを識別する簡単な方法の1つは、それらに特別なプレフィックスを付加することです。

  1. 例えば、"FP_" をプレフィックスとして使用し、システムに無料配送コード "FP_FREESHIP" を定義することができます。

  2. ユーザー追跡の実装の一部として、Fanplayrに sessionOfferUrl を提供します。

    例として、セッションオファーURLは次のようになります。 https://example.com/allowOffer.php?code=%c

  3. Fanplayrがユーザーにオファーを提示すると、そのオファーコードが現在のセッションで有効であることをシステムに通知するために、URL(GETリクエストとして)を呼び出します。

    システムは、ユーザーセッションの期間中持続する配列にオファーコードを保存する必要があります。これを validSessionCodes 配列と呼びます。

    Fanplayrは、URL内の %c パラメータを実際のオファーコードに置き換えます。例: https://example.com/allowOffer.php?code=FP_FREESHIP

  4. システムは、カートに適用する前にオファーコードを検証する必要があります。Fanplayrコード(例えば、"FP_" プレフィックスで始まるコード)を適用しようとする場合、validSessionCodes 配列にそのコードが存在する場合にのみカートに適用される必要があります。

    Fanplayrコードが配列に存在しない場合、そのコードは無効とみなされ、システムによって拒否される必要があります。

実装例

1. 設定

このプロセスの最初のステップは、Fanplayrユーザー追跡スニペットに sessionOfferUrl を提供することです。このURLは、ユーザーに提示される各オファーコードと共に呼び出されます。%c パラメータは実際のオファーコードに置き換えられます。

例: https://example.com/allowOffer.php?code=%c https://example.com/allowOffer.php?code=FP_FREESHIP になります

この設定手順は、当社が構築したカスタムJavaScriptアダプターには適用されません。この場合、統合を更新できるよう、お客様から sessionOfferUrl を提供していただく必要があります。

javascript
{
  type: 'st',
  accountKey: '7e43c8cddccade2b95ee5286ba89758a',
  sessionOfferUrl: 'https://example.com/allowOffer.php?code=%c',
  data: {
    // ユーザー追跡データ
  }
}

2. セッションオファーのシステムへの保存

次に、Fanplayrのオファーコードがユーザーに提示されたときにそれらをキャプチャし、ユーザーセッションの期間中配列に追加する新しいエンドポイントをシステムに実装する必要があります。

sessionOfferUrl 変数で指定したURLは、Fanplayrウィジェットによって GET リクエストとして呼び出されます。

3. カートに適用されるオファーの検証

最後のステップとして、システムに小さな変更を加え、割引を適用する前にすべてのオファーコードを検証するようにする必要があります。

FP_ プレフィックスで始まるコードを検証するために使用できるメソッドの実装例を提供しました。このプレフィックスで始まるコードのみが、ユーザーのセッション中に実際にFanplayrによって提示されたことを確認するためにチェックされます。その他のプレフィックスなしのコードはすべて、直ちに有効とみなされます。

このメソッドは、オファーコードをカートに適用できるシステム内のあらゆる場所で使用する必要があります。

POST(またはコールバック)の使用

セッションオファーを設定するために、単純にURLをヒットできない場合があります(例えば、この情報をlocalStorageに保持している場合など)。この場合、sessionOfferUrlURLの代わりに Fanplayrプラットフォームに関数を提供できます。

javascript
// fanplayr_ready 関数は、メインのFanplayrスクリプトがロードされた後に呼び出されます。
window.fanplayr_ready = function () {
  window.fanplayr.platform.capabilities.deputizeOffer = function (event) {
    // これで event.code にアクセスできます。
    console.log(event.code);
    // ここで値を返す必要があります。そして "false" 以外のものはすべて成功とみなされます。
    return; // 成功
    // または
    // これはセッションオファーの設定が失敗したことを意味し、
    // 後続の呼び出しで再試行されます。
    return false; // 失敗
  };
};