開発者向けサポート

CASE.12 独自ページに遷移する際リファラチェックを行いたい

概要

店舗様にて独自に作成したページに遷移させる際にリファラチェック等のチェックを実施したいといった場合のカスタマイズ例をご紹介します。

利用するAPI

処理カスタマイズAPI

カスタマイズ例

APPCASE_26フロー図

今回の例は店舗様にて独自に作成したカスタマイズページにアクセスされた際にリファラチェック等のチェックを実施し、
チェック結果によって遷移先を設定するといったものになります。

customページ処理について

customページ処理 はview/userweb/custom配下へ店舗独自に作成したテンプレートを配置していただき、
そのファイル名を指定することで固有のカスタマイズ処理を行うことができるAPIになります。

例えばview/userweb/custom配下にtest_template.xhtmlというファイルを格納した場合、かつ、リファラ情報が必要な場合、
次のような形で処理カスタマイズAPIを登録してください。

POST /customize_apis.json
[body内容例]
{
	"NAME":"userweb/ext/test_template/after",
	"URL": "https://example.com/sample.json",
	"OPTION_PARAMS":"referer"
}

すると、例えばサービスURLが https://example.net の場合トップ画面から https://example.net/custom/test_template.html へ
アクセスした際に、本APIへ次のようなリクエストが送られるため、リファラ情報が取得可能となります。

{
	"context": {
		~~~
		"referer": "https://example.net/",
		~~~
	}
}

上記の情報をもとにリファラチェック等チェック処理を実施していただき、
結果が正常で想定通りのパスへ遷移させる場合は次のようなレスポンスを返してください。

{
	"result": {
		"redirect": null,
		"special": null,
		"template": "test_template"
	}
}

対して、チェック結果がエラーであり、例えばトップ画面へリダイレクトさせたい場合は次のようなレスポンスを返してください。

{
	"result": {
		"redirect": "top.html",
		"special": null,
		"template": null
	}
}

また、チェック結果がエラーであり、エラーページへ遷移させたい場合は次のようなレスポンスを返してください。

{
	"messages": [
		{
			"level": 1,
			"message": "不正な遷移を検知しました。"
		}
	],
	"result": {
		"redirect": null,
		"special": "common_error",
		"template": null
	}
}
OPTION_PARAMSのrefererついて

/customize_apis にて設定可能な項目にOPTION_PARAMSという項目があります。
OPTION_PARAMSは特定の文字列を設定すると、contextに追加で情報が送付されるようになるのですが、
ここで指定可能な値の中にrefererというものがあります。

refererを設定するとリファラ情報が含まれるようになります。

そのほかの設定可能なOPTION_PARAMSについては こちら をご参照ください。