開発者向けサポート

CASE.10 ショップ管理ツールにて会員の登録・更新処理を行う際外部連携を行いたい

概要

ショップ管理ツールにて会員の登録・更新処理をする際、会員情報を別システムにも反映させ、
その反映が失敗した際に処理を中断し店舗管理者へメールを送りたいといった場合のカスタマイズ例をご紹介します。

利用するAPI

処理カスタマイズAPI

カスタマイズ例

APPCASE_24フロー図

今回の例は、ショップ管理ツールにて会員の登録・更新処理を実行する際に別システムへ反映処理を行い、
反映処理に失敗した場合処理を中断し店舗管理者メールアドレス宛に反映失敗した旨を送信するというものになります。

会員登録前チェックについて

会員登録前チェック(admin/member/check_before_regist) は会員情報を登録する直前に処理を差し込むことができるAPIになります。
このAPIはブラウザから送付されたリクエストパラメーターがrequestParamsという要素に格納されて送られてきます。
次の形でパラメータが送付されるので、こちらから必要な情報を取得可能です。

{
	"requestParams": {
		"REGIST_DATE": [
			"2024/01/01 00:00:00"
		],
		"L_NAME": [
			"山田"
		],
		"L_KANA": [
			"ヤマダ"
		],
		......
	}
}
OPTION_PARAMSについて

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

client_configとはclient_config:[設定ID]の形で指定した店舗設定の情報を送付するものになります。
GET /configurations/{name} を利用して同様の情報を取得することも可能ですが、
OPTION_PARAMSを利用できる場合データアクセスAPIの実行回数が減らせるという利点があります。

今回の例のように店舗管理者メールアドレスを取得したい場合、次のような形で処理カスタマイズAPIを登録してください。

POST /customize_apis.json

[body内容例]
{
	"NAME":"admin/member/check_before_regist/after",
	"URL": "https://example.com/sample.json",
	"OPTION_PARAMS":"client_config:KANRI_MAIL"
}

すると、店舗管理者メールアドレスが次のような形で取得可能となります。

{
	"context": {
		~~~
		"client_config": {
			"KANRI_MAIL": "test@example.com"
		},
		~~~
	}
}

なお、client_configで指定可能な設定IDに関しては こちら を参考にしてください。
また、Appsで初期設定を追加することもでき、そのIDを指定することで追加した初期設定の値を取得することも可能です。
Appsで初期設定を追加する方法についてはこちらの事例をご参照ください。

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