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

التفويضات

X-Transaction-Token
string
header
مطلوب

token قصير الأجل ومحدد النطاق يتم إصداره عبر الواجهة الخلفية الخاصة بك باستخدام POST /v3/transactions/sdk-token/. تستخدمه Didit SDKs على endpoints الموجّهة للأجهزة /v1/transactions/.

الجسم

application/json
txnId
string
مطلوب

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

مثال:

"wd-2026-07-07-0042"

type
string
مطلوب

فئة المعاملة (يتم تعيينها إلى transaction_category)، على سبيل المثال finance، kyc، travelRule، userPlatformEvent، gamblingBet.

مثال:

"travelRule"

info
object
مطلوب

التفاصيل المالية الأساسية للمعاملة (تقابل transaction_details).

subject
object
مطلوب

موضوع المعاملة (مقدم الطلب). يتم تجاهل externalUserId هنا: إذ يتم فرض هوية الموضوع دائماً من vendor_data الخاصة بالرمز token.

txnDate
string<date-time>

وقت حدوث المعاملة (يطابق transaction_at). القيمة الافتراضية هي الوقت الحالي إذا تم حذفه.

zoneId
string

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

counterparty
object

الطرف المقابل للمعاملة (اختياري). بنفس بنية subject؛ يكون externalUserId ذا دلالة هنا.

props
object

أزواج مفتاح-قيمة مخصصة (تُعيّن إلى custom_properties). يمكن الإشارة إلى كل مفتاح في شروط القواعد كـ custom_values.<key>.

travelRule
object

تفاصيل Travel Rule (تطابق travel_rule_details). عند تفعيل Travel Rule للتطبيق، تتجاهل Didit أي status ترسله وتقوم بإدارة التبادل بنفسها.

includeCryptoScreening
boolean | null

تجاوز لكل معاملة لفحص تحليلات البلوكتشين للعملات المشفرة (يقابل include_crypto_screening).

fingerprint_v2
object

حزمة payload الخاصة ببصمة الجهاز didit-fp-v2. يتم إدراجها تلقائياً بواسطة حزم SDK؛ وتكون ذات صلة فقط عند استدعاء wire API مباشرة.

الاستجابة

تم إرسال المعاملة وتتم مراقبتها. نفس شكل تفاصيل GET /v3/transactions/{transaction_id}/، بما في ذلك كتلة action_required عندما يتعين على المستخدم النهائي إكمال إجراء للمتابعة (تقوم حزم SDK بتشغيله تلقائياً بشكل افتراضي).

سجل المراقبة الكامل لمعاملة واحدة، كما يتم إرجاعه بواسطة 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. إعادة فحص المعاملة نفسها تُعد عنصراً جديداً.

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