データ・ストアのデータ取得のチュートリアル
このチュートリアルでは、Varicent IncentivesREST APIを使用して、モデルの特定のデータ・ストアから結果を取得します。
前提条件
概要
このチュートリアルでは、次のREST API呼び出しを使用してデータを取得します。
- データ・ストアリストを取得
この呼び出しは、取得するデータを含むデータ・ストアのIDを取得します。
- データ・ストアのデータ取得
この呼び出しは、 データ・ストアからデータを取得します。
データ・ストアIDの取得
まず、Varicent IncentivesREST API呼び出しを使用して、すべてのデータ・ストアのリストを取得します。
次のリクエストを行います。
GET /api/v1/datastores
例:
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/datastores
次のパラメーターを使用して、返されるレスポンスをフィルタリングできます。
パラメーター
説明
フィルター
サポートされるフィールドは
name
(データ・ストア名)です。次の演算がサポートされています。
等しい`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/datastores?filter=name= All Payouts Prior to Adjs
レスポンスボディで、取得するデータを含むデータ・ストアを見つけ、IDをメモします。
{ "parentBlockId": 127, "id": 17, "name": "DataStore CRM Opps Top 10 by AE", "isFavorite": false }, { "parentBlockId": 112, "id": 19, "name": "Adjustments to Commissions by Component", "isFavorite": false }, { "parentBlockId": 112, "id": 20, "name": "All Payouts Prior to Adjs", "isFavorite": false },
データ・ストアのデータ取得
次に、データ・ストアのデータ取得
の呼び出しから取得したIDを使用して、 Varicent Incentivesから計算データを取得します。
次のリクエストを行います。
GET /api/v1/datastores/{datastoreid}/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/datastores/20/data
次のパラメーターを使用して、返されるレスポンスをフィルタリングできます。
パラメーター
説明
オフセット
このパラメーターを
limit
パラメーターとともに使用して、レコードのグループを返します。デフォルトでは、オフセットはゼロ(0)に設定されています。例:
GET /api/v1/datastores/{datastoreid}/data
は、最初の行から始まる最初のグループ50行を返し、
GET /api/v1/datastores/{datastoreid}/data?offset=1
は次のグループの50行を返します。
リミット
このパラメーターを
offset
パラメーターとともに使用して、レコードのグループのみを返します。デフォルトでは、50行が返されます。例:
GET /api/v1/datastores/{datastoreid}/data?offset=0&limit=100
は、最初の100件のレコードを返し、
GET /api/v1/datastores/{datastoreid}/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/datastores/{datastoreid}/data?filter=PayeeID_=AE001
フィールド
このパラメーターは、出力結果を選択した列に制限するために使用されます。表示するフィールドのコンマ区切りリストを使用します。例:
fields=PayeeID_
。使用可能なすべてのフィールドにデフォルト設定されます。
レスポンスボディには、データ・ストアのデータが表示されます。
{ "columnDefinitions": [ { "name": "PayeeID", "type": "String", "isKey": true, "nullable": false }, { "name": "AttributeID", "type": "String", "isKey": true, "nullable": false }, { "name": "CompPlanID", "type": "String", "isKey": true, "nullable": false }, { "name": "Periods", "type": "String", "isKey": true, "nullable": false }, { "name": "Value", "type": "Decimal", "isKey": false, "nullable": false }, { "name": "Description", "type": "String", "isKey": false, "nullable": false } ], "data": [ [ "AE001", "KPI PERIODIC PAYOUT [ACTUALS]", "AE", "2017-01 JAN", 2214.597, "KPI - Strategic Product" ], [ "AE001", "KPI PERIODIC PAYOUT [ACTUALS]", "AE", "2017-02 FEB", 2286.102, "KPI - Strategic Product" ],