決定後のアクション ルール
決定ルールの管理ルールに加えて、Fraud Protection では、評価の決定後アクション ルールを構成することもできます。 決定後のアクション ルールは、決定ルールの後、API 応答が返される前に評価されます。 これらのルールを使用して、評価が評価されるたびに実行するアクションを実行できます。 また、アクション ルールで評価呼び出しの決定を使用することもできます。 たとえば、特定の決定が行われるたびに API 応答の一部として常に追加情報を送信する場合や、評価が評価されるたびに常に外部呼び出しからデータを送受信する場合などです。
Note
アクション ルールは、評価でのみ使用できます。
アクション ルールの定義
アクション ルールは句で構成され、DO および WHEN キーワード (keyword)によって定義されます。 これらは、次の基本的な構造を持ちます。
DO <action>
WHEN <condition>
DO は、アクション ルールに固有のキーワード (keyword)です。 このキーワード (keyword)は、意思決定ルールでは使用できません。 DO キーワード (keyword)に従って使用できるのは、アクション関数だけです。 使用可能なアクション関数の詳細については、言語リファレンス ガイドを参照してください 。
例
DO SetResponse(test=true)
WHEN Response.Decision() == "approve"
評価呼び出しの決定が [承認] の場合、API 応答には次のフィールドが表示されます。
"customProperties": {
"test": true
},
• Response.Decision() を使用すると、評価呼び出しで行われた決定にアクセスできます。 • SetResponse() メソッドは、DO キーワード (keyword)後にのみ使用できます。 API 応答にキー値ペアを追加します。
Note
DO キーワード (keyword) メソッドと 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 つのセクションに分かれています。
ルールまたは下書きごとに、次の情報を表示できます。
- 名前
- ルールの種類 (決定ルールまたは決定後アクション)
- 作成した条件
- 状態: アクティブまたは非アクティブ
また、各ルールのタイルを選択して展開し、追加情報を表示することもできます。 次に例をいくつか示します。
- 説明
- ルール内の句の数
- ルールを最後に更新したユーザー
- ルールが最後に更新されたとき
Note
[ルール] タブでは、発行されたルールが実行順に一覧表示されます。
ルールの評価動作
複数階層環境では、ルールは次の順序で実行されます。
- アクティブなすべての親決定ルールを評価します。
- アクティブなすべての子決定ルールを評価します。
- アクティブな親のすべての事後決定アクション ルールを評価します。
- アクティブなすべての子事後決定アクション ルールを評価します。
決定後のアクション ルールの例
外部呼び出しの呼び出し
DO SetResponse(visibility = External.Weather("seattle").visibility)
共有評価の呼び出し
LET $response = Assessments.VerifyCustomer.evaluate(user = @@"user")
DO SetResponse(test=true)
WHEN $response.decisionDetails.MerchantRuleDecision =="Approve"