Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie das Geschäftsereignis, um den msdyn_invokeCaseProcessingAgent Fallverwaltungs-Agent auszulösen, um Folgendes auszuführen:
- Extrahieren Sie Informationen aus einer Quellentität, z. B. einer E-Mail, und aktualisieren Sie den Fall mit relevanten Details.
- lösen Sie ein spezifisches Problem.
Sie können dies verwenden, um die Fallautomatisierung über die Standardtrigger hinaus zu erweitern. Sie können beispielsweise den Fallverwaltungs-Agent aufrufen, wenn ein Kunde einen Fall aus einem externen Portal erstellt oder wenn ein CRUD-Ereignis in einer benutzerdefinierten Tabelle auftritt, z. B. neue Bestätigungen, die einem Fall hinzugefügt wurden.
Voraussetzungen
- Der Fallverwaltungs-Agent ist konfiguriert.
- Stellen Sie sicher, dass
Microsoft.CrmSdk.CoreAssemblies,,Newtonsoft.Jsonund [Microsoft.Xrm.Tooling.Connector.dllvon Microsoft.CrmSdk.CoreTools installiert sind.
HTTP-Anforderung
POST [Organization URI]/api/data/v9.2/msdyn_invokeCaseProcessingAgent
Anforderungstext
| Eigentum | Typ | Erforderlich | Description |
|---|---|---|---|
| msdyn_incidentId | String | Yes | Die ID des Falls (Vorfalls), auf dem der Fallverwaltungs-Agent ausgeführt werden soll. Beispiel: "3895d023-a353-f011-877b-6045bd062e87" |
| msdyn_actions | Stringifiziertes JSON-Array | Yes | Definiert, welche Aktionen/Funktionen des Fallverwaltungs-Agents ausgeführt werden sollen. Weitere Informationen finden Sie weiter unten. |
msdyn_actions Array-Objekt
| Eigentum | Typ | Erforderlich | Description |
|---|---|---|---|
| Aktion | String | Yes | Definiert die auszuführende Fallverarbeitungsaktion. Werte:
|
| Automatisierungsgrad | String | Nein | Definiert den Automatisierungsmodus für die Aktion. Dies gilt nur für die Fallauflösung. Wenn dieser Wert nicht angegeben wird, verwendet der Agent den vom Administrator konfigurierten Modus. Werte:
|
| sourceContextEntity | String | Yes | Dies ist ein erforderlicher Wert für die Fallanreicherung und optional für die Fallauflösung. Die Quellentität, z. B. eine E-Mail oder eine Unterhaltung, die zum Aktualisieren des Falls verwendet werden muss. Beispiel: "emails(0e20cf92-f663-f011-bec1-000d3a3622ba)" |
Musteranforderung
{
"msdyn_incidentId": "5ad2ac2c-6363-f011-bec2-6045bd026457",
"msdyn_actions": "[{\"action\":\"enrich\",\"sourceContextEntity\":\"emails(0e20cf92-f663-f011-bec1-000d3a3622ba)\"},{\"action\":\"resolve\",\"automationLevel\":\"Full\"}]"
}
Antwort
-
Erfolg: Gibt HTTP
204 No Contentmit einem leeren Text zurück. - Fehler: Standardmäßige OData-Fehlerantwort.
Beispielcode
Im folgenden Beispiel können Sie den Case Management Agent aus Dataverse-Plug-Ins oder benutzerdefiniertem Code aufrufen, indem Sie die msdyn_invokeCaseProcessingAgent Organisationsanforderung ausführen. Der Agent wird verwendet, um den Fall mithilfe einer verwandten E-Mail-Entität zu aktualisieren und dann den Fall mit vollständiger Automatisierung aufzulösen.
Beispiel 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);
}
Beispiel 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();