テーブルデータ取得のチュートリアル
このチュートリアルでは、Varicent IncentivesREST APIを使用して、モデルの特定のテーブルから結果を取得します。
前提条件
概要
このチュートリアルでは、次のREST API呼び出しを使用してデータを取得します。
- テーブルリストを取得
この呼び出しは、取得するデータを含むテーブルの正確な名前を取得します。
- 入力フォームIDを取得
この呼び出しは、取得するデータを含むテーブルから入力フォームのIDを取得します。
- テーブルデータを取得
この呼び出しは、テーブルからデータを取得します。
テーブル名の取得
まず、Varicent IncentivesREST API 呼び出しを使用して、すべてのテーブルのリストを取得し、データを取得するテーブルの名前を確認します。
データを取得するテーブルの名前がわかっている場合は、これらの手順をスキップできます。
注記
受け取り人テーブルやアカウントテーブルなどのシステムテーブルには、名前の末尾にアンダースコアが付きます。例:Payee_
。
次のリクエストを行います。
GET /api/v1/customtables
例:
curl -X GET -H "Authorization: Bearer API_KEY" -H "Model: YOUR_CLIENT_MODEL” -H "Content-Type: application/json" https://YOUR_ICM10_API_SERVER_ADDRESS/api/v1/customtables
次のパラメーターを使用して、返されるレスポンスをフィルタリングできます。
パラメーター
説明
フィルター
サポートされるフィールドは次のとおりです。
name
:テーブル名。tabletype
:カスタム、構造、ディメンション(階層)、データなど。parentblockid
: テーブルが配置されているコンポーネントID。
次の演算がサポートされています。
等しい`name=admin`。これは厳密で大文字と小文字が区別されます。
`name^admi`で始まる、または`name$min`で終わります。大文字と小文字は区別されません。
`userType=Admin\\,Web`など、リスト内で等しい一致。大文字と小文字は区別されません。
`date=[2015-09-22\\,2015-09-25]`のような間隔一致は、包括的/排他的制約の`[a\\,b]`、`(a\\,b)`、または混合の`(a\\,b]`の数学的表記をサポートします。また、間隔は無制限の制約、`(a\\,]`もサポートします。
等しくない`name<>admin`。これは厳密で大文字と小文字が区別されます。
`name⊇dmi`に含まれます。これは大文字と小文字を区別しません。
null判定、たとえば `name=NULL`または `name<>NULL`。等号演算子と不等号演算子のみがサポートされます。
1つの属性に複数のフィルターを使用できます。また、フィルタークエリは演算子の使用もサポートします。上述のような、完全なフィルター定義が演算子の両側に求められます。フィルターする列は、演算子の両側で同じでなければなりません。次の演算子がサポートされています。AND `&&`、OR `||`。
複数の属性にフィルターを定義するには、各フィルターステートメントを`;`で区切ります。
以下は、フィルターパラメーターを使用した例です。
GET /api/v1/customtables?filter=name=Payee
orderBy
このパラメーターは、列で並べ替えをします(コンマ区切りで、複数の列がサポートされています)。サポートされているフィールドは、
name
、およびisHistoryEnabled
です。方向:+(昇順)、-(降順)
列:名前
例:
orderBy=-name
レスポンスボディで、取得するデータを含むテーブルを見つけ、名前をメモします。
}, { "table":{ "name": "Payee_", "tableType": "Dimension", "effectiveDated": false, "version": { "rowVersion": 1601027 } }, "isWebEnabled": false, "isHistoryEnabled": true, "comment": "", "isGlobal": true, "elementId": 4, "parentBlockId": 6, "bounds": { "x": 118.8, "y": 2.46, "width": 144.0667, "height": 68.04 }, "color": { "a": 255, "b": 61, "g": 188, "r": 251 }, "name": "Payee_", "parentBlock": { "id": 6, "href": "/api/v1/components/6" }, "version": { "rowVersion": 1457003 }
入力フォームIDの取得
次に、Varicent IncentivesREST API呼び出しを使用して、指定したテーブルのすべての入力フォームのリストを取得します。
データの取得元のテーブルに追加入力フォームが含まれていない場合は、IDはゼロ(0)になり、次の手順をスキップできます。
次のリクエストを行います。
GET /api/v1/customtables/{tablename}/inputforms
例:
curl -X GET -H "Authorization: Bearer API_KEY" -H "Model: YOUR_CLIENT_MODEL” -H "Content-Type: application/json" https://YOUR_ICM10_API_SERVER_ADDRESS/api/v1/customtables/Payee_/inputforms
次のパラメーターを使用して、返されるレスポンスをフィルタリングできます。
パラメーター
説明
フィルター
サポートされているフィールドは
currentname
(入力フォーム名)です。次の演算がサポートされています。
等しい`name=admin`。これは厳密で大文字と小文字が区別されます。
`name^admi`で始まる、または`name$min`で終わります。大文字と小文字は区別されません。
`userType=Admin\\,Web`など、リスト内で等しい一致。大文字と小文字は区別されません。
`date=[2015-09-22\\,2015-09-25]`のような間隔一致は、包括的/排他的制約の`[a\\,b]`、`(a\\,b)`、または混合の`(a\\,b]`の数学的表記をサポートします。また、間隔は無制限の制約、`(a\\,]`もサポートします。
等しくない`name<>admin`。これは厳密で大文字と小文字が区別されます。
`name⊇dmi`に含まれます。これは大文字と小文字を区別しません。
null判定、たとえば `name=NULL`または `name<>NULL`。等号演算子と不等号演算子のみがサポートされます。
1つの属性に複数のフィルターを使用できます。また、フィルタークエリは演算子の使用もサポートします。上述のような、完全なフィルター定義が演算子の両側に求められます。フィルターする列は、演算子の両側で同じでなければなりません。次の演算子がサポートされています。AND `&&`、OR `||`。
複数の属性にフィルターを定義するには、記号`;`を使用してさまざまなフィルターステートメントを区切ります。
以下は、フィルターパラメーターを使用した例です。
GET /api/v1/customtables/{tablename}/inputforms ?filter=currentname=Payee Setup
orderBy
このパラメーターは、列で並べ替えをします(コンマ区切りで、複数の列がサポートされています)。サポートされているフィールドは、
id
およびcurrentname
です。方向:+(昇順)、-(降順)
列:名前
例:
orderBy=-id
オフセット
このパラメーターを
limit
パラメーターと組み合わせて使用して、レコードのグループを返します。デフォルトでは、オフセットはゼロ(0)に設定されています。例:
GET /api/v1/customtables/{tablename}/inputforms
は、最初の行から開始し、最初のグループの50行を返し、
GET /api/v1/customtables/{tablename}/inputforms?offset=1
は次のグループの50行を返します。
リミット
このパラメーターと
offset
パラメーターを組み合わせて使用すると、レコードのグループのみが返されます。デフォルトでは、50行が返されます。例:
GET /api/v1/customtables/{tablename}/inputforms?offset=0&limit=100
は、最初の100件のレコードを返し、
GET /api/v1/customtables/{tablename}/inputforms?offset=1&limit=100
は、次の100件のレコードを返します。
レスポンスボディで、取得するデータを含む入力フォームを検索し、IDをメモします。
[ { "id": 3, "currentName": "Payee Setup", "basedOnTable": "Payee_" }, { "id": 0, "currentName": "Payee_ Default", "basedOnTable": "Payee_" } ]
テーブルデータの取得
次に、テーブルデータの取得
呼び出しから取得したIDを使用して、Varicent Incentivesからテーブルデータを取得します。
次のリクエストを行います。
GET /api/v1/customtables/{tablename}/inputforms/{inputformid}/data
例:
curl -X GET -H "Authorization: Bearer API_KEY" -H "Model: YOUR_CLIENT_MODEL” -H "Content-Type: application/json" https://YOUR_ICM10_API_SERVER_ADDRESS/api/v1/customtables/Payee_/inputforms/3/data
次のパラメーターを使用して、返されるレスポンスをフィルタリングします。
パラメーター
説明
オフセット
このパラメーターを
limit
パラメーターとともに使用して、レコードのグループを返します。デフォルトでは、オフセットはゼロ(0)に設定されています。例:
GET /api/v1/customtables/{tablename}/inputforms/{inputformid}/data
は、最初の行から始まる最初のグループ50行を返し、
GET /api/v1/customtables/{tablename}/inputforms/{inputformid}/data?offset=1
は次のグループの50行を返します。
リミット
このパラメーターを
offset
パラメーターとともに使用して、レコードのグループのみを返します。デフォルトでは、50行が返されます。例:
GET /api/v1/customtables/{tablename}/inputforms/{inputformid} /data?offset=0&limit=100
は、最初の100件のレコードを返し、
GET /api/v1/customtables/{tablename}/inputforms/{inputformid}/data?offset=1&limit=100
は、次の100件のレコードを返します。
フィルター
サポートされているフィールド:入力フォームのすべての列。
次の演算がサポートされています。
等しい`name=admin`。これは厳密で大文字と小文字が区別されます。
`name^admi`で始まる、または`name$min`で終わります。大文字と小文字は区別されません。
`userType=Admin\\,Web`など、リスト内で等しい一致。大文字と小文字は区別されません。
`date=[2015-09-22\\,2015-09-25]`のような間隔一致は、包括的/排他的制約の`[a\\,b]`、`(a\\,b)`、または混合の`(a\\,b]`の数学的表記をサポートします。また、間隔は無制限の制約、`(a\\,]`もサポートします。
等しくない`name<>admin`。これは厳密で大文字と小文字が区別されます。
`name⊇dmi`に含まれます。これは大文字と小文字を区別しません。
null判定、たとえば `name=NULL`または `name<>NULL`。等号演算子と不等号演算子のみがサポートされます。
1つの属性に複数のフィルターを使用できます。また、フィルタークエリは演算子の使用もサポートします。上述のような、完全なフィルター定義が演算子の両側に求められます。フィルターする列は、演算子の両側で同じでなければなりません。次の演算子がサポートされています。AND `&&`、OR `||`。
複数の属性にフィルターを定義するには、各フィルターステートメントを`;`で区切ります。
以下は、フィルターパラメーターを使用した例です。
GET /api/v1/customtables/{tablename}/inputforms/ {inputformid}/data?filter=PayeeID_=AE001
フィールド
このパラメーターは、出力結果を選択した列に制限するために使用されます。表示するフィールドのコンマ区切りリストを使用します。例:
fields=PayeeID_
。使用可能なすべてのフィールドにデフォルト設定されます。
effectiveDate
このパラメーターは、有効日テーブルに使用されます。このパラメーターを空白のままにすると、すべてのデータを表示したり、日付を指定してその日付に有効なデータを表示したりできます。有効日のないテーブルの場合、このパラメーターは無視されます。
レスポンスボディには、テーブルデータが表示されます。
{ "columnDefinitions": [ { "name": "PayeeID_", "type": "String", "isKey": true, "nullable": false }, { "name": "Name_", "type": "String", "isKey": false, "nullable": false }, { "name": "Parent_", "type": "String", "isKey": false, "nullable": true, "values": "/api/v1/customtables/Payee_/descriptions/Parent_", "referencedCol": "PayeeID_" }, { "name": "Salutation_", "type": "String", "isKey": false, "nullable": true, "values": "/api/v1/customtables/Salutation_/inputforms/0/data ?fields=Salutation_" }, { "name": "Email_", "type": "String", "isKey": false, "nullable": false }, { "name": "Phone_", "type": "String", "isKey": false, "nullable": false }, { "name": "Extension_", "type": "String", "isKey": false, "nullable": false }, { "name": "TitleID_", "type": "String", "isKey": false, "nullable": true, "values": "/api/v1/customtables/Payee_/descriptions/TitleID_", "referencedCol": "TitleID_" }, { "name": "Reports_To_", "type": "String", "isKey": false, "nullable": true, "values": "/api/v1/customtables/Payee_/descriptions/Reports_To_", "referencedCol": "PayeeID_" }, { "name": "Payee_Currency_", "type": "String", "isKey": false, "nullable": true, "values": "/api/v1/customtables/Payee_/descriptions/Payee_Currency_", "referencedCol": "CurrencyID_" }, { "name": "Date_of_Hire_", "type": "Date", "isKey": false, "nullable": true }, { "name": "Termination_Date_", "type": "Date", "isKey": false, "nullable": true }, { "name": "Comment_", "type": "LongString", "isKey": false, "nullable": false }, { "name": "Admin", "type": "String", "isKey": false, "nullable": true, "values": "/api/v1/customtables/Payee_/descriptions/Admin", "referencedCol": "Boolean" }, { "name": "Language", "type": "String", "isKey": false, "nullable": true, "values": "/api/v1/customtables/Languages/inputforms/0/data ?fields=Language_Key" } ], "data": [ [ "AE001", "Dan Huddle", "SM001", null, "dhuddle@rti.com", "", "", "T004", "SM001", "USD", "2002-01-11T00:00:00", null, "", null, "ENG" ], [ "AE002", "Paul McNeil", "SM001", null, "pmcneil@rti.com", "", "", "T004", "SM001", "USD", "1999-11-08T00:00:00", null, "", null, "FRE" ],