แชร์ผ่าน


ส่งคำขอลางานไปที่ลำดับงาน

ใช้กับแอป 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} ต้องมีรหัสเหตุผล เลือกชนิดและรหัสเหตุผลที่เหมาะสม
  • การหมดเวลาไม่ถูกส่งเรียบร้อยแล้ว การหยุดพักถูกบันทึกเป็นคำขอฉบับร่าง

ดูเพิ่มเติมที่