ショップ管理ツールにて会員の登録・更新処理をする際、会員情報を別システムにも反映させ、
その反映が失敗した際に処理を中断し店舗管理者へメールを送りたいといった場合のカスタマイズ例をご紹介します。
処理カスタマイズAPI
今回の例は、ショップ管理ツールにて会員の登録・更新処理を実行する際に別システムへ反映処理を行い、
反映処理に失敗した場合処理を中断し店舗管理者メールアドレス宛に反映失敗した旨を送信するというものになります。
会員登録前チェック(admin/member/check_before_regist) は会員情報を登録する直前に処理を差し込むことができるAPIになります。
このAPIはブラウザから送付されたリクエストパラメーターがrequestParamsという要素に格納されて送られてきます。
今回の例のように、店舗管理者メールアドレスも含む形でリクエストが欲しい場合、次のような形で処理カスタマイズ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"
}
この状態で送られてくるリクエストは次のようになります。
{
"requestParams": {
"REGIST_DATE": [
"2024/01/01 00:00:00"
],
"L_NAME": [
"山田"
],
"L_KANA": [
"ヤマダ"
],
......
}
......
"context": {
......
"client_config": {
"KANRI_MAIL": "test@example.com"
},
......
}
......
}
上記の情報から会員情報を取得し、別システムへ反映処理が失敗した場合に
登録処理を中止しエラーメッセージを表示させるには次のようなレスポンスを返してください。
{
"messages": [
{
"level": 1,
"message": "外部システムとの連携に失敗しました。"
}
],
"result":false
}
また、エラーメールに関しては POST /mail_manager にて送信可能です。
/customize_apis にて設定可能な項目にOPTION_PARAMSという項目があります。
OPTION_PARAMSは特定の文字列を設定すると、contextに追加で情報が送付されるようになるのですが、
ここで指定可能な値の中にclient_configというものがあります。
client_configとはclient_config:[設定ID]の形で指定した店舗設定の情報を送付するものになります。
GET /configurations/{name} を利用して同様の情報を取得することも可能ですが、
OPTION_PARAMSを利用できる場合データアクセスAPIの実行回数が減らせるという利点があります。
client_configで指定可能な設定IDに関しては こちら を参考にしてください。
また、Appsで初期設定を追加することもでき、そのIDを指定することで追加した初期設定の値を取得することも可能です。
Appsで初期設定を追加する方法についてはこちらの事例をご参照ください。
そのほかの設定可能なOPTION_PARAMSについては こちら をご参照ください。