Skip to main content

This script will be expose all workday webservice operations

Project description

Workday Webservice client

This project will include clients for all the operations defined in Workday Public Webservices (WWS)

PyPI version Build Status

Installation

Run following comand to install:

pip install wwsclient

Usage

GetWorkers

from wwsclient.client import get_client
from wwsclient.service import get_method

tenant_host = 'https://wd2-impl-services1.workday.com'
tenant_id = 'tenantID'
webservice = 'Human_Resources'
version = 'v35.0'
username = 'Integration System User@tenantID'
password = 'Password'

# get client.py
client = get_client(tenant_host, tenant_id, webservice, version, username, password)
request = {
    "Request_Criteria": {
        "Transaction_Log_Criteria_Data": [{
            "Transaction_Date_Range_Data": {
                "Updated_From": "1970-01-01T00:00:00",
                "Updated_Through": "2021-03-01T14:55:00.000+05:00",
                "Effective_From": "2021-01-01T14:45:00.000+05:00",
                "Effective_Through": "2021-03-01T14:55:00.000+05:00"
            }
        },
            {
                "Transaction_Date_Range_Data": {
                    "Updated_From": "2021-01-01T14:45:00.000+05:00",
                    "Updated_Through": "2021-03-01T14:55:00.000+05:00",
                    "Effective_From": "1970-01-01T00:00:00",
                    "Effective_Through": "2021-03-01T14:55:00.000+05:00"
                }
            }
        ]
    },
    "Response_Group": {
        "Include_Reference": True,
        "Include_Personal_Information": True,
        "Include_Employment_Information": True
    }
}
xslt_code = '''<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc" exclude-result-prefixes="xs wd env" version="2.0"><xsl:output method="xml" indent="yes"></xsl:output><xsl:template match="env:Envelope/env:Body"><root><Total_Results><xsl:value-of select="*/wd:Response_Results/wd:Total_Results"/></Total_Results><Total_Pages><xsl:value-of select="*/wd:Response_Results/wd:Total_Pages"/></Total_Pages><Page_Results><xsl:value-of select="*/wd:Response_Results/wd:Page_Results"/></Page_Results><Page><xsl:value-of select="*/wd:Response_Results/wd:Page"/></Page><records><xsl:for-each select="*/wd:Response_Data/wd:Worker"><record><workday_id><xsl:value-of select="wd:Worker_Reference/wd:ID[@wd:type='WID']"/></workday_id><employee_id><xsl:value-of select="wd:Worker_Data/wd:Worker_ID"/></employee_id><formatted_name><xsl:value-of select="wd:Worker_Data/wd:Personal_Data/wd:Name_Data/wd:Legal_Name_Data/wd:Name_Detail_Data/@wd:Formatted_Name"/></formatted_name></record></xsl:for-each></records></root></xsl:template></xsl:stylesheet>'''
operation = "Get_Workers"
get_workers_result = get_method(client, request, xslt_code, operation, True)

Create_Position

from wwsclient.client import get_client
from wwsclient.service import crud_method

tenant_host = 'https://wd2-impl-services1.workday.com'
tenant_id = 'tenantID'
webservice = 'Recruiting'
version = 'v35.0'
username = 'Integration System User@tenantID'
password = 'Password'

# get client.py
client = get_client(tenant_host, tenant_id, webservice, version, username, password)
request = {
    "Business_Process_Parameters": {
        "Auto_Complete": True,
        "Run_Now": True
    },
    "Create_Position_Data": {
        "Supervisory_Organization_Reference": [{
            "ID": [{
                "type": "Organization_Reference_ID",
                "_value_1": "Human_Resources_supervisory"
            }]
        }],
        "Position_Data": {
            "Job_Posting_Title": "Technical Recruiter Python"
        },
        "Position_Group_Restrictions_Data": {
            "Availability_Date": "2019-10-20",
            "Earliest_Hire_Date": "2019-10-20"
        },
        "Edit_Assign_Organization_Sub_Process": {
            "Business_Sub_Process_Parameters": {
                "Auto_Complete": True
            },
            "Position_Organization_Assignments_Data": {
                "Company_Assignments_Reference": [{
                    "ID": [{
                        "type": "Company_Reference_ID",
                        "_value_1": "GMS_USA_company"
                    }]
                }],
                "Cost_Center_Assignments_Reference": [{
                    "ID": [{
                        "type": "Organization_Reference_ID",
                        "_value_1": "10000"
                    }]
                }],
                "Region_Assignments_Reference": [{
                    "ID": [{
                        "type": "Region_Reference_ID",
                        "_value_1": "USA_NE_Region"
                    }]
                }]
            }
        }

    }
}
operation = "Create_Position"
get_workers_result = crud_method(client, request, operation)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wwsclient-0.0.1.2.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wwsclient-0.0.1.2-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file wwsclient-0.0.1.2.tar.gz.

File metadata

  • Download URL: wwsclient-0.0.1.2.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.1

File hashes

Hashes for wwsclient-0.0.1.2.tar.gz
Algorithm Hash digest
SHA256 fc8059990347c5ca9865bb3a6b6f5e1fd00f3f06fd83b0026157599ddf9ecfc6
MD5 1fc5df681dd77abe6b07431951332670
BLAKE2b-256 13e290d8482038c3002d86747f1e1f61160317cf6d6868dec372768ac2f229c0

See more details on using hashes here.

File details

Details for the file wwsclient-0.0.1.2-py3-none-any.whl.

File metadata

  • Download URL: wwsclient-0.0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.1

File hashes

Hashes for wwsclient-0.0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1ffb1a2e086b02a7318811e39fb47f4c24b0d75ae5302df37d595f0b2bd2f01b
MD5 d2c1c96b589b6f92cf6439ba138f604a
BLAKE2b-256 325853a0b8017dc40d95920700147f901ca195a47e73b8a39b27fd2593a9be62

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page