計算データ取得のチュートリアル
このチュートリアルでは、Varicent IncentivesREST APIを使用して、モデルの特定の計算から結果を取得します。
前提条件
概要
このチュートリアルでは、次のREST API呼び出しを使用してデータを取得します。
- 計算リストを取得
この呼び出しは、取得するデータを含む計算のIDを取得します。
- 計算データを取得
この呼び出しは、計算からデータを取得します。
計算IDの取得
まず、Varicent IncentivesREST API呼び出しを使用して、すべての計算のリストを取得します。
次のリクエストを行います。
GET /api/v1/calculations
例:
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/calculations
次のパラメーターを使用して、返されるレスポンスをフィルタリングできます。
パラメーター
説明
フィルター
サポートされるフィールドは次のとおりです。
name
:計算名。type
:カテゴリー、タイムシフト、並べ替え、数学的などの計算タイプ。
次の演算がサポートされています。
等しい`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/calculations?filter=name=All Payouts
レスポンスボディで、取得するデータを含む計算を検索し、IDをメモします。
{ "parentBlockId": 2175, "calculationId": 633, "name": "Final Payment YTD by Team", "isFavourite": false }, { "parentBlockId": 2174, "calculationId": 663, "name": "Final Payouts YTD", "isFavourite": false }, { "parentBlockId": 157, "calculationId": 545, "name": "Final Periodic Payout", "isFavourite": false },
計算データの取得
次に、計算リストを取得
の呼び出しから取得したIDを使用して、Varicent Incentivesから計算データを取得します。
次のリクエストを行います。
GET /api/v1/calculations/{calcid}/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/calculations/633/data
次のパラメーターを使用して、返されるレスポンスをフィルタリングできます。
パラメーター
説明
オフセット
このパラメーターを
limit
パラメーターとともに使用して、レコードのグループを返します。デフォルトでは、オフセットはゼロ(0)に設定されています。例:
GET /api/v1/calculations/{calcid}/data
は、最初の行から開始し、最初のグループの50行を返し、
GET /api/v1/calculations/{calcid}/data?offset=1
は次のグループの50行を返します。
リミット
このパラメーターを
offset
パラメーターとともに使用して、レコードのグループのみを返します。デフォルトでは、50行が返されます。例:
GET /api/v1/calculations/{calcid}/data?offset=0&limit=100
は、最初の100件のレコードを返し、
GET /api/v1/calculations/{calcid}/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/calculations/{calcid}/data?filter=PayeeID_=AE001
フィールド
このパラメーターは、出力結果を選択した列に制限します。表示するフィールドのコンマ区切りリストを使用します。例:
fields=PayeeID_
。使用可能なすべてのフィールドにデフォルト設定されます。
レスポンスボディには、計算データが表示されます。
{ "columnDefinitions": [ { "name": "PayeeID_", "type": "String", "isKey": true, "nullable": false }, { "name": "Periods", "type": "String", "isKey": true, "nullable": false }, { "name": "Value_" "type": "Decimal", "isKey": false, "nullable": false } ], "data": [ [ "AE001", "2017-01 JAN", 6956.493 ], [ "AE001", "2017-02 FEB", 14502.286 ], [ "AE001" "2017-03 MAR", 25879.236 ], [ "AE001", "2017-04 APR", 32107.402 ],