Workday Create_Job_Requisition操作API端点及Python连接串构建咨询
Workday Create_Job_Requisition API 问题解答
1. Create_Job_Requisition 的正确API端点
Workday Staffing服务中,Create_Job_Requisition操作的SOAP API端点格式为:
https://<你的租户名>.workday.com/ccx/service/<你的租户名>/Staffing/v<版本号>/Create_Job_Requisition
你之前的链接缺少末尾的/Create_Job_Requisition操作名称,这是返回"The requested resource could not be found."的核心原因。额外注意:
- 替换
<你的租户名>为实际租户标识(比如你链接里的XXXXXXX) - 版本号要与你的Workday租户版本兼容(比如v39.2,需确认租户支持该版本)
2. Python中构建连接并调用API的示例
使用requests库实现Basic Auth认证并发送SOAP请求(ccx/service端点属于Workday SOAP Web Service):
步骤1:安装依赖
pip install requests
步骤2:代码示例
import requests from requests.auth import HTTPBasicAuth # 配置参数 tenant = "XXXXXXX" # 替换为你的租户名 api_version = "v39.2" username = "你的ISU用户名" password = "你的ISU密码" # 构造完整端点 endpoint = f"https://{tenant}.workday.com/ccx/service/{tenant}/Staffing/{api_version}/Create_Job_Requisition" # SOAP请求体(需根据Workday XSD定义调整字段,以下为模板) soap_body = """ <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bsvc="urn:com.workday/bsvc"> <soapenv:Header/> <soapenv:Body> <bsvc:Create_Job_Requisition_Request> <bsvc:Business_Process_Parameters> <bsvc:Auto_Complete>true</bsvc:Auto_Complete> <bsvc:Run_Now>true</bsvc:Run_Now> </bsvc:Business_Process_Parameters> <bsvc:Job_Requisition_Data> <!-- 填写职位申请的具体字段,需参考Workday官方文档的字段定义 --> <bsvc:Job_Profile_Reference> <bsvc:ID bsvc:type="Job_Profile_ID">你的职位配置文件ID</bsvc:ID> </bsvc:Job_Profile_Reference> <bsvc:Position_Title>测试开发工程师</bsvc:Position_Title> <bsvc:Recruiting_Organization_Reference> <bsvc:ID bsvc:type="Organization_ID">你的招聘部门ID</bsvc:ID> </bsvc:Recruiting_Organization_Reference> <!-- 补充其他必填字段 --> </bsvc:Job_Requisition_Data> </bsvc:Create_Job_Requisition_Request> </soapenv:Body> </soapenv:Envelope> """ # 设置请求头 headers = { "Content-Type": "text/xml;charset=UTF-8", "SOAPAction": "urn:com.workday/bsvc/Create_Job_Requisition" } # 发送请求 try: response = requests.post( endpoint, auth=HTTPBasicAuth(username, password), headers=headers, data=soap_body ) response.raise_for_status() print("请求成功,响应内容:") print(response.text) except requests.exceptions.RequestException as e: print(f"请求失败:{e}") if response: print(f"响应状态码:{response.status_code}") print(f"响应内容:{response.text}")
关键注意点
- 必须根据对应版本的Workday Staffing API文档完善SOAP请求体的必填字段,否则会返回参数错误
- ISU用户需要拥有
Create Job Requisition的权限,否则会触发权限不足的错误 - 确认你的租户支持指定的API版本(v39.2)
内容的提问来源于stack exchange,提问作者phong dang
相关产品推荐
相关产品推荐

