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로 시작합니다. 이 endpoint를 사용하면 팀(또는 자동화 시스템)이 각 히트에 대한 결정을 기록할 수 있습니다. 세션 전체 결정은 변경되지 않습니다.
히트와 해당 ID는 세션 결정에서 확인할 수 있습니다. AML 확인의 hits 배열에 있으며, 각 히트의 id가 여기서 전달하는 hit_id입니다.
히트 id는 hit_로 시작하고 16진수 문자 24개가 뒤따릅니다. 대상이 다시 스크리닝되어도 변경되지 않습니다. 이전 형식의 히트 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_id, review_status } 쌍의 목록인 hit_updates를 전달합니다. 이 작업은 전부 적용하거나 전부 적용하지 않습니다. 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 웹훅이 한 번 발생하고, 모든 변경 사항을 포함하는 활동 기록이 하나 생성됩니다.
업데이트 이후 일어나는 일
- 웹훅: 세션에 대해
data.updated이벤트가 발생합니다. - 감사 추적 기록: 변경 사항이 행위자(API 키 또는 사용자)와 함께 세션의 검토 기록에 남으며, 콘솔의 활동 타임라인에서 확인할 수 있습니다.
- AML 단계 전체 상태는 변경되지 않습니다: 히트의 처리 결과를 바꾼다고 해서 AML 단계 상태나 세션 결정이 자동으로 바뀌지는 않습니다. AML 단계 상태(
Approved/Declined/In Review)를 변경하려면 기능 상태 업데이트를 사용하세요. 세션 결정을 변경하려면 상태 업데이트를 사용하세요.
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 스크리닝: 스크리닝과 점수 산정 방식을 설명합니다.
인증
Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본 키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 none, read, write 범위로 권한을 제한할 수 있으며 특정 워크플로나 승인된 세션, IP 주소 목록, 만료일 등으로 제한할 수도 있습니다. 401은 키가 잘못되었거나 폐기되었거나 만료되었음을 의미합니다. 403은 키가 전송되지 않았거나, 키에 해당 리소스나 작업에 대한 접근 권한이 없거나, 요청이 허용된 IP 목록 외부 주소에서 발생했음을 의미합니다. 세션 경로에서의 404는 해당 세션이 키의 허용 워크플로 또는 상태 범위를 벗어났음을 의미합니다. 미디어 접근 권한이 없는 키는 이미지, 비디오, PDF URL을 null로 수신하며, 세션 write 권한이 없는 키는 세션 링크와 token을 null로 수신합니다. https://docs.didit.me/console/api-keys 를 참고하십시오.
경로 매개변수
인증 세션의 UUID입니다. 사용자(KYC) 및 기업(KYB) 세션 ID를 모두 지원하며, 서비스는 두 세션 유형 전체에서 ID를 확인합니다.
"11111111-2222-3333-4444-555555555555"
쿼리 매개변수
워크플로 그래프 노드 ID입니다. 세션에 여러 AML 확인(노드당 하나)이 있는 경우에만 필수이며, 단일 AML 세션의 경우 생략하십시오.
"feature_aml_1"
본문
AML 스크리닝의 hits 배열에 있는 일치 항목의 id(hit_...)입니다. 이전 형식으로 반환된 일치 항목 id도 계속 허용됩니다.
"hit_7c1e9a40b2d35f86e0a4c912"
일치 항목에 대한 새로운 검토 상태입니다.
Unreviewed, Confirmed Match, False Positive, Inconclusive "False Positive"
선택적 그래프 노드 ID입니다. 세션에 여러 AML 확인이 있는 경우(여기 또는 쿼리 파라미터로) 사용합니다.
"feature_aml_1"