Workday
INFO
Le connecteur Workday est un connecteur de type Scripted API. Veuillez vous référer à la documentation du Script API pour plus de détails.
Le connecteur Workday permet la synchronisation des données entre Workday et RAC/M Identity. Pour ce faire, le connecteur utilise l'API SOAP de Workday. Il a été développé et testé avec la version 40 de l'API. La documentation de l'API est disponible au https://community.workday.com/sites/default/files/file-hosting/productionapi/Human_Resources/v40.0/Human_Resources.html.
Actuellement, le script ne supporte que les opérations de lecture sur l'objet "Worker". En particulier, l'appel effectué pour récupérer les utilisateurs est Get_Workers, documenté au https://community.workday.com/sites/default/files/file-hosting/productionapi/Human_Resources/v40.0/Get_Workers.html
Comme tous les scripts utilisés par le connecteur Scripted API, celui-ci peut être modifié pour répondre à des besoins spécifiques. Vous pouvez vous référer aux autres scripts de référence afin de voir comment les scripts peuvent être modifiés.
Configuration
Les paramètres suivants sont nécessaires:
| Configuration | Description |
|---|---|
| Script Path | Chemin vers le script Groovy. Ex: /usr/local/racm-identity/ICF/reference-scripts/scripted-api-1.9.0.0/workday.groovyVoir la section Création du script. |
| API URL | URL de l'API à laquelle se connecter. |
| Preferred Authentication Method | Méthode d'authentification à utiliser (oauth2) uniquement. |
| Authentication URL | URL utilisée pour l'authentification.(https://wd3-impl-services1.workday.com/ccx/service/{client}/Human_Resources/v43.2) |
| Custom Secret 1 à 5 | Secrets personnalisés pouvant être utilisés par le script, chiffrés et manipulés de manière sécurisée. |
| Custom Config 1 à 5 | Configurations personnalisées pouvant être utilisées par le script. |
| Custom Secret 2 | Optionnel: La configuration pourrait demander refresh_token avec la version 44.1 de Workday. Défini dans le script workday.groovy |
Configuration avancée
| Configuration | Description |
|---|---|
| Timeout | Délai d'attente en millisecondes. |
| Authentication URL | URL utilisée pour l'authentification. |
| Username | Nom d'utilisateur à utiliser pour l'authentification. |
| Password | Mot de passe à utiliser pour l'authentification. |
| User Token | Jeton utilisateur à utiliser pour l'authentification. |
| Thread Pool Size | Nombre de threads à utiliser pour les opérations concurrentes. Laisser vide pour utiliser tous les threads disponibles. |
| Time between retries | Temps d'attente avant qu'une requête HTTP ne soit réessayée. Laisser vide pour utiliser 500 ms par défaut. |
| Bearer Token | Le bearer token à utiliser pour l'authentification. |
Authentification
Le connecteur utilise le protocole OAuth2 pour s'authentifier auprès de l'API. Nous pouvons nous référer au connect scripté :
Fils d'exécution (Threads)
Le connecteur Workday supporte les opérations concurrentes. Pour ce faire, il utilise un groupement de fils d'exécution (Thread pool). Cela permet d'effectuer plusieurs appels à l'API en parallèle afin d'augmenter la performance. Cela est particulièrement utile lors de l'importation d'un très grand nombre d'utilisateurs. Le nombre de fils d'exécution à utiliser peut être configuré via le paramètre Thread Pool Size. Laissez ce paramètre vide pour utiliser tous les fils d'exécution disponibles.
Test avec curl avec un basic auth
- Remplacer {client} par le nom de votre instance client chez Workday.
- Remplacer {user} par votre nom de compte.
- Remplacer {password} par votre mot de passe.
curl -v -k -H "Content-Type: text/xml;charset=UTF-8" -H "SOAPAction: ''" -X POST --data '
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<env:Header>
<wsse:Security env:mustUnderstand="1">
<wsse:UsernameToken>
<wsse:Username>{user}@{client}</wsse:Username>
<wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</env:Header>
<env:Body>
<wd:Get_Workers_Request xmlns:wd="urn:com.workday/bsvc" wd:version="v43.2">
<wd:Request_Criteria>
<wd:Transaction_Log_Criteria_Data>
<wd:Transaction_Type_References>
</wd:Transaction_Type_References>
</wd:Transaction_Log_Criteria_Data>
<wd:Include_Subordinate_Organizations>true</wd:Include_Subordinate_Organizations>
<wd:Exclude_Inactive_Workers>true</wd:Exclude_Inactive_Workers>
<wd:Exclude_Employees>false</wd:Exclude_Employees>
<wd:Exclude_Contingent_Workers>true</wd:Exclude_Contingent_Workers>
</wd:Request_Criteria>
<wd:Response_Filter>
<wd:Page>1</wd:Page>
<wd:Count>1</wd:Count>
</wd:Response_Filter>
<wd:Response_Group>
<wd:Include_Reference>true</wd:Include_Reference>
<wd:Include_Personal_Information>true</wd:Include_Personal_Information>
<wd:Show_All_Personal_Information>true</wd:Show_All_Personal_Information>
<wd:Include_Additional_Jobs>true</wd:Include_Additional_Jobs>
<wd:Include_Employment_Information>true</wd:Include_Employment_Information>
<wd:Include_Compensation>true</wd:Include_Compensation>
<wd:Include_Organizations>true</wd:Include_Organizations>
<wd:Exclude_Organization_Support_Role_Data>true</wd:Exclude_Organization_Support_Role_Data>
<wd:Exclude_Location_Hierarchies>true</wd:Exclude_Location_Hierarchies>
<wd:Exclude_Cost_Centers>true</wd:Exclude_Cost_Centers>
<wd:Exclude_Cost_Center_Hierarchies>true</wd:Exclude_Cost_Center_Hierarchies>
<wd:Exclude_Companies>true</wd:Exclude_Companies>
<wd:Exclude_Company_Hierarchies>true</wd:Exclude_Company_Hierarchies>
<wd:Exclude_Matrix_Organizations>true</wd:Exclude_Matrix_Organizations>
<wd:Exclude_Pay_Groups>true</wd:Exclude_Pay_Groups>
<wd:Exclude_Regions>true</wd:Exclude_Regions>
<wd:Exclude_Region_Hierarchies>true</wd:Exclude_Region_Hierarchies>
<wd:Exclude_Supervisory_Organizations>true</wd:Exclude_Supervisory_Organizations>
<wd:Exclude_Teams>true</wd:Exclude_Teams>
<wd:Exclude_Custom_Organizations>true</wd:Exclude_Custom_Organizations>
<wd:Include_Roles>true</wd:Include_Roles>
<wd:Include_Management_Chain_Data>true</wd:Include_Management_Chain_Data>
<wd:Include_Multiple_Managers_in_Management_Chain_Data>true</wd:Include_Multiple_Managers_in_Management_Chain_Data>
<wd:Include_Benefit_Enrollments>true</wd:Include_Benefit_Enrollments>
<wd:Include_Benefit_Eligibility>true</wd:Include_Benefit_Eligibility>
<wd:Include_Related_Persons>true</wd:Include_Related_Persons>
<wd:Include_Qualifications>true</wd:Include_Qualifications>
<wd:Include_Employee_Review>true</wd:Include_Employee_Review>
<wd:Include_Goals>true</wd:Include_Goals>
<wd:Include_Development_Items>true</wd:Include_Development_Items>
<wd:Include_Skills>true</wd:Include_Skills>
<wd:Include_Photo>true</wd:Include_Photo>
<wd:Include_Worker_Documents>true</wd:Include_Worker_Documents>
<wd:Include_Transaction_Log_Data>true</wd:Include_Transaction_Log_Data>
<wd:Include_Subevents_for_Corrected_Transaction>true</wd:Include_Subevents_for_Corrected_Transaction>
<wd:Include_Subevents_for_Rescinded_Transaction>true</wd:Include_Subevents_for_Rescinded_Transaction>
<wd:Include_Succession_Profile>true</wd:Include_Succession_Profile>
<wd:Include_Talent_Assessment>true</wd:Include_Talent_Assessment>
<wd:Include_Employee_Contract_Data>true</wd:Include_Employee_Contract_Data>
<wd:Include_Contracts_for_Terminated_Workers>true</wd:Include_Contracts_for_Terminated_Workers>
<wd:Include_Collective_Agreement_Data>true</wd:Include_Collective_Agreement_Data>
<wd:Include_Probation_Period_Data>true</wd:Include_Probation_Period_Data>
<wd:Include_Extended_Employee_Contract_Details>true</wd:Include_Extended_Employee_Contract_Details>
<wd:Include_Feedback_Received>true</wd:Include_Feedback_Received>
<wd:Include_User_Account>true</wd:Include_User_Account>
<wd:Include_Career>true</wd:Include_Career>
<wd:Include_Account_Provisioning>true</wd:Include_Account_Provisioning>
<wd:Include_Background_Check_Data>true</wd:Include_Background_Check_Data>
<wd:Include_Contingent_Worker_Tax_Authority_Form_Information>true</wd:Include_Contingent_Worker_Tax_Authority_Form_Information>
<wd:Exclude_Funds>true</wd:Exclude_Funds>
<wd:Exclude_Fund_Hierarchies>true</wd:Exclude_Fund_Hierarchies>
<wd:Exclude_Grants>true</wd:Exclude_Grants>
<wd:Exclude_Grant_Hierarchies>true</wd:Exclude_Grant_Hierarchies>
<wd:Exclude_Business_Units>true</wd:Exclude_Business_Units>
<wd:Exclude_Business_Unit_Hierarchies>true</wd:Exclude_Business_Unit_Hierarchies>
<wd:Exclude_Programs>true</wd:Exclude_Programs>
<wd:Exclude_Program_Hierarchies>true</wd:Exclude_Program_Hierarchies>
<wd:Exclude_Gifts>true</wd:Exclude_Gifts>
<wd:Exclude_Gift_Hierarchies>true</wd:Exclude_Gift_Hierarchies>
<wd:Exclude_Retiree_Organizations>true</wd:Exclude_Retiree_Organizations>
</wd:Response_Group>
</wd:Get_Workers_Request>
</env:Body>
</env:Envelope>' "https://wd3-impl-services1.workday.com/ccx/service/{client}/Human_Resources/v43.2"