参考: WQL REST API
WQL REST API を使用して、以下を返すようにします。
- データ ソースおよびデータ ソース フィルタのリスト。
- 特定のデータ ソースに関する詳細。
- 特定のデータ ソースの主ビジネス オブジェクト。
- データ ソース内のフィールド
- 特定のフィールドの関連ビジネス オブジェクト。
- 次の基準queryのパラメータGET /dataエンドポイント
- のリクエスト本文POST /dataエンドポイント
GET /dataSources/
および GET /dataSources/{ID}
エンドポイントで、使用する正しいエイリアス名を確認する。
表示 参考: WQL エイリアス。
テナント ホストと Workday Cloud Platform (WCP) API ゲートウェイは、どちらも WQL リクエストをサポートしています。WQL リクエストをどこから作成するかによって、使用する基本 URL は異なります。
WQL リクエスト ソース
| 使用する基本 URL
|
|---|---|
Workday テナント ホスト | https://{hostname}/api/wql/{version}/{tenant}
|
WCP API ゲートウェイ | https://api.workday.com/wql/{version}
|
GET /data
WQL クエリーからデータを返します。このリクエストは、2,048 文字未満のクエリーに使用します。表示できるデータは、セキュリティ アクセス権を持つデータのみです。 次を使用して WQL を実行します:
query
パラメータ。構文:
{baseURL}/data?query={myquery}
クエリーの例:
{baseURL}/data?query=SELECT location, max(yearsOfService) FROM allWorkers GROUP BY location
JSON 応答の例:
{ "total": 152, "data": [ { "location": { "descriptor": "Academic Location WATS 1", "id": "5403216f5ef810381796f3bb216504f5" }, "max(yearsOfService)": "20" }, ... ] }
キャッシュされた WQL クエリーの結果は 15 分後にクリアされます。キャッシュを手動でクリアする場合は、以下を追加できます。
offset=0
をクエリーに追加します。例:{baseURL}/data?offset=0&query=SELECT firstName, location FROM allWorkers
POST /data
WQL クエリーからデータを返します。このリクエストは、2,048 文字から 16,000 文字までのクエリに使用します。 表示できるデータは、セキュリティ アクセス権を持つデータのみです。 次を使用して WQL を実行します:
query
パラメータ。配置 query
API 呼び出しのリクエスト本文に、 パラメータとクエリーが含まれています。構文:
{baseURL}/data/
リクエスト本文の例:
{ "query" : "SELECT location, max(yearsOfService) FROM allWorkers GROUP BY location" }
JSON 応答の例:
{ "total": 152, "data": [ { "location": { "descriptor": "Academic Location WATS 1", "id": "5403216f5ef810381796f3bb216504f5" }, "max(yearsOfService)": "20" }, ... ] }
GET /dataSources
WQL クエリーで使用するデータ ソースのコレクションを返します。このリクエストでは、データ ソースの主ビジネス オブジェクトも返されます。
構文:
{baseURL}/dataSources/
クエリーの例:
{baseURL}/dataSources
JSON 応答の例:
{ "total": 1722, "data": [ { "id": "6d34556ff015100012a60a4bb1ce0b92", "descriptor": "Student Applications", "alias": "studentApplications", "description": "Accesses the Student Application object and returns one row for each application. Includes data source filters with built-in prompts. You can use this data source to list student applications and related data." "primaryBusinessObject": { "Descriptor": "Student Application", "id": "8b7dc084c617100028ff0f3bdbf000ac" }, }, ... ] }
GET /dataSources/{ID}
WQL クエリーで使用する指定された ID のデータ ソースを返します。このリクエストでは、データ ソースの主ビジネス オブジェクトも返されます。
構文:
{baseURL}/dataSources/‹datasource_wid›
クエリーの例:
{baseURL}/dataSources/aae24a47e36110000a37dcb7628d000d
JSON 応答の例:
{ "id": "aae24a47e36110000a37dcb7628d000d", "descriptor": "Indexed In Progress ~Worker~ Calibration Placements", "primaryBusinessObject": { "descriptor": "Indexed In Progress ~Worker~ Calibration Placements", "id": "aae24a47e36110000a37dd177601000e" }, "requiredParameters": [...], "filterIsRequired": false, "optionalParameters": [...], "supportsEntryDate": false, "alias": "indexedInProgressWorkerCalibrationPlacements", "supportsEffectiveDate": false, "description": "Accesses a ~worker's~ in progress ~worker~ calibration event as the primary business object and the ~worker's~ attributes as the secondary business object. Returns the calibrated values specific to a ~worker~ for an in progress Calibration event." }
GET /dataSources/{ID}/fields
WQL クエリーで使用する特定のデータ ソースのフィールドを返します。このリクエストでは、各フィールドの関連ビジネス オブジェクトも返されます。
構文:
{baseURL}/dataSources/‹datasource_wid›/fields
クエリーの例:
{baseURL}/datasources/aae24a47e36110000a37dcb7628d000d/fields
JSON 応答の例:
{ "total": 2967, "data": [ { "id": "09d50672a44001ea5d41efcfd6419a00", "descriptor": "Trended Worker Org for Cost Center_Current_QA (tenant setup)", "alias": "cf_TrendedWorkerOrgForCostCenter_Current_QATenantSetup", "type": "Single instance", "relatedBusinessObject": { "descriptor": "Position Set", "id": "373872302e7e4afe96aa37c0dd93e53e" } },... ] }
GET /dataSources/{ID}/fields/{subresourceID}
フィールドの ID が次の値として指定されている場合、特定のフィールドの詳細を返します。
{subresourceID}
。このリクエストでは、各フィールドの関連ビジネス オブジェクトも返されます。構文:
{baseURL}/dataSources/‹datasource_wid›/fields/{subresourceID}
クエリーの例:
{baseURL}/dataSources/aae24a47e36110000a37dcb7628d000d/fields/09d50672a44001ea5d41efcfd6419a00
JSON 応答の例:
{ "id": "09d50672a44001ea5d41efcfd6419a00", "descriptor": "Trended Worker Org for Cost Center_Current_QA (tenant setup)", "relatedFields":[...] "relatedBusinessObject": { "descriptor": "Position Set", "id": "373872302e7e4afe96aa37c0dd93e53e" }, "type": "Single instance", "alias": "cf_TrendedWorkerOrgForCostCenter_Current_QATenantSetup" }
GET /dataSources/{ID}/dataSourceFilters
WQL クエリーで使用する特定のデータ ソースのデータ ソース フィルタを返します。
構文:
{baseURL}/dataSources/‹datasource_wid›/dataSourceFilters
クエリーの例:
{baseURL}/dataSources/6d34556ff015100012a60a4bb1ce0b92/dataSourceFilters
JSON 応答の例:
{ "total": 6, "data": [ { "id": "432abca0a751100008144ff171b8000a", "descriptor": "Student Applications for Admissions Cohort Finalize Decisions", "alias": "studentApplicationsForAdmissionsCohortFinalizeDecisions", "optionalParameters": [ { "type": "Single Instance", "description": "The Application Grouping for this Student Application.", "alias": "applicationGrouping" } ], "description": "Return Applications that are valid for Publication with this Cohort\n- has an Admissions Decision\n- Decisions Published Status is Confidential - For Internal Use Only\n- No Inactive Status" }, ... ] }