الانتقال إلى المحتوى الرئيسي
POST
curl

التفويضات

x-api-key
string
header
مطلوب

مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console. يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير 404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع https://docs.didit.me/console/api-keys.

الجسم

application/json
transaction_id
string
مطلوب

معرّفك الفريد لهذه المعاملة (بحد أقصى 128 حرفاً).

مثال:

"your-txn-2026-05-17-001"

transaction_category
enum<string>
مطلوب

فئة المعاملة. تُقبل أيضاً الأسماء المستعارة بصيغة CamelCase (travelRule، userPlatformEvent، gamblingBet، ...)؛ وتكون القيمة المخزنة/المعادة بصيغة camelCase للفئات المكونة من كلمات متعددة.

الخيارات المتاحة:
finance,
kyc,
travel_rule,
user_event,
audit_trail_event,
gambling_bet,
gambling_limit_change,
gambling_bonus_change,
travelRule
مثال:

"finance"

transaction_details
object
مطلوب

التفاصيل المالية الأساسية للمعاملة.

subject
object
مطلوب

موضوع المعاملة (مقدم الطلب).

transaction_at
string<date-time>

وقت حدوث المعاملة. القيمة الافتراضية هي الوقت الحالي إذا تم حذفه.

time_zone
string

معرّف المنطقة الزمنية لـ IANA، مثل Europe/Madrid.

counterparty
object

الطرف المقابل للمعاملة (اختياري).

custom_properties
object

أزواج مفتاح-قيمة عشوائية مرفقة بالمعاملة. يمكن الإشارة إلى كل مفتاح في شروط القواعد باستخدام مسار الحقل custom_values.<key>.

مثال:
travel_rule_details
object

بيانات Travel Rule. عند تفعيل Travel Rule وتعيين transaction_category إلى travel_rule، تدير Didit عملية التبادل بنفسها: فهي تتجاهل status وprotocol وrequired وobligations_count، وتستخدم originator_data وbeneficiary_data وmetadata. بخلاف ذلك، تخزن Didit هذه القيم كسجل سلبي لـ Travel Rule. أثناء تفعيل Travel Rule، يجب أن يحمل التحويل الصادر الذي يصل إلى الحد الخاص بك أو يتجاوزه ما يتطلبه نظامه (EU TFR أو توصية FATF رقم 16)، مع التحقق من الأطراف التي ترسلها: يؤدي وجود حقل مفقود إلى استجابة 400 ضمن travel_rule_details.originator_data أو travel_rule_details.beneficiary_data، على سبيل المثال "تتطلب EU TFR اسم المُرسِل."

network_snapshot
object

لقطة مخطط شبكة محسوبة مسبقاً.

include_crypto_screening
boolean | null

تجاوز لكل معاملة لفحص تحليلات البلوكتشين للعملات المشفرة. عندما تكون القيمة true، يتم إجراء فحص العملات المشفرة بصرف النظر عن الإعداد الافتراضي للتطبيق. وعندما تكون false، يتم تخطي فحص العملات المشفرة حتى لو كان مفعلاً في إعدادات التطبيق. وعند إغفاله أو تعيينه كـ null، يتم استخدام الإعداد الافتراضي على مستوى التطبيق والمُهيأ في لوحة التحكم Console. يتطلب فحص العملات المشفرة transaction_details.direction، وcurrency_kind: "crypto"، وسلسلة/عملة، وعنوان المحفظة المحدد بواسطة الاتجاه: يستخدم الفحص السابق للتحويل الوارد counterparty.payment_method.account_id، ويستخدم فحص تجزئة المعاملة الواردة subject.payment_method.account_id، بينما يستخدم الفحص الصادر counterparty.payment_method.account_id. عندما يحتوي transaction_details.payment_reference_id على تجزئة معاملة على البلوكتشين، تُجري Didit فحص المعاملة وتُرجع إثراء ملخص المعاملة عند توفره.

الاستجابة

تم إرسال المعاملة وتتم مراقبتها. يحتوي نص الاستجابة على تفاصيل المعاملة الكاملة (بنفس شكل GET /v3/transactions/{transaction_id}/)، بما يعكس أي نتائج قواعد تم تطبيقها بالفعل.

سجل المراقبة الكامل لمعاملة واحدة، كما يتم إرجاعه بواسطة GET /v3/transactions/{transaction_id}/ وPOST /v3/transactions/.

uuid
string<uuid>

معرّف المعاملة الثابت من Didit. يُستخدم كـ {transaction_id} لعمليات الاستدعاء اللاحقة.

environment
enum<string>

بيئة التطبيق الذي يملك المعاملة. يتم تخزين معاملة sandbox ولكن لا يتم تقييمها أو فحصها أو إرسال إشعارات بشأنها أو فوترتها مطلقاً، لذا فإن القيمة الفارغة لـ rule_runs تعني "لم يتم التقييم".

الخيارات المتاحة:
live,
sandbox
transaction_number
integer

رقم المعاملة التسلسلي بنطاق التطبيق المعروض في وحدة التحكم (مثل 4123).

txn_id
string

معرّف transaction_id الذي أدخلته وقت الإنشاء (بحد أقصى 128 حرفاً). فريد لكل تطبيق.

txn_date
string<date-time>

وقت حدوث المعاملة (من transaction_at؛ القيمة الافتراضية هي وقت الإرسال).

zone_id
string | null

معرّف المنطقة الزمنية لـ IANA المقدم في وقت الإنشاء.

transaction_type
string

الفئة ذات المستوى الأعلى كما تم تخزينها: finance، kyc، travelRule، userPlatformEvent، gamblingBet، gamblingLimitChange، gamblingBonusChange، auditTrailEvent. يُرجى ملاحظة أن القيم المتعددة الكلمات يتم إرجاعها بصيغة camelCase حتى لو تم إرسالها بصيغة snake_case.

action_type
string

النوع الفرعي ضمن الفئة (مثل deposit، withdrawal، transfer). يتم تعيينه افتراضياً إلى الفئة عند عدم تقديمه.

direction
enum<string>

الاتجاه بالنسبة إلى الشخص المعني. يُخزّن بأحرف كبيرة بصرف النظر عن حالة الأحرف المُرسلة (يُقبل in/out/inbound/outbound في المدخلات).

الخيارات المتاحة:
INBOUND,
OUTBOUND
status
enum<string>

قرار المراقبة الحالي. يتم إنشاء المعاملات بالحالة APPROVED؛ وقد تغيرها القواعد إلى IN_REVIEW/DECLINED بشكل متزامن.

الخيارات المتاحة:
APPROVED,
IN_REVIEW,
DECLINED,
AWAITING_USER
source
enum<string>

مصدر نشأة السجل: LIVE للمعاملات المرسلة عبر API أو SDK، وIMPORTED للمعاملات المحملة عبر الاستيراد من لوحة التحكم.

الخيارات المتاحة:
LIVE,
IMPORTED
amount
string

مبلغ المعاملة كسلسلة عشرية مع تجريد الأصفار اللاحقة (على سبيل المثال "1500"، "0.5"، "0.123456789012345678"). حتى 18 منزلة عشرية.

currency
string

رمز العملة الخاص بـ amount. يُقبل أي رمز أبجدي وفق معيار ISO 4217 (مثل EUR، وUSD، وNGN)، وكذلك يُقبل رمز أصل مشفر (مثل BTC). يُفضل استخدام رمز متداول حالياً. ليس لكل رمز مقبول سعر صرف: عندما لا يتوفر سعر صرف للرمز (على سبيل المثال وحدة المحاسبة XSU وفق ISO، أو رمز عملة مشفرة لا تحدد Didit سعراً له)، يفشل التحويل التلقائي ويتم إرجاع preferred_currency_amount بقيمة فارغة (null) ما لم يقدّم الطلب قيمة محولة مسبقاً في amount_in_default_currency.

currency_type
string | null

fiat أو crypto، كما تم إرسالها في currency_kind.

amount_in_default_currency
string | null

المبلغ المحوّل مسبقاً الذي قدّمته، كسلسلة نصية عشرية مع إزالة الأصفار اللاحقة.

default_currency_code
string | null
preferred_currency_amount
string | null

amount محولاً إلى العملة المفضلة للتطبيق، عندما يكون متاحًا.

preferred_currency_code
string | null
payment_details
string | null

مرجع الدفع أو الملاحظة بنص حر من الإرسال.

payment_txn_id
string | null

مرجع نظام الدفع الخارجي (مثل تجزئة معاملة البلوكتشين) من payment_reference_id.

score
integer

درجة المخاطر التراكمية الناتجة عن القواعد (عادة من 0 إلى 100). القيمة الأعلى = مخاطر أكبر.

severity
enum<string> | null

شدة المخاطر المصنفة المحددة بواسطة القواعد/المزودين (UNKNOWN، LOW، MEDIUM، HIGH، CRITICAL). تكون null حتى يحددها إجراء ما.

الخيارات المتاحة:
UNKNOWN,
LOW,
MEDIUM,
HIGH,
CRITICAL
decision_reason_code
string | null

السبب المقروء آلياً للحالة الحالية status.

decision_reason_label
string | null

تسمية سهلة القراءة لـ decision_reason_code.

vendor_data
string | null

نسخة ميسّرة من vendor_data الخاصة بمقدم الطلب.

metadata
object

لقطة من payload لـ subject وcounterparty كما تم إرسالها في وقت الإنشاء.

props
object

الخصائص custom_properties التي قدمتها وقت الإنشاء. يمكن الوصول إلى كل مفتاح في شروط القواعد عبر custom_values.<key>.

tags
object[]

العلامات المرفقة بالمعاملة (يدوياً أو عبر القواعد).

parties
object[]

أطراف المعاملة (مقدم الطلب، الطرف المقابل).

payment_methods
object[]

طرق الدفع المرتبطة بالمعاملة.

documents
object[]

الملفات المرفقة بالمعاملة من لوحة التحكم. [] في حال عدم وجود أي ملفات.

activities
object[]

مدخلات سجل الأنشطة (الإنشاء، الملاحظات، المراجعات اليدوية، تغييرات الحالة).

alerts
object[]

فارغ دائماً اليوم. التنبيه المفتوح هو معاملة بالحالة IN_REVIEW أو AWAITING_USER.

rule_runs
object[]

نتائج التنفيذ لكل قاعدة — أي القواعد تم تشغيلها، وما هو تأثيرها على درجة المخاطر.

provider_results
object[]

بيانات payload الخام من المزود (فحص AML، تحليلات البلوكتشين، إلخ).

travel_rule
object | null

تحويل أو فحص Travel Rule. تتم تعبئته عند إرسال travel_rule_details، وكذلك عند تفعيل Travel Rule وإنشاء المعاملة مع transaction_category: travelRule (تبدأ Didit التبادل بنفسها، حتى بدون travel_rule_details). وتكون القيمة null في حال عدم وجود تحويل أو فحص. في التحويل الوارد، تظل بيانات originator_data وbeneficiary_data الخاصة بالطرف المقابل محجوبة (data_masked: true) حتى يتم تأكيد ملكية المحفظة.

network_snapshot
object | null

لقطة المخطط للمعاملات/الأطراف ذات الصلة المستخدمة بواسطة محرك القواعد. إما network_snapshot المُرسلة مع المعاملة أو المخطط الذي تُنشئه Didit من فحص AML ناجح للمحفظة (والذي يحل محل المخطط المُرسَل). وتكون null عندما لا يوجد أي منهما.

remediation
object | null

جلسة معالجة معروضة على المستخدم عندما تكون إعادة التحقق مطلوبة. حلت محلها action_required، وهي الكتلة القياسية؛ تم الإبقاء عليها للتوافق مع الإصدارات السابقة.

action_required
Verification session · object

الإجراء المعلّق المطلوب من المستخدم النهائي لإكمال هذه المعاملة، أو null في حال عدم وجود أي إجراء. تشغّل حزم Didit SDK الإجراء تلقائياً بشكل افتراضي وتحدّث المعاملة عند انتهائه. نوعان، يتم التمييز بينهما بواسطة type: verification_session (جلسة تحقق مستضافة تم إنشاؤها بواسطة إجراء قاعدة) وwallet_ownership (جلسة أداة ملكية المحفظة التي تم إنشاؤها تلقائياً لتحويل Travel Rule الذي يتطلب إثبات التحكم في المحفظة، مقيد بإعداد Travel Rule المسمى auto_wallet_verification). عند إمكانية تطبيق كليهما، تكون الأولوية لـ wallet_ownership لأنه يعطل تبادل Travel Rule.

cost_breakdown
object | null

تكلفة هذه المعاملة: total_price و items، عنصر واحد لكل رسم، ويتضمن كل منها usage_type و price و details و created_at. إعادة فحص المعاملة نفسها تُعد عنصراً جديداً.

آخر تعديل في ٧ نوفمبر ٢٠٢٦