مرجع API · الشحن المباشر

متابعة عملية شحن مباشر مطلوبة

GET/v1/direct-recharges/{operationId}

تابع الدفع والتسليم وتصحيح بيانات المستلم والمبالغ المعادة فعلًا لعملية شحن مباشر طلبها تطبيقك.

الصلاحيةdirect_recharges:read
المصادقةقراءة موقَّعة
ردّ أنيسموقَّع
حدود الموظفين التي يُحتسب ضمنهاكل الاستدعاءات
حزمة SDK لـ ‎.NETanis.DirectRecharges.GetAsync(operationId)
  • كل ردّ معالجة بالحالة 202 يحتوي فقط operationId وoperationType وstatus: "processing"؛ وتكون operationType هي directRecharge. تستخدم القراءة الكاملة الحالة 200.
  • إذا رُفض الإنشاء وسُجّل رفضًا فلا شحن مباشر نشأ: تعيد القراءة هذا الرفض المسجّل (409 أو 422) مع Idempotency-Replayed: true، ولم يُخصم شيء. وعند القراءة يعني idempotency_conflict أنه لا يوجد شحن مباشر لتطبيقك بهذا المعرّف.

المعاملات

الاسمالموضعالنوعملاحظات
operationIdإلزاميpathUUIDمعرّف UUID بأحرف صغيرة مع الشرطات.

الاستدعاء

موقَّعة بمفتاحك. بلا محتوى وبلا رقم استخدام لمرة واحدة (nonce).

الترويسات: Signature-Input، Signature، X-Anis-Date، Accept-Language (اختياري). تضبطها حزم SDK كلها نيابةً عنك.

المحتوى: لا يوجد.

الردود

الحالةالمعنىالمحتوى
200نجاح.DirectRecharge
202قُبل — لا نتيجة بعد.DirectRechargeAccepted
400مرفوض: الاستدعاء الموقّع غير سليم البنية.مشكلة
401مرفوض: لم تتم المصادقة.مشكلة
403مرفوض: غير مسموح.مشكلة
404مرفوض: غير موجود، أو ليس لك.مشكلة
409مرفوض: يتعارض مع الحالة الحالية.مشكلة
422مرفوض: الاستدعاء يخالف قاعدة.مشكلة
429مرفوض: بلغتَ حدًا.مشكلة
503لا قرار: خدمة مطلوبة غير متاحة.مشكلة

كل ردّ على هذا الاستدعاء موقَّع من أنيس — النجاح وكل رفض. اشترط وجود التوقيع وتحقّق منه قبل أن تتصرف بناءً على الردّ؛ والردّ بلا توقيع فشل، لا يُعدّ ردًّا (كيف).

حالات الرفض

كل رفض لهذا الاستدعاء مشكلةٌ موقَّعة. ابنِ منطقك على رمزها code؛ وكلٌّ منها يرتبط بصفحة تشرح معناه وما عليك فعله.

الخطأالرمزالحالة
بيانات اعتماد غير صالحةinvalid_credentials401
استدعاء موقّع غير سليم البنيةmalformed_signed_request400
صلاحية غير كافيةinsufficient_scope403
عنوان المصدر غير مسموحsource_ip_not_allowed403
تجاوزت حدّ الاستدعاءاتrate_limited429
فشل التحققvalidation_failed422
الخدمة غير متاحةdependency_unavailable503
انتهت مهلة الاستدعاءrequest_timeout504
خطأ داخليinternal_error500
غير موجودresource_not_found404
الرصيد غير كافٍinsufficient_balance409
تغيّر السعرprice_changed409
منتج الشحن المباشر غير متاحdirect_recharge_product_unavailable409
المبلغ خارج الحدودamount_out_of_range422
معرّف العملية مستخدم من قبلidempotency_conflict409

الأنواع

DirectRecharge

الحقلالنوعملاحظات
operationIdموجود دائمًاUUIDقيمة UUID نفسها المرسلة في Idempotency-Key لهذا الشراء.
statusموجود دائمًاDirectRechargeStatusالحالة المدمجة المعروضة للعميل؛ تضيف الإعادة الجزئية مبالغ بدل حالة جديدة.
numberموجود دائمًاintegerرقم عملية الشحن المباشر المسجّل.
walletIdموجود دائمًاstringالمحفظة المستخدمة في هذا الشراء.
productموجود دائمًاDirectRechargeProductReferenceمعرّف منتج الشحن المباشر المشترى وعنوانه.
payoutموجود دائمًاDirectRechargePayoutنص مبلغ التسليم وعملته المسماة؛ وليس بصيغة Money للدينار.
exchangeRateموجود دائمًاstringسعر الصرف المعروض كنص عشري.
priceموجود دائمًاMoneyالسعر بالدينار الليبي مع تعديلات الموقع وشريحة المحفظة المطبّقة.
commissionموجود دائمًاMoneyالعمولة بالدينار الليبي المشمولة في total.
totalموجود دائمًاMoneyإجمالي تكلفة المحفظة بصيغة Money وعملة LYD. فحص الرصيد دقيق حتى 999,999.999 LYD.
recipientموجود دائمًاlist of DirectRechargeRecipientValueقيم المستلم المحفوظة وتسميات عرضها.
notestringملاحظتك الاختيارية لعملية الشحن المباشر هذه.
externalReferencestringمرجعك الخاص؛ يظهر إن أرسلته.
requestedAtموجود دائمًاstring (date-time)وقت طلب عملية الشحن المباشر بتوقيت UTC.
completedAtstring (date-time)وقت الإكمال إن ورد، بتوقيت UTC.
proofUrlstringعنوان إثبات التسليم المحفوظ إن ورد؛ دون ضمان للوصول أو مدة الصلاحية.
reasonstringسبب التعليق أو الرفض في إحدى حالتيه.
partialRefundDirectRechargePartialRefundمبالغ الإعادة الجزئية المسوّاة والمتبقي؛ لا تحدث إلا إذا فُعّلت الإعادة الجزئية للمنتج.

DirectRechargeStatus

DirectRechargeProductReference

الحقلالنوعملاحظات
idموجود دائمًاUUIDمعرّف منتج الشحن المباشر المختار.
titleموجود دائمًاstringنص منتج الشحن المباشر المعروض.

DirectRechargePayout

الحقلالنوعملاحظات
amountموجود دائمًاstringمبلغ التسليم كنص عشري.
currencyموجود دائمًاDirectRechargeCurrencyكائن اسم عرض عملة التسليم.

DirectRechargeCurrency

الحقلالنوعملاحظات
nameموجود دائمًاstringاسم العرض الوارد لهذا العنصر.

Money

الحقلالنوعملاحظات
amountموجود دائمًاstringنص عشري، وليس عدد JSON. قد يكون رصيد المحفظة سالبًا عند استخدام الدين المسموح. تتبع الأسعار والإجماليات قواعد المبلغ لكل مسار.
currencyموجود دائمًاstringرمز عملة من ثلاثة أحرف كبيرة، مثل LYD. اقرأ عملة المحفظة من balance.currency.
asOfstring (date-time)وقت قراءة هذا السعر أو الرصيد.

DirectRechargeRecipientValue

الحقلالنوعملاحظات
keyموجود دائمًاstringمفتاح الحقل كما ورد في تعريف المنتج.
nameLocalizedTextتسميات العرض بالعربية والإنجليزية مع حذف اللغة الفارغة.
valueموجود دائمًاstringقيمة الحقل المرسلة؛ ويستخدم اختيار الموقع معرّفه.
valueNamestringاسم عرض القيمة المختارة إن ورد.

LocalizedText

الحقلالنوعملاحظات
arstringالنص العربي؛ يُحذف حين يكون فارغًا.
enstringالنص الإنجليزي؛ يُحذف حين يكون فارغًا.

DirectRechargePartialRefund

الحقلالنوعملاحظات
refundedPayoutموجود دائمًاstringنص مبلغ التسليم المعاد أو المتبقي بعملة المنتج.
refundedTotalموجود دائمًاMoneyمبلغ المحفظة المعاد أو المتبقي بالدينار الليبي.
remainingPayoutموجود دائمًاstringنص مبلغ التسليم المعاد أو المتبقي بعملة المنتج.
remainingTotalموجود دائمًاMoneyمبلغ المحفظة المعاد أو المتبقي بالدينار الليبي.

DirectRechargeAccepted

الحقلالنوعملاحظات
operationIdموجود دائمًاUUIDقيمة UUID نفسها المرسلة في Idempotency-Key لهذا الشراء.
operationTypeموجود دائمًاstringتكون دائمًا directRecharge. القيم: directRecharge
statusموجود دائمًاstringتكون دائمًا processing؛ النتيجة لم تصبح نهائية. القيم: processing