Skip to main content

テーブルデータ取得のチュートリアル

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

前提条件

  • テーブルを作成し、そのテーブルにデータをアップロードしている。テーブルの作成およびデータのアップロードの詳細は、テーブルを参照してください。

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

概要

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

テーブルリストを取得

この呼び出しは、取得するデータを含むテーブルの正確な名前を取得します。

入力フォームIDを取得

この呼び出しは、取得するデータを含むテーブルから入力フォームのIDを取得します。

テーブルデータを取得

この呼び出しは、テーブルからデータを取得します。

テーブル名の取得

まず、Varicent IncentivesREST API 呼び出しを使用して、すべてのテーブルのリストを取得し、データを取得するテーブルの名前を確認します。

データを取得するテーブルの名前がわかっている場合は、これらの手順をスキップできます。

注記

受け取り人テーブルやアカウントテーブルなどのシステムテーブルには、名前の末尾にアンダースコアが付きます。例:Payee_

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

    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

  2. レスポンスボディで、取得するデータを含むテーブルを見つけ、名前をメモします。

    },
    {
        "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)になり、次の手順をスキップできます。

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

    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件のレコードを返します。

  2. レスポンスボディで、取得するデータを含む入力フォームを検索し、IDをメモします。

    [
        {
            "id": 3,
            "currentName": "Payee Setup",
            "basedOnTable": "Payee_"
        },
        {
            "id": 0,
            "currentName": "Payee_ Default",
            "basedOnTable": "Payee_"
        }
    ]

テーブルデータの取得

次に、テーブルデータの取得呼び出しから取得したIDを使用して、Varicent Incentivesからテーブルデータを取得します。

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

    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

    このパラメーターは、有効日テーブルに使用されます。このパラメーターを空白のままにすると、すべてのデータを表示したり、日付を指定してその日付に有効なデータを表示したりできます。有効日のないテーブルの場合、このパラメーターは無視されます。

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

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