開発者向けサポート

管理画面カスタマイズAPI

機能概要

管理画面カスタマイズAPIとは、店舗様専用のテーブルを用意し、
そのテーブルに対して何らかの操作ができる画面を作成・カスタマイズできる仕組みになります。
実際に利用される場面が多いのが、レコードの登録、検索、CSVアップロードの三つの画面になります。
このAPIを利用した実例について、 Apps活用事例 にて掲載しておりますので、こちらの内容と併せてご覧いただけますと幸いです。

管理画面カスタマイズAPIの登録方法について

管理画面カスタマイズAPIの登録には /admin_screen_customizes を利用します。
例えば検索画面を登録をするためのリクエストは次のような形になります。

POST /admin_screen_customizes.json
[
"ADMIN_SCREEN_CUSTOMIZE_POINT": "admin_extra_screen/search",
"DISP_NAME": "SAMPLE_会員毎表示商品検索画面",
"KEY1": "SAMPLE_APP_MEMBER_ITEM",
"OPTION_DATA": {Json情報}
]

それぞれの設定項目に設定する値は次のような内容になります。

ADMIN_SCREEN_CUSTOMIZE_POINT
登録する画面が管理画面カスタマイズAPIのどの画面に該当するかを指定します。
設定可能な値は次の通りです。
登録画面:"admin_extra_screen/input"
検索画面:"admin_extra_screen/search"
CSVアップロード画面:"admin_extra_screen/upload"
出荷実績アップロード画面:"admin_extra_screen/ship_slip_no_upload"
追加カスタマイズ画面:"admin_extra_screen/customize_screen"
DISP_NAME
「会員新規登録」、「商品新規登録」等のように、ページに表示するページ名称を指定します。
KEY1
操作対象のテーブル名を指定します。
OPTION_DATA
画面に表示するカラムについてJson形式で指定します。
詳細については「OPTION_DATA(Json)に設定可能な要素一覧」を参照してください。

OPTION_DATA(Json)に設定可能な要素一覧

共通するJson要素
description
入力された内容をページの説明文として画面に表示します。
tableName
設定が必須の項目です。
ここに入力されたテーブルを対象に処理をします。
管理画面カスタマイズAPI用に準備したテーブル名を指定してください。
tableDispName
tableNameで指定したテーブルの日本語名を入力してください。
columnDefinition
columnDefinitionはフォームなどで入力対象とするカラムについて、画面表示方法等の設定を定義をする要素になります。
検索結果の表示等、入力対象ではないカラムはこの定義を利用しません。

columnDefinitionで設定する要素のうち最低でも設定しないといけない要素は、
"NAME","FORM_TYPE","CHECK_PROPERTY"の三つになります。

また、FORM_TYPE、CHECK_PROPERTYの値によって追加で設定が必要な要素が変わります。

columnDefinitionに設定できる要素は次の通りです。
NAME
設定が必須の項目です。
「MEMBER_ID」のような形で、操作するカラム名を半角大文字で指定してください。
FORM_TYPE
設定が必須の項目です。
入力フォームのtype属性を数値で指定してください。設定可能な値は次の通りです。
0=ラベル, 1=テキスト, 2=プルダウン, 3=チェックボックス, 4=ラジオボタン, 5=テキストエリア, 6=パスワード
CHECK_PROPERTY
設定が必須の項目です。
入力値チェックをどの型で行うかを数値で指定してください。設定可能な値は次の通りです。
1=半角文字列, 2=数値, 3=日付, 4=全角文字列
FORM_OPTION
FORM_TYPEが2,3,4の場合に設定が必要です。
selectタグ等のvalueとテキストの組み合わせを設定します。
選択肢は「valueに設定する値:表示するテキスト,valueに設定する値:表示するテキスト, ... 」といった形で入力してください。
CHECK_BYTE_SIZE
CHECK_PROPERTYが1,4の場合に設定が必要です。
半角文字を1、それ以外を2としてカウントする形で、文字列の入力可能な最大値を設定してください。
DISP_NAME
「会員ID」のような形で、画面に表示するカラムの名前を全角大文字で指定できます。
指定が無い場合、NAMEで指定したカラム名を文字列としてそのまま表示します。
FORM_SIZE
FORM_TYPEが0,1,6の場合設定が可能です。
inputタグのsize属性に設定したい値を入力してください。
FORM_MAXLENGTH
FORM_TYPEが0,1,6の場合設定が可能です。
inputタグのmaxlength属性に設定したい値を入力してください。
FORM_TEXTAREA_COLS
FORM_TYPEが5の場合設定が可能です。
textareaタグのcolsに設定する値を数値で指定してください。
FORM_TEXTAREA_ROWS
FORM_TYPEが5の場合設定が可能です。
textareaタグのrowsに設定する値を数値で指定してください。
FORM_UPPER
trueで設定した場合、入力された内容が自動的に大文字に変換されます。
FORM_TRIM
trueで設定した場合、入力された内容の先頭と末尾の空白が削除されます。
FORM_IME_MODE
IME_MODEに設定する値を数値で指定してください。設定可能な値は次の通りです。
0:何もしない,1:active(自動ON),2:inactive(自動OFF),3:disabled(強制OFF)
FORM_FREE
javascript、スタイルシート等を自由に記述できます。
CHECK_NEED
該当項目を入力必須項目としたい場合にtrueを設定してください。
CHECK_INT_SIZE
CHECK_PROPERTYが2の場合に設定が可能です。
整数部に許可する桁数を設定してください。
CHECK_DEC_SIZE
CHECK_PROPERTYが2の場合に設定が可能です。
小数部に許可する桁数を設定してください。
CHECK_NEGATIVE_FLG
CHECK_PROPERTYが2の場合に設定が可能です。
trueを設定するとマイナスの値を許可します。
CHECK_REGEX
入力された項目をチェックしたい場合に正規表現を記述してください。
DEFAULT_VALUE
入力フォームにデフォルトで入力させておきたい値を設定できます。
SET_DATE_CHECK_FLAG
trueを設定すると、CHECK_PROPERTYを4にせずに、日付のチェックを行うことができます。
DATE_TIME_CALENDAR_FLAG
trueにすると日時カレンダーが表示されます。CHECK_PROPERTYは1,4のいずれかで利用してください。 また、DBがtimestamp型の場合はsqlが正常に動かないので処理カスタマイズAPIでsqlのカスタマイズが必要になります。
columnComments
カラムの説明を示したマッピングです。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME":"NAMEのカラムに表示する説明文","NAME":"NAMEのカラムに表示する説明文",.....]
inputに設定可能なJson要素
inputColumnsList
入力フォームを表示するカラムを設定できるリストです。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
なお、設定した順に左から画面表示されます。
ignoreHaitaDate
排他チェックを行いたくない場合にtrueを設定してください。
デフォルトの挙動はfalse(排他チェックが行われる)となります。
backForward
登録画面から「戻る」ボタンを押下した際の遷移先を設定できます。
設定可能な値は次の通りです。
検索画面:search
登録画面:input
メニュー画面:admin_menu_selected
ajaxSelectColumnList
AjaxのSELECTを利用するカラムを設定(虫眼鏡アイコンが表示されます)
name
表示する項目
type
nameと異なるtypeの場合に設定(nameとtypeが同一の場合はnull設定)
uniqueColumnsList
指定したデータの重複を不許可にします。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次のような形で設定してください。
[["NAME1","NAME2"],["NAME3"],.....]
上記の形だと、NAME1,NAME2を複合した重複チェックとNAME3の重複チェックがそれぞれ働く形になります。
searchに設定可能なJson要素
searchConditionColumnNameList
画面に表示する検索項目カラムのリストを指定できます。
listColumnNames
画面に表示する検索結果カラムのリストを指定できます。
csvColumnNames
検索結果をダウンロードする際に対象とするカラムを設定できるリストです。
未設定の場合listColumnNamesに設定した対象を指定します。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
searchFirst
ページ表示時に初期検索結果を表示する場合はtrueを設定してください。
searchResultAbove
検索結果を画面上部に表示する場合はtrueを設定してください。
mustSearchNameList
検索条件として入力が必須のカラムを指定できます。
defaultOrderByStatement
昇順で並び替えるカラムを指定できます。
searchPageOnly
検索結果画面に編集ボタンを表示しない場合はtrueを設定してください。
ajaxSelectColumnList
AjaxのSELECTを利用するカラムを設定(虫眼鏡アイコンが表示されます)
name
表示する項目
type
nameと異なるtypeの場合に設定(nameとtypeが同一の場合はnull設定)
isPhysicalNameDisplay
CSVダウンロードのヘッダ行に物理名を表示するかどうかを指定できます。
デフォルトの設定値はtrueです。
uploadに設定可能なJson要素
keyColumnNames
アップロード時のキーとして使用するカラムのリストを指定してください。
csvColumnNames
CSVアップロード可能にするカラムを設定できるリストです。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
isDeleteInsertMode
trueを設定すると、「追加登録 / 一括更新(洗い替え)」のラジオボタンが表示され、洗い替え処理を選択できるようになります。
isShowRegisteredDownloadButton
trueを設定すると、「登録済みデータダウンロード」ボタンが表示され、アップロード画面からでもcsvダウンロードができるようになります。
こちらを利用する場合、検索一覧画面を利用しない場合でも下記設定を含む検索一覧画面のJsonが必要になります。
  • tableName
  • tableDispName
  • csvColumnNames
  • columnDefinition
beforeAfterNameList
CSVアップロードで更新した際、更新前、更新後の値を確認したい場合に指定してください。
指定した内容は、 admin/extra/upload/post_process/{name} を利用することで確認できます。
上記APiのarg要素にbefore(更新前)、after(更新後)として格納されます。
なお、上記APIはbeforeAfterNameListを登録せずともsucceeded_key_listの取得は可能です。
delimiter
アップロードの区切り文字を指定できます。
指定がない場合、「,」(カンマ)が利用されます。
ignoreColumnNames
アップロード対象に含まれた場合無視させたいカラムを指定できます。
REGIST_USER_ID,REGIST_DATE,UPDATE_USER_ID,UPDATE_DATEがデフォルトで指定されています。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
ignoreDispColumns
画面に表示させないカラムを指定できます。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
isPhysicalNameDisplay
「タイトル行ダウンロード」ボタンよりダウンロードするCSVファイルのヘッダ行に物理名を表示するかどうかを指定できます。
デフォルトの設定値はtrueです。
なお、この設定は「登録済みデータダウンロード」ボタンよりダウンロードするCSVファイルには反映されません。
「登録済みデータダウンロード」ボタンにも反映させたい場合、検索画面のJsonで指定してください。
isShowTitleDownloadButton
「タイトル行ダウンロード」ボタンを表示するかどうかを指定できます。
デフォルトの設定値はtrueです。
isUseTransactionManage
trueの場合、アップロード画面で下記条件のどちらかを選択できるようになります。
「エラーのある行があっても、エラーのない行を登録する」「1件でもエラーのある行があったら全ての行を登録しない」
なお、出荷実績アップロード画面では利用できません。
startRow
下記のような形で指定すると、指定した値の行数からアップロードされたCSVの読み取りを開始します。
"startRow":2
temporaryColumnNames
アップロードフォーマットには含めるが、insert/update対象としないカラムのリストを指定できます。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
uploadConditionHtmlList
洗い替えのラジオボタンのような形で、アップロード画面で表示するラジオボタンなどの追加ができます。
"uploadConditionHtmlList":[
    {
        "title":"testtitle",
        "type":2,
        "data":[["0","element1"],["1","element2"]],
        "name":"TEST_NAME",
        "defaultValue":"0"
    }
]
useInitializedColumnsAsCsvTitile
trueを指定すると、columnDefinitionを並び順でタイトルとして利用し、アップロードしたデータの1行目から取り込みを開始します。
falseを指定すると、ファイル内の1行目が固定的にタイトルとして利用されます。
デフォルトの設定値はfalseです。
uniqueColumnsList
指定したデータの重複を不許可にします。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次のような形で設定してください。
[["NAME1","NAME2"],["NAME3"],.....]
上記の形だと、NAME1,NAME2を複合した重複チェックとNAME3の重複チェックがそれぞれ働く形になります。
ship_slip_no_uploadに設定可能なJson要素

出荷実績取り込みをする専用のアップロード画面になります。
利用可能な項目については調整中になります。

customize_screenに設定可能なJson要素

customize_screenはiFrameとして読み込ませたい値をJson形式で指定することができるものになります。
その為、共通するJson要素の設定が不要となり、OPTION_DATAに設定可能な値は次の内容のみになります。

height
iFrameの高さを設定する要素です。
width
iFrameの表示幅を設定する要素です。
src
表示したい画面のパスを設定する要素です。

免責事項

免責事項については こちら をご参照ください。