Passer au contenu principal
Administrator Guide
Dernière mise à jour : 2026-03-13
Référence : API REST WQL

Référence : API REST WQL

Utilisez l' API REST WQL pour retourner :
  • Une liste des sources de données et des filtres de source de données .
  • Détails sur une source de données précise .
  • Les objets de gestion principaux pour une source de données précise .
  • Champs dans une source de données.
  • L’ objet de gestion connexe pour un champ précis.
Vous pouvez utiliser les informations de la réponse pour construire une demande WQL dans :
  • Le
    query
    paramètre de
    GET /data
    point de terminaison.
  • Le corps de la demande
    POST /data
    point de terminaison.
Avant de créer votre demande, vous pouvez passer des appels avec
GET /dataSources/
Et
GET /dataSources/{ID}
points de terminaison pour vérifier les bons noms alias à utiliser.
Les hôtes défini par le locataire et la passerelle API de la plateforme Workday Cloud Platform (WCP) prennent en charge les demandes WQL. Selon l'endroit d'où vous effectuez des demandes WQL, l'adresse URL de base que vous utilisez diffère.
Source de demande WQL
Adresse URL de base à utiliser
hôte défini par le locataire Workday
https://{hostname}/api/wql/{version}/{tenant}
Passerelle API de WCP
https://api.workday.com/wql/{version}

GET /data

Renvoie les données d’une interrogation WQL. Utilisez cette demande pour les requêtes contenant moins de 2 048 caractères. Vous ne pouvez afficher que des données pour lesquelles vous disposez d’un accès de sécurité. Vous exécutez WQL à l'aide de
query
 paramètre.
Syntaxe :
{baseURL}/data?query={myquery}
Exemple de requête :
{baseURL}/data?query=SELECT location, max(yearsOfService) FROM allWorkers GROUP BY location
Exemple de réponse JSON :
{ "total": 152, "data": [ { "location": { "descriptor": "Academic Location WATS 1", "id": "5403216f5ef810381796f3bb216504f5" }, "max(yearsOfService)": "20" }, ... ] }
Workday efface les résultats de l'interrogation WQL mis en cache après 30 minutes. Pour effacer le cache manuellement, vous pouvez ajouter
offset=0
à votre interrogation. Exemple :
{baseURL}/data?offset=0&query=SELECT firstName, location FROM allWorkers

POST /data

Renvoie les données d’une interrogation WQL. Utilisez cette demande pour des interrogations contenant entre 2 048 et 16 000 caractères. Vous ne pouvez afficher que des données pour lesquelles vous disposez d’un accès de sécurité. Vous exécutez WQL à l'aide de
query
 paramètre. Placez le
query
paramètre et requête dans le corps de la demande de l'appel API .
Syntaxe :
{baseURL}/data/
Exemple du corps de la demande :
{ "query" : "
SELECT location, max(yearsOfService) FROM allWorkers GROUP BY location
" }
Exemple de réponse JSON :
{ "total": 152, "data": [ { "location": { "descriptor": "Academic Location WATS 1", "id": "5403216f5ef810381796f3bb216504f5" }, "max(yearsOfService)": "20" }, ... ] }

GET /dataSources

Retourne :
  • Ensemble de sources de données à utiliser dans une interrogation WQL.
  • L’ objet de gestion principal pour les sources de données.
  • Information sur l’indexation des sources de données.
Syntax:
{baseURL}/dataSources/
Exemple de requête :
{baseURL}/dataSources
Exemple de réponse JSON :
{ "total": 1722, "data": [ { "id": "aae24a47e36110000a37dcb7628d000d", "descriptor": "Indexed In Progress ~Worker~ Calibration Placements", "alias": "indexedInProgressWorkerCalibrationPlacements", "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.", "primaryBusinessObject": { "descriptor": "Indexed In Progress ~Worker~ Calibration Placements", "id": "aae24a47e36110000a37dd177601000e" }, "dataSourceIndexType": "Indexed" }, …… ] }
Exemple de requête avec filtre facultatif. Retourne les sources de données indexées lorsque le filtre « SourceIndexType » = Indexed est utilisé. :
{baseURL}/dataSources?SourceIndexType=Indexed
Exemple de réponse JSON :
{ "total": 35, "data": [ { "id": "aae24a47e36110000a37dcb7628d000d", "descriptor": "Indexed In Progress ~Worker~ Calibration Placements", "alias": "indexedInProgressWorkerCalibrationPlacements", "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.", "primaryBusinessObject": { "descriptor": "Indexed In Progress ~Worker~ Calibration Placements", "id": "aae24a47e36110000a37dd177601000e" }, "dataSourceIndexType": "Indexed" }, …… ] }

GET /dataSources/{ID}

Renvoie une source de données pour l'identifiant précisé à utiliser dans une interrogation WQL. La demande retourne également l' objet de gestion principal pour la source de données.
Syntax:
{baseURL}/dataSources/‹datasource_wid›
Exemple de requête :
{baseURL}/dataSources/aae24a47e36110000a37dcb7628d000d
Exemple de réponse JSON :
{ "id": "aae24a47e36110000a37dcb7628d000d", "descriptor": "Indexed In Progress ~Worker~ Calibration Placements", "optionalParameters": [ { "label": "Include ~Terminated~ ~Workers~", "alias": "includeTerminatedWorkers", "type": "Boolean" }, ... ], "supportsEntryDate": 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.", "supportsEffectiveDate": false, "alias": "indexedInProgressWorkerCalibrationPlacements", "dataSourceIndexType": "Indexed", "requiredParameters": [ { "label": "Calibration Node for nBox", "type": "Multi-instance", "alias": "calibrationNodeForNBox" } ], "fullAlias": "my::indexedInProgressWorkerCalibrationPlacements", "filterIsRequired": false, "primaryBusinessObject": { "descriptor": "Indexed In Progress ~Worker~ Calibration Placements", "id": "aae24a47e36110000a37dd177601000e" } }

GET /dataSources/{ID}/fields

Renvoie les champs d'une source de données précise à utiliser dans une interrogation WQL. La demande retourne également l’ objet de gestion connexe pour chaque champ.
Syntaxe :
{baseURL}/dataSources/‹datasource_wid›/fields
Exemple de requête :
{baseURL}/datasources/aae24a47e36110000a37dcb7628d000d/fields
Exemple de réponse 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}

Renvoie les détails d'un champ particulier lorsque l'identifiant du champ est défini comme
{subresourceID}
le La demande retourne également l’ objet de gestion connexe pour chaque champ.
Syntaxe :
{baseURL}/dataSources/‹datasource_wid›/fields/{subresourceID}
Exemple de requête :
{baseURL}/dataSources/7884e9fbf68c10000b2b632e6e0100f1/fields/bb4ed38524451000419c823f09ba1587
Exemple de réponse JSON :
{ "id": "bb4ed38524451000419c823f09ba1587", "descriptor": "ACA IRS 1094-C Reporting - ~Worker~ Included in Full Time Count for September", "type": "Boolean", "alias": "ACAIRS1094_CReporting_WorkerIncludedInFullTimeCountForSeptember", "requiredParameters": [ { "alias": "yearForIRSReporting", "label": "Year", "type": "Single Instance" }, { "type": "Single Instance", "alias": "companyWith1094_CCountDataAvailableForYearSelection", "label": "Company with 1094-c Count Data Available for Year Selection" } ], "optionalParameters": [ { "type": "Single Instance", "alias": "month", "label": "Month" } ] }

GET /dataSources/{ID}/dataSourceFiltres

Renvoie les filtres de source de données pour une source de données précise à utiliser dans une interrogation WQL.
Syntaxe :
{baseURL}/dataSources/‹datasource_wid›/dataSourceFilters
Exemple de requête :
{baseURL}/dataSources/6d34556ff015100012a60a4bb1ce0b92/dataSourceFilters
Exemple de réponse 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" }, ... ] }