Freigeben über


Functions

Dynamics 365 Fraud Protection bietet Ihnen die Flexibilität, Funktionen zu erstellen, mit denen Sie eine bestimmte Aufgabe ausführen können. Sie können beispielsweise Funktionen verwenden, um Codegruppen zu kombinieren, die zusammen ausgeführt werden müssen. Sie können auch Funktionen verwenden, um Code wiederzuverwenden, in dem Sie den Code einmal schreiben und von anderen Stellen aus darauf zugreifen, wodurch der Code einfacher Standard. Wenn Sie in diesem Beispiel einen externen Dienst aufrufen möchten, um einen Wert daraus abzurufen, kann die Logik innerhalb einer Funktion definiert werden, und die Funktion kann aus anderen Ressourcen aufgerufen werden.

Definieren einer Funktion

Funktionen bestehen aus Eingabeparametern und Ausgabeeigenschaften.

Eingabeparameter

Funktionen können Parameter definieren, die zum Zeitpunkt des Aufrufs an die Funktion übergeben werden sollen. Eingabeparameter werden in der Funktionsdefinition definiert. Die Anzahl der parameter, die bei Aufruf an die Funktion übergeben werden, sollte genau mit der Anzahl der parameter übereinstimmen, die für die Funktion definiert sind. Die definierten Parameter können in den Ausgabeeigenschaften verwendet werden, um einen Wert zurückzugeben. Weitere Informationen finden Sie unter Ausgabeeigenschaften. Das Definieren von Eingabeparametern ist optional.

Eingabeparameter bestehen aus den folgenden drei Teilen.

  • Parametername: Ein Name, mit dem der Parameter referenziert werden kann.

  • Datentyp: Jeder Eingabeparameter sollte einem Datentyp zugeordnet sein. Der von Ihnen angegebene Datentyp konvertiert den Wert des Parameters in den entsprechenden Typ. Funktionen unterstützen die in der folgenden Tabelle aufgeführten Datentypen.

    Datentyp Beispielwert
    Boolesch True
    DateTime Februar 22.2024 14:44 Pm
    Double 10,0
    Ganzzahl 10
    String "Hello"
  • Standardwert: Für jeden Parameter ist ein Standardwert erforderlich. Der Standardwert wird während der "Funktionsauswertung" verwendet, oder wenn ein Problem mit dem Funktionsaufruf auftritt.

Ausgabeeigenschaften

Sie können den Rückgabewert einer Funktion mithilfe von Ausgabeeigenschaften definieren. Ausgabeeigenschaften verwenden die Logik "Betrugsabfragesprache (Fraud Query Language, FQL)", um einen Wert der Funktion zurückzugeben. Auf die Ausgabeeigenschaften kann dann innerhalb anderer Funktionen, Regeln, Geschwindigkeiten, Nachentscheidungsaktionsregeln und Routingregeln zugegriffen werden, wenn die Funktion aufgerufen wird. Eine Funktion kann bis zu 30 Ausgabeeigenschaften aufweisen. Weitere Informationen zu FQL und deren Verwendung finden Sie im Handbuch zur Sprachreferenz.

Ausgabeeigenschaften bestehen aus den folgenden vier Teilen.

  • Eigenschaftsbeschreibung: Eine Beschreibung der Eigenschaft. Die Angabe einer Beschreibung ist optional.

  • Datentyp: Der Datentyp des Werts, der von der Eigenschaft zurückgegeben wird. Funktionen unterstützen alle primitiven Datentypen, z. B. boolean, datetime, double, integer, and string. Wenn an der Ausgabeeigenschaft einer Funktion, auf die in anderen Ressourcen verwiesen wird, eine Unterbrechung vorgenommen wird, wird der Standardwert der ursprünglichen Ausgabeeigenschaft "Datentyp" als Fallback verwendet, um mit der Ressourcenausführung fortzufahren. Es wird empfohlen, Ihre Ressourcen nach dem Unterbrechen von Änderungen zu aktualisieren.

  • Standardwert: Der Standardwert wird als Ergebnis einer Funktion zurückgegeben, wenn während der Auswertung der Eigenschaft eine Ausnahme auftritt. Beispiel: Division by 0 und Null Reference Exceptions.

  • Code-Editor zum Zurückgeben eines Werts: Der Code-Editor wird verwendet, um einen Wert aus der Funktion zurückzugeben. Im Folgenden finden Sie Möglichkeiten, einen Ausgabewert zurückzugeben.

    1. Eingabeparameter, die in einer Funktion definiert sind, können verwendet werden, um Werte zurückzugeben.

      Beispiel für eine Ausgabeeigenschaft, die einen Eingabeparameter als Rückgabewert zurückgibt. Weitere Informationen zum Definieren von Eingabeparametern finden Sie weiter oben in diesem Artikel im Abschnitt "Eingabeparameter ".

    RETURN _number1 + _number2
    
    1. Sowohl die Anforderungs- als auch die Antwortattribute (einschließlich benutzerdefinierter Daten) einer Bewertung, die die Regel enthält, die die Funktion aufruft. Sie können mit dem @ Operator auf diese Attribute zugreifen. Beispiel: @"salesTax".

      Beispiel für Funktion mithilfe von Anforderungsattributen:

    RETURN @"salesTax"
    
    1. Die Betrugsschutz-Anreicherungsdaten. Beispiel: Geo.CountryCode().

      Beispiel für funktion unter Verwendung von Riskscore:

    RETURN Geo.CountryCode(@"deviceContext.ipAddress")
    
    1. Listet auf, die Sie in Betrugsschutz hochladen. Weitere Informationen zum Hochladen dieser Listen finden Sie unter Listen verwalten.

      Beispiel für funktion using list:

    RETURN Lookup("Country_Score", "Country", "US", "ScoreCutOff")
    
    1. Geschwindigkeiten, die im Betrugsschutz definiert sind. Weitere Informationen finden Sie unter Geschwindigkeitsprüfungen durchführen.

      Beispiel für Funktion mit Geschwindigkeit:

    RETURN Velocity.IPs_Per_User(@"deviceContext.ipAddress", 30s)
    
    1. Externe Anrufe, die im Betrugsschutz erstellt wurden. Weitere Informationen finden Sie unter Externe Aufrufe.

      Beispiel für eine Funktion mithilfe externer Aufrufe:

    RETURN External.weather("Seattle").id
    
    1. Externe Bewertungen, die im Betrugsschutz erstellt wurden. Weitere Informationen finden Sie unter "Externe Bewertungen".

      Beispiel für eine Funktion, die externe Bewertung aufruft:

    LET $result = Assessments.myAssessment.Evaluate($baseInput = @@)
    RETURN $result.ToStr()
    
    1. Access-Funktion innerhalb von Funktionen.

      Beispiel für eine Funktion, die eine andere Funktion aufruft:

    RETURN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
    

Hinweis

Sie können Funktionen in jeder Umgebung im Multihierarchiestapel erstellen. Wenn eine Funktion auf Ressourcen wie Geschwindigkeiten, externe Aufrufe, Listen und externe Bewertungen verweist, die in der Umgebung verfügbar sind, erben die niedrigeren Umgebungen, in denen die Funktion aufgerufen wird, auch die Ressourcen, auf die die Funktion verweist. Wenn Sie beispielsweise eine Funktion im Stamm erstellen, die auf einen externen Aufruf verweist, um einen Wert zurückzugeben, kann die untergeordnete Umgebung, die die Funktion aufruft, auch auf das Ergebnis dieses externen Aufrufs zugreifen. Weitere Informationen zum Erben und Aufrufen von Funktionen finden Sie weiter unten in diesem Artikel im Abschnitt "Funktionsvererbung ".

Veröffentlichen einer Funktion

  1. Wählen Sie im Portal "Betrugsschutz" die Option "Funktionen" in der Navigationsleiste und dann "Neue Funktion" aus. Betrugsschutz erstellt eine Entwurfsfunktion, die nur Ihnen angezeigt wird (der Ersteller der Funktion). Alle Änderungen, die Sie an dem Entwurf vornehmen, werden automatisch gespeichert.

  2. Informationen zum Definieren einer neuen Funktion von Grund auf finden Sie im Abschnitt "Definieren einer Funktion " weiter oben in diesem Artikel.

  3. Um die Funktion zu veröffentlichen, wählen Sie "Veröffentlichen" aus.

  4. Im Bestätigungsdialogfeld können Sie den Namen und die Beschreibung ändern. Wählen Sie Veröffentlichen aus.

Hinweis

Nachdem Sie die Funktion veröffentlicht haben, ist sie für alle Benutzer sichtbar. Die Funktion kann dann innerhalb anderer Funktionen, Regeln, Geschwindigkeiten, Nachentscheidungsregeln und Routingregeln aufgerufen werden.

Informationen zur Verwendung von Funktionen in anderen Ressourcen, z. B. Funktionen, Regeln, Geschwindigkeiten, Nachentscheidungsaktionen und Routingregeln, finden Sie weiter unten in diesem Artikel in den Aufrufen-Funktionen.

Der Beispielbereich

Wenn Sie eine Funktion erstellen oder bearbeiten, wird der Beispielbereich auf der Seite angezeigt.

  • Funktionen sind nicht an Bewertungen gebunden. Die Beispielnutzlast wird als hilfreicher Leitfaden für Benutzer dargestellt, in dem alle Ereigniseigenschaften angezeigt werden, auf die in Ihren Funktionen verwiesen werden kann. Wählen Sie den Ereignistyp oben im Bereich im Feld Ereignis aus.

  • Der Abschnitt Nutzlastbeispiel enthält ein Beispiel für die Eigenschaften, die in der Anforderungs-API für die Beurteilung gesendet werden können.

Verwalten einer Funktion

  1. Um eine zuvor veröffentlichte Funktion zu bearbeiten, wählen Sie die Funktion und dann "Bearbeiten" aus. Es wird ein Entwurf der veröffentlichten Funktion erstellt und ist nur für Sie verfügbar. Alle Änderungen, die Sie am Entwurf vornehmen, werden automatisch gespeichert. Um Ihre Änderungen in die Produktion zu übertragen, wählen Sie "Veröffentlichen" aus. Die zuvor veröffentlichte Funktion wird mit Ihren Änderungen überschrieben. Um Ihren Entwurf zu verwerfen, wählen Sie Verwerfen.

  2. Um eine vorhandene Funktion zu löschen, wählen Sie die Auslassungspunkte (...) und dann entf.

  3. Um den Namen oder die Beschreibung einer Funktion zu aktualisieren, wählen Sie die Auslassungspunkte (...) und dann "Umbenennen" aus.

  4. Um nach einer Funktion zu suchen, geben Sie eine Schlüsselwort (keyword) in das Suchfeld ein. Alle Funktionsnamen und Beschreibungen werden durchsucht, und die Ergebnisse werden nach den Such-Schlüsselwort (keyword) gefiltert.

Auswerten einer Funktion

Bevor Sie eine Funktion veröffentlichen, können Sie den Funktionsauswertungsbereich verwenden, um sicherzustellen, dass sie die erwarteten Ergebnisse zurückgibt.

  • Um den Funktionsauswertungsbereich zu öffnen, wählen Sie auf der Registerkarte "Funktionen" die Option "Erweitern" aus.
  • um den Bereich zu schließen, wählen Sie Reduzieren aus.

Wenn der Auswertungsbereich geöffnet ist, wird die Liste der Ausgabeeigenschaften mit dem Ergebnis angezeigt. Die Auswertung verwendet Standardwerte für Eingabeparameter und Werte aus dem Beispielnutzlastabschnitt, wenn ermittelt wird, was zurückgegeben werden soll. Wenn eine dieser Werte geändert wird, wird die Ausgabe ebenfalls geändert. Auf diese Weise können Sie sicherstellen, dass die richtigen Werte für jede Ausgabeeigenschaft zurückgegeben werden.

Aufrufen von Funktionen aus Ressourcen

Die veröffentlichten Funktionen können aus Ressourcen wie Regeln, Geschwindigkeiten, Nachentscheidungsaktionen und Routingregeln aufgerufen werden. Auf alle in einer Funktion definierten Ausgabeeigenschaften kann durch Aufrufen der Funktion zugegriffen werden. Die Werte können dann für die Entscheidungsfindung verwendet werden.

Regeln

Funktionen können aus einer beliebigen Regel (innerhalb einer beliebigen Bewertung) in derselben Umgebung und aus untergeordneten Umgebungen in der folgenden Hierarchie aufgerufen werden. Weitere Informationen zu Regeln finden Sie unter "Regeln".

LET $sum = Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5

Häufigkeit

Funktionen können von jeder Geschwindigkeit in derselben Umgebung und aus untergeordneten Umgebungen in der folgenden Hierarchie aufgerufen werden. Weitere Informationen zu Geschwindigkeiten finden Sie unter Ausführen von Geschwindigkeitsprüfungen.

SELECT DistinctCount(@"device.deviceContextId") AS Devices_Per_IP
FROM AccountLogin
WHEN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum > 5
GROUPBY @"device.ipAddress"

Regeln nach der Entscheidung

Funktionen können aus jeder Nachentscheidungsaktionsregel (innerhalb einer beliebigen Bewertung) in derselben Umgebung und aus untergeordneten Umgebungen in der folgenden Hierarchie aufgerufen werden. Weitere Informationen zu Aktionsregeln nach entscheidungsbasierten Entscheidungen finden Sie unter Post decision Action Rules.For more information about post-decision action rules.

DO SetResponse()
WHEN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum == 5

Routingregeln

Funktionen können aus allen Routingregeln in derselben Umgebung und aus untergeordneten Umgebungen in der folgenden Hierarchie aufgerufen werden. Weitere Informationen zu Routingregeln finden Sie unter Fallverwaltung.

ROUTETO Queue("General Queue")
WHEN Functions.MyFunction(@"purchase.request.totalAmount", @"purchase.request.salesTax").Calculate_Sum > 5

Funktionsvererbung

Funktionen können in derselben Umgebung und aus untergeordneten Umgebungen in der folgenden Hierarchie aufgerufen werden. Die Aufrufsyntax hängt davon ab, wo die Funktion vorhanden ist und wo sie aufgerufen wird. Im Folgenden finden Sie die verschiedenen Methoden zum Aufrufen von Funktionen innerhalb einer Mehrhierarchie.

Hinweis

Wenn eine Funktion auf Ressourcen wie Geschwindigkeiten, Listen, externe Aufrufe und externe Bewertungen verweist, werden die Ressourcen auch von untergeordneten Umgebungen in der hierarchie unten geerbt, wenn die Funktion aufgerufen wird.

Aufrufen von Funktionen, die in derselben Umgebung erstellt wurden

Im folgenden Beispiel wird eine Funktion aus einer Regel aufgerufen, in der sowohl die Regel als auch die Funktion in derselben Umgebung vorhanden sind.

LET $sum = Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5

Aufrufen von Funktionen, die in der Stammumgebung erstellt wurden

Im folgenden Beispiel wird eine im Stammverzeichnis erstellte Funktion aus einer untergeordneten Umgebung aufgerufen.

LET $sum = Functions.root.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5

Aufrufen von Funktionen, die in der übergeordneten Umgebung erstellt wurden

Im folgenden Beispiel wird eine Funktion aus der unmittelbaren übergeordneten Umgebung aufgerufen.

LET $sum = Functions.parent.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5

Aufrufen von Funktionen, die in einer beliebigen Umgebung oberhalb des Stapels erstellt wurden

Im folgenden Beispiel wird eine funktion aufgerufen, die in einer Umgebung oberhalb des Stapels erstellt und von einer Regel in einer niedrigeren Umgebung geerbt wird.

LET $sum = Functions.environment["environmentid"].MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5

Funktions- und Ressourcengrenzwerte

Betrugsschutz hat eine Beschränkung der Anzahl der Funktionen, die pro Umgebung erstellt werden können, und die Anzahl der Ressourcen, auf die innerhalb einer Funktion verwiesen werden kann.

Ressource Begrenzung
Maximale Anzahl von Funktionen, die in einer Umgebung veröffentlicht werden können 30
Maximale Anzahl von Ausgabeeigenschaften, die innerhalb einer Funktion vorhanden sein können 30
Maximale Anzahl eindeutiger Geschwindigkeiten, auf die eine Funktion verweisen kann 15
Maximale Anzahl externer Aufrufe, auf die eine Funktion verweisen kann 2
Maximale Anzahl eindeutiger Listensuche, auf die eine Funktion verweisen kann 5
Maximale Anzahl eindeutiger externer Bewertungen, auf die eine Funktion verweisen kann 2
Maximale Anzahl von Funktionen, die ein Regelsatz aufrufen kann 10
Maximale Anzahl von Funktionen, die eine Routingregel aufrufen kann 10
Maximale Anzahl von Funktionen, die eine Aktion nach der Entscheidung aufrufen kann 10
Maximale Anzahl von Ressourcen, die eine Geschwindigkeit aufrufen kann 10