大事な
2025 年 2 月 3 日の時点で、Dynamics 365 Fraud Protection は購入できなくなります。 不正アクセス防止のサポートは、2026 年 2 月 3 日に終了します。 詳細については、「Dynamics 365 Fraud Protection のサポート終了 」 記事を参照してください。
決定ルールおよび、[ルールの管理] に加えて、Fraud Protection では、評価の決定後アクションルールを構成することもできます。 決定後アクション ルールは、決定ルールの後、API 応答が返される前に評価されます。 これらのルールを使用して、評価が 評価されるたびに実行するアクションを実行できます。 また、アクション ルールで評価呼び出しの決定を使用することもできます。 たとえば、特定の決定が行われるたびに API 応答の一部として常に追加情報を送信する場合や、評価が評価されるたびに常に外部呼び出しからデータを送受信する場合などです。
手記
アクション ルールは、評価でのみ使用できます。
アクション ルールの定義
アクション ルールは句で構成され、DO および WHEN キーワードによって定義されます。 これらは、次の基本的な構造を持ちます。
DO <action>
WHEN <condition>
DO は、アクション ルールに固有のキーワードです。 決定ルールでは、このキーワードを使用できません。 DO キーワードの後には Action 関数のみを使用できます。 使用可能なアクション関数の詳細については、言語リファレンス ガイド を参照してください。
例
DO SetResponse(test=true)
WHEN Response.Decision() == "approve"
評価呼び出しの決定が [承認] の場合、API 応答には次のフィールドが表示されます。
"customProperties": {
"test": true
},
• Response.Decision() を使用すると、評価呼び出しで行われた決定にアクセスできます。 • SetResponse() メソッドは DO キーワードの後でのみ使用できます。 API 応答にキー値ペアを追加します。
手記
DO キーワードと SetResponse メソッドは、アクション ルールでのみ使用できます。
SetResponse 構文
| 関数呼び出し | Assessments での API 応答 |
|---|---|
| SetResponse(a="b", x="y") | "CustomProperties": { "a" : "b", "x" : "y" } |
| SetResponse("newSection", a="b", x="y") | "CustomProperties": { "newSection":{ "a" : "b", "x" : "y" } } |
事後決定アクション ルールの作成と管理
アクション ルールを作成または管理するには、[ルール ] タブ 移動します。新しい決定後アクション ルールを作成するには、[+ 新しいルール] を選択し、[決定後アクション] 選択します。
- デバッグ エクスペリエンスでは、ルールの評価は使用できません。
- アクション ルールにはビジュアル ビューを使用できません。
[ルール] タブには、評価の種類に対して構成されているルールの一覧が表示されます。 これらのルールは、3 つのセクションに分かれています:事後アクション、発行済みルール と 下書き。
ルールまたは下書きごとに、次の情報を表示できます。
- 名前
- ルールの種類 (決定ルールまたは決定後アクション)
- 作成した条件
- 状態: アクティブまたは非アクティブ
また、各ルールのタイルを選択して展開し、追加情報を表示することもできます。 いくつかの例を次に示します。
- 説明
- ルール内の句の数
- ルールを最後に更新したユーザー
- ルールが最後に更新されたとき
手記
[ ルール ] タブには、発行されたルールが実行されている順序で一覧表示されます。
ルールの評価動作
複数階層環境では、ルールは次の順序で実行されます。
- アクティブなすべての親の決定ルールを評価します。
- アクティブなすべての子決定ルールを評価します。
- アクティブな親のすべての事後決定アクション ルールを評価します。
- アクティブなすべての子事後決定アクション ルールを評価します。
決定後のアクション ルールの例
外部通話の発信
DO SetResponse(visibility = External.Weather("seattle").visibility)
共有評価の呼び出し
LET $response = Assessments.VerifyCustomer.evaluate(user = @@"user")
DO SetResponse(test=true)
WHEN $response.decisionDetails.MerchantRuleDecision =="Approve"