หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
msdyn_invokeCaseProcessingAgentใช้เหตุการณ์ธุรกิจเพื่อกระตุ้นตัวแทนจัดการเคสให้ทำสิ่งต่อไปนี้:
- แยกข้อมูลจากเอนทิตีต้นทาง เช่น อีเมล และอัปเดตกรณีที่มีรายละเอียดที่เกี่ยวข้อง
- แก้ไขเคสเฉพาะ
คุณสามารถใช้สิ่งนี้เพื่อขยายการทํางานอัตโนมัติของกรณีนอกเหนือจากทริกเกอร์เริ่มต้น ตัวอย่างเช่น คุณสามารถเรียกใช้ตัวแทนการจัดการกรณีและปัญหาเมื่อลูกค้าสร้างกรณีจากพอร์ทัลภายนอก หรือเมื่อมีเหตุการณ์ CRUD เกิดขึ้นในตารางแบบกําหนดเอง เช่น ใบเสร็จใหม่ที่เพิ่มลงในกรณีและปัญหา
ข้อกำหนดเบื้องต้น
- กําหนดค่าเอเจนต์การจัดการกรณีแล้ว
- ตรวจสอบให้แน่ใจว่าได้ติดตั้ง
Microsoft.CrmSdk.CoreAssemblies,Newtonsoft.Json, และMicrosoft.Xrm.Tooling.Connector.dllจาก Microsoft.CrmSdk.CoreTools แล้ว
การร้องขอทาง HTTP
POST [Organization URI]/api/data/v9.2/msdyn_invokeCaseProcessingAgent
เนื้อหาของคำขอ
| คุณสมบัติ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
| msdyn_incidentId | สตริง | ใช่ | ID ของกรณี (เหตุการณ์) ที่ตัวแทนการจัดการเหตุการณ์ควรทํางาน ตัวอย่าง: "3895d023-a353-f011-877b-6045bd062e87" |
| msdyn_actions | อาร์เรย์ JSON ที่จําแนกเป็นสตริง | ใช่ | กำหนดการกระทำหรือความสามารถของตัวแทนการจัดการกรณีที่จะดำเนินการ ดูรายละเอียดด้านล่าง |
ออบเจ็กต์อาร์เรย์ msdyn_actions
| คุณสมบัติ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
| การเคลื่อนไหว | สตริง | ใช่ | กําหนดการดําเนินการประมวลผลกรณีที่จะเรียกใช้ ค่า:
|
| automationLevel | สตริง | ไม่ | กําหนดโหมดการทํางานอัตโนมัติสําหรับการดําเนินการ ใช้สำหรับการแก้ไขเคสเท่านั้น ถ้าไม่ได้ระบุค่านี้ ตัวแทนจะใช้โหมดที่กําหนดค่าโดยผู้ดูแลระบบ ค่า:
|
| sourceContextEntity | สตริง | ใช่ | นี่คือค่าที่จำเป็นสำหรับการเสริมกรณีและเป็นตัวเลือกเพิ่มเติมสำหรับการแก้ไขกรณี เอนทิตีแหล่งข้อมูล เช่น อีเมลหรือการสนทนาที่ต้องใช้เพื่ออัปเดตกรณี ตัวอย่าง: "emails(0e20cf92-f663-f011-bec1-000d3a3622ba)" |
คำขอตัวอย่าง
{
"msdyn_incidentId": "5ad2ac2c-6363-f011-bec2-6045bd026457",
"msdyn_actions": "[{\"action\":\"enrich\",\"sourceContextEntity\":\"emails(0e20cf92-f663-f011-bec1-000d3a3622ba)\"},{\"action\":\"resolve\",\"automationLevel\":\"Full\"}]"
}
การตอบสนอง
-
ความสําเร็จ: ส่งกลับ HTTP
204 No Contentด้วยเนื้อความที่ว่างเปล่า - ความล้มเหลว: การตอบกลับข้อผิดพลาดมาตรฐานของ OData
โค้ดตัวอย่าง
ในตัวอย่างด้านล่าง คุณสามารถเรียกใช้ตัวแทนการจัดการกรณีและปัญหาจากปลั๊กอิน Dataverse หรือรหัสแบบกําหนดเองโดยการดําเนินการ msdyn_invokeCaseProcessingAgent ตามคําขอขององค์กร ตัวแทนถูกใช้เพื่ออัปเดตกรณีโดยใช้เอนทิตีอีเมลที่เกี่ยวข้อง แล้วแก้ไขปัญหากรณีด้วยระบบอัตโนมัติเต็มรูปแบบ
ตัวอย่างที่ 1
CrmServiceClient GetService()
{
string orgUrl = "";
string username = "";
string connectionString = $"AuthType=OAuth;Username={username};Url={orgUrl};AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;RedirectUri=http://localhost;LoginPrompt=Auto";
CrmServiceClient svc = new CrmServiceClient(connectionString);
return svc;
}
public class InvokeCaseProcessingAgentRequest
{
[JsonProperty("msdyn_incidentId")]
public string incidentid { get; set; }
[JsonProperty("msdyn_actions")]
public List<AgentAction> actions { get; set; }
}
public class AgentAction
{
[JsonProperty("action")]
public AgentActionType action { get; set; }
[JsonProperty("sourceContextEntity")]
public string sourceContextEntity { get; set; }
[JsonProperty("automationLevel")]
public AutomationLevel? automationLevel { get; set; }
}
[JsonConverter(typeof(StringEnumConverter))]
public enum AgentActionType
{
[EnumMember(Value = "enrich")]
Enrich,
[EnumMember(Value = "resolve")]
Resolve
}
[JsonConverter(typeof(StringEnumConverter))]
public enum AutomationLevel
{
[EnumMember(Value = "Full")]
Full,
[EnumMember(Value = "Semi")]
Semi
}
void Main()
{
var service = GetService();
var actions = new List<AgentAction>()
{
new AgentAction()
{
action = AgentActionType.Enrich,
sourceContextEntity = "emails(0e20cf92-f663-f011-bec1-000d3a3622ba)"
},
new AgentAction()
{
action = AgentActionType.Resolve,
automationLevel = AutomationLevel.Full
},
};
var req = new OrganizationRequest("msdyn_invokeCaseProcessingAgent")
{
["msdyn_incidentId"] = new Guid("8f2db50d-0c64-f011-bec2-000d3a3b776a"),
["msdyn_actions"] = JsonConvert.SerializeObject(actions)
};
service.Execute(req);
}
ตัวอย่างที่ 2
function invokeCaseManagementAgent() {
var data = JSON.stringify({
"msdyn_incidentId": "020edf2f-7d3f-4a69-bd26-030736604eeb",
"msdyn_actions": "[{\"action\":\"enrich\",\"sourceContextEntity\":\"emails(0e20cf92-f663-f011-bec1-000d3a3622ba)\"},{\"action\":\"resolve\",\"automationMode\":\"Full\"}]"
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", Xrm.Utility.getGlobalContext().getClientUrl()+"/api/data/v9.2/msdyn_invokeCaseProcessingAgent");
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.setRequestHeader("Accept", "*/*");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(data);
}
invokeCaseManagementAgent();