開発者向けサポート

CASE.05 会員毎に表示可能な商品を専用のテーブルで管理したい

概要

会員毎に購入可能な商品を紐づけて購入可能な商品のみ表示をしたいが、そのような紐づけができるテーブルが存在しないため、
専用のテーブルを用意し、そのテーブルを操作することによって表示可能な商品を編集・取得したいというご要望があった際に
利用されたAPIについての紹介になります。

利用するAPI

データアクセスAPI

カスタマイズ例

APPCASE_13フロー図

こちらの例では【/extra/{table_name}】を利用することでご要望を実現しています。
店舗様専用のテーブルとしてSAMPLE_APP_MEMBER_ITEMという名前でテーブルを作成した場合、
商品一覧を表示する際、ビューアドオンAPIを利用して該当会員のIDを取得し、
【/extra/SAMPLE_APP_MEMBER_ITEM】の形でGETリクエストを送ることで
SAMPLE_APP_MEMBER_ITEMテーブルより会員毎に紐づいている購入可能な商品情報を取得、表示しています。


/extra/{table_name}

/extra/{table_name} は店舗様専用のテーブルをtable_name部分に指定することで、
指定したテーブルに対してGET、POST、DELETEの操作を実施可能とするデータアクセスAPIになります。

今回の例のように、会員ID(MEMBER_ID)と商品コード(ITEM_CD)を保持するためのテーブルを
SAMPLE_APP_MEMBER_ITEMという名前で作成したとすると、MEMBER_IDが1の会員に紐づく商品コードを取得したい場合には、
次のようなリクエストを送ることでデータを取得できます。

リクエスト
GET /extra/SAMPLE_APP_MEMBER_ITEM.json?select=MEMBER_ID,ITEM_CD&query=%5B%7B%22column%22%3A%22MEMBER_ID%22%2C%22operator%22%3A%22equals%22%2C%22value%22%3A1%7D%5D
レスポンス例
200 OK

[
	{"ITEM_CD": "TEST_01", "MEMBER_ID": "1"},
	{"ITEM_CD": "TEST_02", "MEMBER_ID": "1"},
	{"ITEM_CD": "TEST_03", "MEMBER_ID": "1"}
]

なお、このようなAppsで管理するテーブルの命名規則は[APPSコード]_[テーブル名]の形になります。
その他、query句に指定できる検索条件の詳細については、 データアクセスAPIページの共通パラメータ をご参照ください。

管理画面カスタマイズAPIについて

本件のように専用のテーブルを店舗様単位で特別に用意した場合、該当テーブルのデータを利用する手段としては、
/extra/{table_name}を利用して操作する方法と、 管理画面カスタマイズAPI を利用し、
ショップ管理ツールに登録・編集用の画面を作成して操作する方法の二つが挙げられます。

管理画面カスタマイズAPIとは、本件のような店舗様専用のテーブルに対して、
レコードを登録、検索、CSVアップロード等の操作が可能な画面を作成・カスタマイズできる仕組みになります。

今回の実例で利用したテーブルに対する管理画面カスタマイズAPIの使い方について別途まとめておりますので、
次の記事も併せて閲覧頂くことを推奨いたします。