השתמש msdyn_invokeCaseProcessingAgent כדי להפעיל סוכן ניהול רישיות

השתמש באירוע העסקי msdyn_invokeCaseProcessingAgent כדי להפעיל את סוכן ניהול האירועים כדי לבצע את הפעולות הבאות:

  • לחלץ מידע מישות מקור כגון הודעת דואר אלקטרוני ולעדכן את האירוע בפרטים רלוונטיים.
  • לפתור אירוע ספציפי.

אתה יכול להשתמש בזה כדי להרחיב אוטומציית תיקים מעבר לטריגרים המוגדרים כברירת מחדל. לדוגמה, באפשרותך להפעיל סוכן ניהול אירועים כאשר לקוח יוצר אירוע מתוך פורטל חיצוני, או כאשר אירוע CRUD מתרחש בטבלה מותאמת אישית, כגון קבלות חדשות שנוספו לאירוע.

דרישות מוקדמות

בקשת HTTP

POST [Organization URI]/api/data/v9.2/msdyn_invokeCaseProcessingAgent

גוף בקשה

מאפיין‬ סוג נדרש תיאור
msdyn_incidentId מחרוזת ‏‏כן‬ מזהה האירוע (מקרה) שבו אמור לפעול סוכן ניהול האירועים.
דוגמה"3895d023-a353-f011-877b-6045bd062e87"
msdyn_actions מערך JSON מומר למחרוזת ‏‏כן‬ מגדיר אילו פעולות/יכולות של סוכן ניהול רישיות יש לבצע. עיין בפרטים שלהלן.

msdyn_actions אובייקט מערך

מאפיין‬ סוג נדרש תיאור
פעולה מחרוזת ‏‏כן‬ מגדיר את פעולת עיבוד המקרים להפעלה.
ערכים:
  • פתור: פתור את המקרה באמצעות יכולות הפתרון של סוכן ניהול רישיות.
  • העשרת: חילוץ מידע מישות מקור, כגון הודעת דואר אלקטרוני, ומעדכן את האירוע בפרטים רלוונטיים.
    ישות המקור חייבת להיות נגישה ולהכיל פרטי אירוע רלוונטיים
אוטומציהרמה מחרוזת לא הגדרת מצב אוטומציה עבור הפעולה. הדבר חל על פתרון אירוע בלבד. אם ערך זה אינו מסופק, הסוכן משתמש במצב שהוגדר על-ידי מנהל המערכת.
ערכים:
  • מלא: סוכן בינה מלאכותית פותר את המקרה באופן אוטומטי ללא התערבות של נציג שירות לקוחות (נציג שירות או נציג).
  • ,
  • Semi: סוכן בינה מלאכותית מכין טיוטות של הודעות דואר אלקטרוני לפתרון, אך דורש סקירה ואישור של נציג שירות
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 סטנדרטית.

קוד לדוגמה

בדוגמה שלהלן, באפשרותך להפעיל סוכן ניהול רישיות מתוך יישומי Plug-in של 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();