curl -X PATCH \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/update-aml-hit-status/ \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"hit_id": "abc123",
"review_status": "False Positive"
}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.update_aml_hit_status(
"11111111-2222-3333-4444-555555555555",
hit_id="hit_7c1e9a40b2d35f86e0a4c912",
review_status="False Positive",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.updateAmlHitStatus("11111111-2222-3333-4444-555555555555", {
hit_id: "hit_7c1e9a40b2d35f86e0a4c912",
review_status: "False Positive",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.UpdateAMLHitStatus(ctx, "11111111-2222-3333-4444-555555555555", didit.SessionsUpdateAMLHitStatusParams{
HitID: "hit_7c1e9a40b2d35f86e0a4c912",
ReviewStatus: "False Positive",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.SessionsUpdateAmlHitStatusParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().updateAmlHitStatus("11111111-2222-3333-4444-555555555555", SessionsUpdateAmlHitStatusParams.builder()
.hitId("hit_7c1e9a40b2d35f86e0a4c912")
.reviewStatus(SessionsUpdateAmlHitStatusParams.ReviewStatus.of("False Positive"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->updateAmlHitStatus('11111111-2222-3333-4444-555555555555', [
'hit_id' => 'hit_7c1e9a40b2d35f86e0a4c912',
'review_status' => 'False Positive',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.update_aml_hit_status(
"11111111-2222-3333-4444-555555555555",
hit_id: "hit_7c1e9a40b2d35f86e0a4c912",
review_status: "False Positive"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.UpdateAmlHitStatusAsync("11111111-2222-3333-4444-555555555555", new SessionsUpdateAmlHitStatusParams
{
HitId = "hit_7c1e9a40b2d35f86e0a4c912",
ReviewStatus = "False Positive",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"message": "Hit status updated successfully",
"hit_id": "hit_7c1e9a40b2d35f86e0a4c912",
"review_status": "False Positive"
}AMLヒットステータス更新API:一致の確定と解除
DiditのAPIで、AMLスクリーニングの各ヒットを「一致確定」「誤検知」「判断保留」に個別または一括で更新できます。
curl -X PATCH \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/update-aml-hit-status/ \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"hit_id": "abc123",
"review_status": "False Positive"
}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.update_aml_hit_status(
"11111111-2222-3333-4444-555555555555",
hit_id="hit_7c1e9a40b2d35f86e0a4c912",
review_status="False Positive",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.updateAmlHitStatus("11111111-2222-3333-4444-555555555555", {
hit_id: "hit_7c1e9a40b2d35f86e0a4c912",
review_status: "False Positive",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.UpdateAMLHitStatus(ctx, "11111111-2222-3333-4444-555555555555", didit.SessionsUpdateAMLHitStatusParams{
HitID: "hit_7c1e9a40b2d35f86e0a4c912",
ReviewStatus: "False Positive",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.SessionsUpdateAmlHitStatusParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().updateAmlHitStatus("11111111-2222-3333-4444-555555555555", SessionsUpdateAmlHitStatusParams.builder()
.hitId("hit_7c1e9a40b2d35f86e0a4c912")
.reviewStatus(SessionsUpdateAmlHitStatusParams.ReviewStatus.of("False Positive"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->updateAmlHitStatus('11111111-2222-3333-4444-555555555555', [
'hit_id' => 'hit_7c1e9a40b2d35f86e0a4c912',
'review_status' => 'False Positive',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.update_aml_hit_status(
"11111111-2222-3333-4444-555555555555",
hit_id: "hit_7c1e9a40b2d35f86e0a4c912",
review_status: "False Positive"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.UpdateAmlHitStatusAsync("11111111-2222-3333-4444-555555555555", new SessionsUpdateAmlHitStatusParams
{
HitId = "hit_7c1e9a40b2d35f86e0a4c912",
ReviewStatus = "False Positive",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"message": "Hit status updated successfully",
"hit_id": "hit_7c1e9a40b2d35f86e0a4c912",
"review_status": "False Positive"
}このエンドポイントでできること
AMLスクリーニングはヒットのリストを返します。ヒットとは、制裁リスト、PEPデータベース、ウォッチリスト、ネガティブメディアとの一致の可能性がある項目です。各ヒットにはreview_status(レビュー状況)があり、一致スコアに応じてUnreviewedまたはFalse Positiveのいずれかで始まります。このエンドポイントを使うと、セッション全体の判定を変更せずに、チーム(または自動化処理)が各ヒットに対する判定を記録できます。
ヒットとそのIDはセッションの判定で確認できます。AMLチェックのhits配列に含まれており、各ヒットのidがここで渡すhit_idです。
ヒットのidはhit_に続く24文字の16進数で構成され、対象が再スクリーニングされても変わりません。以前の形式で返されたヒットIDも引き続き受け付けられます。レスポンスでは常に現在のidでヒットを示します。
レビューステータス
review_status | 意味 |
|---|---|
Unreviewed | 一致しきい値以上のヒットのデフォルト。まだ判定が必要です。 |
Confirmed Match | スクリーニング対象の個人・法人との真の一致です。 |
False Positive | 同一の対象ではありません。一致しきい値未満のヒットのデフォルトです。 |
Inconclusive | 判断できませんでした。 |
False Positiveとマークしたヒットは、プロバイダーが対象を再スクリーニングしてもそのステータスを維持します。単一ヒットの更新
PATCH /v3/session/{sessionId}/update-aml-hit-status/
curl -X PATCH https://verification.didit.me/v3/session/4c5c7f3a-.../update-aml-hit-status/ \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hit_id": "hit_7c1e9a40b2d35f86e0a4c912",
"review_status": "False Positive"
}'
?node_id=feature_aml_1を追加するか、リクエストボディに"node_id"を含めて、対象のチェックを指定します。
複数ヒットの一括更新
PATCH /v3/session/{sessionId}/bulk-update-aml-hit-status/
hit_updatesに、{ hit_id, review_status }のペアのリストを渡します。この操作はオールオアナッシングです。いずれかのhit_idが見つからない場合、リクエストは404を返し、どのヒットも変更されません。
curl -X PATCH https://verification.didit.me/v3/session/4c5c7f3a-.../bulk-update-aml-hit-status/ \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hit_updates": [
{ "hit_id": "hit_7c1e9a40b2d35f86e0a4c912", "review_status": "Confirmed Match" },
{ "hit_id": "hit_3b8f20d6a91c4e75f0b2d6a8", "review_status": "False Positive" }
]
}'
data.updatedのWebhookが1回だけ送信され、すべての変更をまとめた1件のアクティビティが記録されます。
更新後に発生すること
- Webhook:セッションで
data.updatedイベントが発生します。 - 監査証跡:変更は実行者(APIキーまたはユーザー)とともにセッションのレビュー履歴に記録され、コンソールのアクティビティタイムラインで確認できます。
- AMLステップ全体のステータスは変わりません:ヒットの処理結果を変更しても、それだけではAMLステップのステータスやセッションの判定は変わりません。AMLステップのステータス(
Approved/Declined/In Review)を変更するにはupdate-feature-statusを使用します。セッションの判定を変更するにはupdate-statusを使用します。
KYCとKYBのサポート
本人確認(KYC)、法人確認 (KYB)、どちらのセッションでも動作します。Diditはどちらの場合もsessionIdを解決します。KYBでは、AMLスクリーニングは企業とその主要人物に対して実行され、各AMLチェックでは、それぞれのヒットを確認できます。
権限
write:sessions権限が必要です。クライアントAPIキー(x-api-key)またはユーザー認証ヘッダーのいずれかを使用します。
エラー
| ステータス | 意味 |
|---|---|
400 | review_statusが有効な値ではない、hit_idが空である、またはhit_updatesが空です。 |
403 | 認証情報がないか無効である、または呼び出し元にwrite:sessionsがありません。 |
404 | セッションが見つからない、セッションにAMLチェックがない、またはhit_idが見つかりません(一括の場合は何も変更されません)。 |
関連ページ
- 機能ステータスの更新:AMLステップのステータス(またはその他のステップ)を変更します。
- セッションステータスの更新:セッション全体の判定を変更します。
- セッションの取得:AMLの
hitsとそのIDを取得します。 - AMLスクリーニング:スクリーニングとスコアリングの仕組みを説明します。
承認
お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権(なし、読み取り、書き込み)、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください: https://docs.didit.me/console/api-keys
パスパラメータ
検証セッションのUUID。ユーザー(KYC)と企業(KYB)の両方のセッションIDを受け付けます。サービスは両方のセッションタイプにわたってIDを解決します。
"11111111-2222-3333-4444-555555555555"
クエリパラメータ
ワークフローグラフのノードID。セッションに複数のAMLチェック(ノードごとに1つ)がある場合にのみ必須です。AMLチェックが1つだけのセッションでは省略してください。
"feature_aml_1"
ボディ
AMLチェックのhits配列に含まれるヒットのid(hit_...)です。以前の形式で返されたヒットIDも引き続き受け付けます。
"hit_7c1e9a40b2d35f86e0a4c912"
ヒットの新しいレビューステータス。
Unreviewed, Confirmed Match, False Positive, Inconclusive "False Positive"
任意のグラフノードIDです。セッションに複数のAMLチェックがある場合に、ここまたはクエリパラメーターとして指定します。
"feature_aml_1"