ส่งคำขอลางานไปที่ลำดับงาน
ใช้กับแอป Dynamics 365 เหล่านี้:
Human Resources
ใน Microsoft Dynamics 365 Human Resources คุณสามารถใช้ MyLeaveRequests submit() application programming interface (API) เพื่อส่งการร้องขอการลางานไปยังลดับงานได้ API นี้มีการเปิดเผยเป็นการดำเนินการบนเอนทิตี้ MyLeaveRequests OData
ข้อกำหนดเบื้องต้น
ต้องบันทึกการร้องขอการลางานไว้ในฐานข้อมูลและต้องเรียกผ่านเอนทิตี้ MyLeaveRequests
สิทธิ์การได้รับอนุญาต
ต้องมีสิทธิ์อย่างใดอย่างหนึ่งต่อไปนี้ในการเรียก API นี้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์และวิธีการเลือก ให้ดูที่ การรับรองความถูกต้อง
ชนิดสิทธิ์ | สิทธิ (จากสิทธิ์น้อยที่สุดไปยังสิทธิ์มากที่สุด) |
---|---|
มอบหมาย (บัญชีงานหรือโรงเรียน) | user_impersonation |
คำขอ HTTPS
POST https://{cluster}.hr.talent.dynamics.com/namespaces/{namespace_guid}/data/MyLeaveRequests(RequestId='{requestId}', LeaveType='{leaveType}', LeaveDate={leaveDate}, dataAreaId={dataArea})/Microsoft.Dynamics.DataEntities.submit?cross-company=true
คำขอสอดคล้องกับมาตรฐาน OData พารามิเตอร์ {requestId}, {leaveType}, {leaveDate} และ {dataArea} อ้างอิงถึงฟิลด์ที่ประกอบเป็นคีย์ธรรมชาติสำหรับเอนทิตี้ MyLeaveRequests
หมายเหตุ
ในขณะที่ฟิลด์สำหรับเอนทิตี้ MyLeaveRequests อ้างอิงถึงบรรทัดใดบรรทัดหนึ่งในการร้องขอการลางาน ให้เรียกการส่ง API จะส่งคำขอการลางานทั้งหมด (บรรทัดทั้งหมด) ไปยังลำดับงาน
ส่วนหัวของคำขอ
หัวข้อ | Value |
---|---|
การอนุญาต | ภาระ {token} (จำเป็น) |
เนื้อหา-ชนิด | แอปพลิเคชัน/json |
เนื้อหาของคำขอ
ห้ามจัดหาเนื้อหาของคำขอไว้สำหรับวิธีการนี้
การตอบสนอง
การตอบสนองที่สำเร็จอยู่เสมอคือการตอบสนอง 204 ไม่มีเนื้อหา
ผู้เรียกที่ไม่ไม่ได้รับอนุญาตได้รับข้อความ 401 โดยไม่ได้รับอนุญาต หรือ ไม่อนุญาตให้การตอบ 403
หากการส่งไม่ส 5 ครั้ง (ตัวอย่างเช่น เนื่องจากการตรวจสอบความถูกต้อง) การตอบ เป็นข้อผิดพลาด 500 เซิร์ฟเวอร์ และเนื้อหา การตอบ จะรวมออบเจ็กต์ JSON ที่มีรายละเอียดเพิ่มเติม
ตัวอย่าง
POST https://aos-rts-sf-550e5c091f6-prod-westus2.hr.talent.dynamics.com/namespaces/b2eb8003-334f-4a84-ab63-edbe23569090/data/MyLeaveRequests(RequestId='USMF-000065', LeaveType='Vacation', LeaveDate=2019-10-04T12:00:00Z, dataAreaId='USMF')/Microsoft.Dynamics.DataEntities.submit
{
"error": {
"code": "",
"message": "An error has occurred.",
"innererror": {
"message": "Exception occurred while executing action submit on Entity MyLeaveRequest: The request would put the 'Vacation' balance below the allowed minimum balance on 9/10/2019.",
"type": "System.InvalidOperationException",
"stacktrace": " at Microsoft.Dynamics.Platform.Integration.Services.OData.Action.ActionInvokable.Invoke() at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.ActionInvocation(ChangeOperationContext context, ActionInvokable action) at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.<>c__DisplayClass13_0.<ScheduleInvokable>b__0(ChangeOperationContext context) at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActions(ChangeOperationContext context) at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges() at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__3.MoveNext()"
}
}
}
การตรวจสอบความถูกต้องและข้อผิดพลาด
ในฐานะที่เป็นส่วนหนึ่งของการเรียกเพื่อส่ง API, ทรัพยากรบุคคลจะทำการตรวจสอบความถูกต้องของตรรกะทางธุรกิจก่อนที่จะส่ง ซึ่งช่วยให้มั่นใจว่าคำขอการลางานอยู่ในสถานะที่ถูกต้องสำหรับการส่ง ข้อความแสดงข้อผิดพลาดที่เป็นไปได้ที่คุณอาจได้รับในการตอบสนองถ้าการตรวจสอบความถูกต้องล้มเหลวดังนี้:
- คำขอจะวางยอดดุล '{LeaveTypeId}' อยู่ต่ำกว่ายอดดุลขั้นต่ำที่อนุญาตใน {date}
- ไม่สามารถส่งการร้องขอ การ หมดเวลาในรัฐที่เสร็จสมบูรณ์แล้ว
- ไม่สามารถส่งหรือบันทึกคำขอได้เนื่องจากไม่มีการเปลี่ยนแปลงใดๆ เพิ่มหรืออัปเดตจำนวนหรือชนิดการลางาน แล้วลองอีกครั้ง
- คำขอหยุดพักที่ป้อนไว้ประกอบด้วยวันอย่างน้อยหนึ่งวันที่มีวันที่เดียวกันและชนิดลาเป็นคำขอที่ค้างอยู่ที่มีอยู่ เรียกคืนการร้องขอที่มีอยู่เพื่อเปลี่ยนแปลง
- รหัสเหตุผล '{ReasonCodeId}' ไม่ใช้กับชนิดการลางานใดๆ ในคำขอ
- ชนิดการลา '{LeaveTypeId} ต้องมีรหัสเหตุผล เลือกชนิดและรหัสเหตุผลที่เหมาะสม
- การหมดเวลาไม่ถูกส่งเรียบร้อยแล้ว การหยุดพักถูกบันทึกเป็นคำขอฉบับร่าง