決定後のアクション ルール

決定ルールの管理ルールに加えて、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

[ルール] タブでは、発行されたルールが実行順に一覧表示されます。

ルールの評価動作

複数階層環境では、ルールは次の順序で実行されます。

  1. アクティブなすべての親決定ルールを評価します。
  2. アクティブなすべての子決定ルールを評価します。
  3. アクティブな親のすべての事後決定アクション ルールを評価します。
  4. アクティブなすべての子事後決定アクション ルールを評価します。

決定後のアクション ルールの例

外部呼び出しの呼び出し

DO SetResponse(visibility = External.Weather("seattle").visibility)

共有評価の呼び出し

LET $response = Assessments.VerifyCustomer.evaluate(user = @@"user")
DO SetResponse(test=true)
WHEN $response.decisionDetails.MerchantRuleDecision =="Approve"