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: تأكيد التطابقات واستبعادها
حدّد نتائج فحص AML الفردية كتطابق مؤكد أو إيجابي كاذب أو غير حاسمة، سواءً لكل نتيجة على حدة أو دفعةً واحدة، مباشرةً من واجهة Didit البرمجية (API).
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 قائمة بـنتائج التطابق، وهي تطابقات محتملة مع قوائم العقوبات وقواعد بيانات الأشخاص المعرّضين سياسياً وقوائم المراقبة والأخبار السلبية. لكل نتيجةreview_status (حالتها) تبدأ بالقيمة Unreviewed أو False Positive بحسب درجة التطابق. تتيح لك نقطة النهاية هذه (أو أتمتتك) تسجيل قرار لكل نتيجة، دون تغيير قرار الجلسة الإجمالي.
ابحث عن النتائج ومعرّفاتها في قرار الجلسة، أي مصفوفة hits في فحص AML، حيث يكون id لكل نتيجة هو hit_id الذي تمرره هنا.
يبدأ معرّف النتيجة id بـ hit_ يليه 24 محرفاً سداسي عشرياً، ويبقى ثابتاً عند إعادة فحص الشخص. ما زال المعرّف المُعاد بالصيغة السابقة مقبولاً، لكن الاستجابة تذكر النتيجة دائماً بمعرّفها 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 إلى عنوان URL، أو أدرج "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: يُطلق حدث
data.updatedعلى الجلسة. - سجل التدقيق: يُسجَّل التغيير في مسار مراجعة الجلسة مع الجهة المنفذة (مفتاح API أو المستخدم)، ويظهر في الخط الزمني للنشاط في الكونسول.
- حالة خطوة AML الإجمالية لا تتأثر: تغيير حالة نتيجة لا يغيّر بحد ذاته حالة خطوة AML أو قرار الجلسة. لتغيير حالة الخطوة في AML (
Approved/Declined/In Review)، استخدم تحديث حالة الميزة. ولتغيير قرار الجلسة، استخدم تحديث الحالة.
دعم KYC وKYB
يعمل هذا مع جلسات التحقق من المستخدم (KYC) والتحقق من الشركات (KYB) على حد سواء، إذ يحدد DiditsessionId في النوعين. في حالة KYB، يُجرى فحص AML على الشركة وعلى أشخاصها الرئيسيين، ويعرض كل فحص AML نتائجه الخاصة.
الإذن
يتطلب الصلاحيةwrite:sessions، مع مفتاح API للعميل (x-api-key) أو رأس تفويض المستخدم.
الأخطاء
| الحالة | المعنى |
|---|---|
400 | قيمة review_status غير صالحة، أو hit_id فارغ، أو hit_updates فارغة. |
403 | بيانات الاعتماد مفقودة أو غير صالحة، أو أن المستدعي لا يملك الصلاحية write:sessions. |
404 | الجلسة غير موجودة، أو أن الجلسة لا تحتوي على فحص AML، أو أن hit_id غير موجود (في الاستدعاء الجماعي: لا يتغير أي شيء). |
ذات صلة
- تحديث حالة الميزة: تغيير حالة خطوة AML (أو أي خطوة أخرى).
- تحديث حالة الجلسة: تغيير قرار الجلسة الإجمالي.
- استرجاع الجلسة: قراءة مصفوفة
hitsفي AML ومعرّفاتها. - فحص AML: كيفية عمل الفحص واحتساب الدرجات.
التفويضات
مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console. يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير 404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع https://docs.didit.me/console/api-keys.
معلمات المسار
معرّف UUID لجلسة التحقق. يقبل معرّفات جلسات المستخدمين (KYC) والشركات (KYB) — يطابق الخادم المعرّف عبر كلا نوعي الجلسات.
"11111111-2222-3333-4444-555555555555"
معلمات الاستعلام
معرّف عقدة مخطط سير العمل. مطلوب فقط عندما تحتوي الجلسة على فحوصات AML متعددة (واحد لكل عقدة)؛ احذفه للجلسات ذات فحص AML الفردي.
"feature_aml_1"
الجسم
معرّف id الخاص بالمطابقة في مصفوفة hits لفحص AML (hit_...). لا يزال معرّف المطابقة المُرجع بالصيغة السابقة مقبولاً.
"hit_7c1e9a40b2d35f86e0a4c912"
حالة المراجعة الجديدة لنتيجة التطابق.
Unreviewed, Confirmed Match, False Positive, Inconclusive "False Positive"
معرّف اختياري لعقدة المخطط. استخدمه (هنا أو كمعامل استعلام) عندما تتضمن الجلسة عمليات فحص AML متعددة.
"feature_aml_1"
الاستجابة
تم تحديث حالة مراجعة التطابق.
دائماً Hit status updated successfully.
معرّف id الخاص بالمطابقة المحدّثة، كما يرجعه قرار الجلسة، وكذلك عندما يحدد الطلب المطابقة بمعرّف بالصيغة السابقة.
حالة المراجعة المخزنة حالياً في النتيجة المطابقة.
Unreviewed, Confirmed Match, False Positive, Inconclusive