開発者向けサポート

CASE.09 ユーザウェブにて会員情報を登録・変更する際の郵便番号のチェックを追加したい

概要

会員情報の自由項目に国情報を保存しており、ゲスト購入を禁止している店舗様にて、
ユーザーウェブから会員情報の変更や登録をする際に国情報によって
郵便番号のチェック方法をカスタマイズしたいといった場合のカスタマイズ例をご紹介します。

利用するAPI

データアクセスAPI

処理カスタマイズAPI

カスタマイズ例

APPCASE_23フロー図

今回の例は、会員の自由項目1に会員がどの国に住んでいるのかを保存している店舗で、
郵便番号のチェック処理が実行されるタイミングで住んでいる国が日本なら数値チェックを、
それ以外の国なら半角チェックを追加するといった形のカスタマイズ例になります。

OPTION_PARAMSについて

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

login_member_infoはユーザーウェブでログインしている会員の情報のうち
login_member_info:MEMBER.[カラム名]の形でカラムを指定することで
データアクセスAPIを実行することなく指定した会員の情報をcontextに追加できます。

login_member_infoで指定可能なカラム名に関しては こちら を参考にしてください。
※なお、一部利用できないカラムもあります。

今回の例のように、会員登録・更新時に会員情報の自由項目1を取得したい場合
次のような形で処理カスタマイズAPIを登録してください。

POST /customize_apis.json

[body内容例]
{
	"FLOW_NAME":"userweb/*",
	"NAME":"common/check_zip/MEMBER/before",
	"URL": "https://example.com/sample.json",
	"OPTION_PARAMS":"login_member_info:MEMBER.FREE_ITEM1"
}

すると、例えば自由項目に「日本」という文字列が入力されていた場合、次のようなリクエストが送られてきます。

{
	"arg": {
		"zip": "1020071",
		"column_name": "TB_ZIP=郵便番号"
	},
	"context": {
		~~~
		"login_member_info": {
			"MEMBER.FREE_ITEM1": "日本"
		},
		~~~
	}
}

あとは上記リクエストのlogin_member_infoを確認し、日本の場合とそれ以外の場合で
それぞれ自由にチェック処理の追加をする、といった形で利用が可能です。

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