Skip to main content

データ・ストアのデータ取得のチュートリアル

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

前提条件

  • データ・ストアが作成されている。データ・ストアの作成についての詳細は、データ・ストアを参照してください。

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

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

概要

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

データ・ストアリストを取得

この呼び出しは、取得するデータを含むデータ・ストアのIDを取得します。

データ・ストアのデータ取得

この呼び出しは、 データ・ストアからデータを取得します。

データ・ストアIDの取得

まず、Varicent IncentivesREST API呼び出しを使用して、すべてのデータ・ストアのリストを取得します。

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

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

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

    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_

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

  2. レスポンスボディには、データ・ストアのデータが表示されます。

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