開発者向けサポート

CASE.02 専用のテーブルで管理している情報を閲覧する画面が欲しい

概要

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

利用するAPI

カスタマイズ例

APPCASE_15フロー図

こちらの例では管理画面カスタマイズAPIを利用することでご要望を実現しています。
管理画面カスタマイズAPI専用のテーブルを用意し、【/admin_screen_customizes】を利用することで
専用テーブルに対する操作が可能な画面を作成します。
"ADMIN_SCREEN_CUSTOMIZE_POINT"に対して、"admin_extra_screen/search"を指定したこの画面は
該当テーブルのレコードを検索できる画面になります。

管理画面カスタマイズAPI 検索画面

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

まず初めに、こちらの画面へアクセスを可能とするためにサイドメニューへ画面名を表示する必要があります。
こちらの作業はメニューマスタへ登録が必要なため、メニュー名を決定次第弊社サポートまでご依頼ください。

管理画面カスタマイズAPIの登録には /admin_screen_customizes を利用します。
今回の例のように、会員ID(MEMBER_ID)と商品コード(ITEM_CD)を保持するためのテーブルを
SAMPLE_APP_MEMBER_ITEMという名前で作成したとすると、検索画面は次のリクエストを送ることで生成されます。

検索画面の画像
POST /admin_screen_customizes.json
[
	"ADMIN_SCREEN_CUSTOMIZE_POINT": "admin_extra_screen/search",
	"DISP_NAME": "SAMPLE_会員毎表示商品一覧",
	"KEY1": "SAMPLE_APP_MEMBER_ITEM",
	"OPTION_DATA": {
		"description": "会員毎表示商品の検索を行います。",
		"tableName": "SAMPLE_APP_MEMBER_ITEM",
		"tableDispName": "会員毎表示商品設定マスタ",
		"columnDefinition": [
			{
			"NAME": "MEMBER_ID",
			"DISP_NAME": "会員ID",
			"CHECK_PROPERTY": 2,
			"CHECK_NEED": true,
			"CHECK_INT_SIZE": 8,
			"CHECK_DEC_SIZE": 0,
			"CHECK_NEGATIVE_FLG":false,
			"FORM_TYPE":1,
			"FORM_SIZE":8,
			"FORM_MAXLENGTH":8,
			"FORM_TRIM": true,
			"FORM_IME_MODE":2
		  },
		  {
			"NAME": "ITEM_CD",
			"DISP_NAME": "商品コード",
			"CHECK_PROPERTY": 1,
			"CHECK_NEED": true,
			"CHECK_BYTE_SIZE": 50,
			"FORM_TYPE":1,
			"FORM_SIZE":20,
			"FORM_MAXLENGTH":50,
			"FORM_TRIM": true,
			"FORM_IME_MODE":2
		  }
		],
		"searchConditionColumnNameList": ["MEMBER_ID","ITEM_CD"],
		"listColumnNames": ["MEMBER_ID","ITEM_CD"],
		"defaultOrderByStatement": ["MEMBER_ID,ITEM_CD"],
		"searchFirst": true,
		"searchResultAbove": false,
		"searchPageOnly": false
	  }
]

まず、OPTION_DATAを除き、それぞれの設定項目に設定した値は次のような内容になります。

ADMIN_SCREEN_CUSTOMIZE_POINT
登録する画面が管理画面カスタマイズAPIのどの画面に該当するかを指定します。
検索画面を指定する値は"admin_extra_screen/search"となります。
DISP_NAME
「会員新規登録」、「商品新規登録」等のように、ページに表示するページ名称を指定します。
KEY1
操作対象のテーブル名を指定します。

次に、OPTION_DATAに関してですが、この要素には表示する画面をJson形式で記述します。

上記Jsonの内容を簡潔にまとめると、"searchConditionColumnNameList"に記載したカラムを検索項目として画面に表示し、
検索実行後、"listColumnNames"に記載されたカラムを検索結果として表示する画面を作成するという内容になります。
なお、上記のようなカラムを指定する要素を利用する場合、"columnDefinition"にてカラムの定義をする必要がある点はご注意ください。

その他設定可能なJsonの各要素に関しては、 管理画面カスタマイズAPIページ に記載されている内容をご参照ください。

関連する内容として、専用テーブルの操作を実施することが可能なデータアクセスAPIに /extra/{table_name} がございます。
また、管理画面カスタマイズAPIの登録画面、CSVアップロード画面ついては以下のページにて別途まとめております。
これらの記事についても併せて閲覧頂くことを推奨いたします。