Skip to main content

計算データ取得のチュートリアル

このチュートリアルでは、Varicent IncentivesREST APIを使用して、モデルの特定の計算から結果を取得します。

前提条件

  • 計算が作成されている。計算の作成の詳細は、計算作成を参照してください。

  • 完全なモデル計算を実行し、モデルの結果が最新のものであることを確認している。

  • ???の説明どおり、Varicent APIキーが取得されている。

概要

このチュートリアルでは、次のREST API呼び出しを使用してデータを取得します。

計算リストを取得

この呼び出しは、取得するデータを含む計算のIDを取得します。

計算データを取得

この呼び出しは、計算からデータを取得します。

計算IDの取得

まず、Varicent IncentivesREST API呼び出しを使用して、すべての計算のリストを取得します。

  1. 次のリクエストを行います。

    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
  2. レスポンスボディで、取得するデータを含む計算を検索し、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から計算データを取得します。

  1. 次のリクエストを行います。

    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_

    使用可能なすべてのフィールドにデフォルト設定されます。

  2. レスポンスボディには、計算データが表示されます。

    {
        "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
            ],