Χρήση msdyn_invokeCaseProcessingAgent για κλήση του παράγοντα διαχείρισης υποθέσεων

Χρησιμοποιήστε το msdyn_invokeCaseProcessingAgent επιχειρηματικό συμβάν για να ενεργοποιήσετε τον Παράγοντα διαχείρισης υποθέσεων για να κάνετε τα εξής:

  • Εξαγάγετε πληροφορίες από μια οντότητα προέλευσης, όπως ένα μήνυμα ηλεκτρονικού ταχυδρομείου, και ενημερώστε την υπόθεση με σχετικές λεπτομέρειες.
  • επίλυση μιας συγκεκριμένης υπόθεσης.

Μπορείτε να το χρησιμοποιήσετε αυτό για να επεκτείνετε την αυτοματοποίηση υποθέσεων πέρα από τα προεπιλεγμένα εναύσματα. Για παράδειγμα, μπορείτε να καλέσετε τον Παράγοντα διαχείρισης υποθέσεων όταν ένας πελάτης δημιουργεί μια υπόθεση από μια εξωτερική πύλη ή όταν παρουσιάζεται ένα συμβάν CRUD σε έναν προσαρμοσμένο πίνακα, όπως νέες αποδείξεις που προστίθενται σε μια υπόθεση.

Προαπαιτούμενα

Αίτηση HTTP

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

Σώμα αίτησης

Property Τύπος Υποχρεωτικό Περιγραφή
msdyn_incidentId String Ναι Το αναγνωριστικό της υπόθεσης (περιστατικό) στην οποία θα πρέπει να εκτελεστεί ο Παράγοντας διαχείρισης υποθέσεων.
Παράδειγμα: "3895d023-a353-f011-877b-6045bd062e87"
msdyn_actions Συμβολοσειρά από JSON πίνακα Ναι Καθορίζει ποιες ενέργειες/δυνατότητες του Παράγοντα διαχείρισης υποθέσεων θα εκτελεστούν. Παρακάτω μπορείτε να δείτε λεπτομέρειες.

αντικείμενο πίνακα msdyn_actions

Property Τύπος Υποχρεωτικό Περιγραφή
ενέργεια String Ναι Καθορίζει την ενέργεια επεξεργασίας υπόθεσης προς εκτέλεση.
Αξιεσ:
  • resolve: Επιλύστε την υπόθεση χρησιμοποιώντας τις δυνατότητες επίλυσης του Παράγοντα διαχείρισης υποθέσεων.
  • enrich: Εξάγει πληροφορίες από μια οντότητα προέλευσης, όπως ένα μήνυμα ηλεκτρονικού ταχυδρομείου, και ενημερώνει την υπόθεση με σχετικές λεπτομέρειες.
    Η οντότητα προέλευσης πρέπει να είναι προσβάσιμη και να περιέχει σχετικές πληροφορίες υπόθεσης
automationLevel String Αρ. Καθορίζει την κατάσταση αυτοματισμού για την ενέργεια. Αυτό ισχύει μόνο για την επίλυση υποθέσεων. Εάν αυτή η τιμή δεν παρέχεται, ο παράγοντας χρησιμοποιεί την κατάσταση λειτουργίας που έχει ρυθμιστεί από τον διαχειριστή.
Αξιεσ:
  • Πλήρης: Ο παράγοντας AI επιλύει την υπόθεση αυτόματα χωρίς παρέμβαση του αντιπροσώπου εξυπηρέτησης πελατών (αντιπρόσωπος εξυπηρέτησης ή αντιπρόσωπος).
  • ,
  • Ημι: Ο πράκτορας AI συντάσσει μηνύματα ηλεκτρονικού ταχυδρομείου επίλυσης, αλλά απαιτεί αναθεώρηση και έγκριση του αντιπροσώπου υπηρεσίας
sourceContextEntity String Ναι Αυτή είναι μια απαιτούμενη τιμή για τον εμπλουτισμό των υποθέσεων και προαιρετική για την επίλυση υποθέσεων. Η οντότητα προέλευσης, όπως ένα μήνυμα ηλεκτρονικού ταχυδρομείου ή μια συνομιλία που πρέπει να χρησιμοποιηθεί για την ενημέρωση της υπόθεσης.
Παράδειγμα: "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();