メタデータ API を使用すると、指定されたアプリのテーブルに含まれるフォーム項目の一覧(ID と項目名、型)を取得できます。
- エンドポイント URL -
https://<tenant-id>.canbus.com/api/records/metadata
- メソッド -
GET
リクエストヘッダーの形式
以下のリクエストヘッダーが必要です。
Content-Type: application/json
リクエストボディの形式
メタデータ API のリクエストボディ形式は次のとおりです。
{
"tenant_id": <tenant-id>,
"app_id": <app-id>,
"api_key": <api-key>,
"api_secret": <api-secret>, "metadata": {
}
}
淡色部分には、Canbus. API の認証情報を挿入します。認証情報の送信方法については、認証を参照してください。
metadata は空のオブジェクトです。この値を省略したり、空でない値を指定すると、400 Bad Request エラーが返されます。
レスポンスボディの形式
メタデータ API のレスポンスボディ形式は次のとおりです。
{ "authen": "OK", "results": [{ "result": "0", "items": [ { "id": <item-0-id>, "name": <item-0-name>, "type": <item-0-type>, }, { "id": <item-1-id>, "name": <item-1-name>, "type": <item-1-type>, }, ... ] }] }
メタデータ API では、results はただ 1 つの要素を持つオブジェクト配列です。メタデータの取得に成功した場合、先頭要素の result コードが 0 になります。
items は、テーブルに含まれるすべてのフォーム項目の情報を含むオブジェクト配列です。配列の各要素に含まれる id はフォーム項目の ID を、name は項目名を、type は項目型をそれぞれ表す文字列です。
配列の各要素の type は、フォーム項目の型に応じて以下のいずれかの値になります。
- Text - 文字列項目
- Number - 数値項目
- RichText - リッチテキスト
- Date - 日付
- Time - 時刻
- DateTime - 日付と時刻
- Attachments - 添付ファイル
- Radio - ラジオボタン
- Checkbox - チェックボックス
- Pulldown - プルダウン
- Calculation - 計算式
- User - ユーザー選択
- Table - 表組み
- AppLink - アプリ連携
- Records - レコード参照
- GridReference - グリッド参照
- Organization - 組織選択
- Collaboration - 参照
- System_Record_ID - レコード番号
- System_Create_User - 作成者
- System_Create_Time - 作成日時
- System_Update_User - 更新者
- System_Update_Time - 更新日時
- System_Create_Dept - 作成者の組織
- System_Record_Status - ステータス
ラベル項目、罫線項目、ボタン項目はメタデータ API のレスポンスには含まれません。
配列要素の順序
配列 items の要素は、それぞれのフォーム項目を最初にフォーム上に追加した順番で格納されます。要素の順序はフォーム上での現在の配置順を反映しないため、注意してください。
自動入力項目
各テーブルの自動入力項目は、フォーム上に配置されている場合に限り、配列 items の末尾に追加されます。例えば、フォーム上に更新日時と更新者を配置している場合、更新日時と更新者はメタデータ API のレスポンスに含まれます。この場合、他の自動入力項目は、仮にレコード一覧の表示項目として表示している場合でも、メタデータ API のレスポンスには含まれません。
表組み項目
テーブルが表組み項目を含んでいる場合、表組み内の項目の情報が入れ子になった items 配列として返されます。
...
"items": [
{
"id": "Products",
"name": "製品リスト",
"type": "Table",
"items": [
{
"id": "ProductID",
"name": "製品 ID",
"type": "Number"
}, {
"id": "Name",
"name": "製品名",
"type": "Text"
}, {
"id": "ProductClass",
"name": "製品クラス",
"type": "Radio"
}
]
},
...
],
上の例では、表組み「製品リスト」を表すオブジェクトの items 配列には数値項目「製品 ID」、文字列項目「製品名」、ラジオボタン項目「製品クラス」の 3 つのフォーム項目を表すオブジェクトが入れ子になって含まれています。
関連情報
- テーブルで API アクセスを有効にする方法については、Canbus. API の概要を参照してください。
- 認証情報の送信方法については、認証を参照してください。
- GET メソッドでリクエストボディを送信できない場合は、POST メソッドを使用し、HTTP メソッドを上書きしてください。
- API から返される HTTP ステータス コードの例を参照してください。
- Canbus. API のレートリミットと制限事項に留意してください。