مرجع API · الشحن المباشر
طلب الشحن المباشر
POST/v1/wallets/{walletId}/direct-recharges
ادفع من هذه المحفظة ليتولى موظفو أنيس تسليم المبلغ للمستلم. احتفظ بمعرّف العملية نفسه إذا ضاع الردّ. منتجات الفواتير (billing) غير متاحة بعد.
الصلاحيةdirect_recharges:create
المصادقةشراء موقَّع
ردّ أنيسموقَّع
حدود الموظفين التي يُحتسب ضمنهاكل الاستدعاءات، المشتريات (حدّ الطلبات)
حزمة SDK لـ .NETanis.DirectRecharges.CreateAsync(walletId, operationId, request)
- كل ردّ معالجة بالحالة
202 يحتوي فقط operationId وoperationType وstatus: "processing"؛ وتكون operationType هي directRecharge. تستخدم القراءة الكاملة الحالة 200. - عدم ظهور العملية في القراءة لا يثبت غيابها. أعد المحتوى المحفوظ نفسه بمعرّف العملية نفسه وتوقيع جديد. يبقى الردّ على العملية المكررة
202 أثناء تأخر ظهورها. لا تُغلق العملية بالرمز idempotency_conflict والحالة 409 إلا إذا كشفت هذه المحاولة تكرار العملية بعد مرور 60 ثانية أو أكثر منذ قبولها الأول، ثم لم تجدها قراءة لاحقة خاصة بتطبيقك. غياب القراءة أو انتهاء المهلة وحده لا يثبت التعارض. ولا يثبت هذا الرمز أن شيئًا لم يُخصم: فقد يكون الطلب الأول قُبل بالفعل، فاقرأ العملية قبل أي محاولة جديدة. - تُحتسب عملية الشراء ضمن حدّ
orders الحالي وسقف الإنفاق اليومي نفسه للتطبيق مع طلبات البطاقات والمشتريات الأخرى.
المعاملات
| الاسم | الموضع | النوع | ملاحظات |
|---|
walletIdإلزامي | path | UUID | معرّف UUID بأحرف صغيرة مع الشرطات. |
الاستدعاء
موقَّع بمفتاحك، مع رقم استخدام لمرة واحدة (nonce) وبصمة للمحتوى ومعرّف العملية في Idempotency-Key.
الترويسات: Signature-Input، Signature، Content-Digest، Nonce، Idempotency-Key، X-Anis-Date، Accept-Language (اختياري). تضبطها حزم SDK كلها نيابةً عنك.
المحتوى: CreateDirectRechargeRequest، بصيغة JSON.
| الحقل | النوع | ملاحظات |
|---|
productIdإلزامي | UUID | معرّف منتج الشحن المباشر المختار. |
payoutAmountإلزامي | string | نص مبلغ التسليم المطلوب من عرض السعر. |
expectedTotalإلزامي | any | الإجمالي الذي أكّدته من الباقة أو عرض السعر، بصيغة Money وعملة LYD. فحص الرصيد دقيق حتى 999,999.999 LYD. |
recipientإلزامي | list of DirectRechargeRecipientInput | قيم المستلم بمفاتيحها، ويُتحقق منها وفق هذا المنتج. |
note | string | ملاحظتك الاختيارية لعملية الشحن المباشر هذه. |
externalReference | string | مرجعك الخاص؛ يظهر إن أرسلته. |
الردود
كل ردّ على هذا الاستدعاء موقَّع من أنيس — النجاح وكل رفض. اشترط وجود التوقيع وتحقّق منه قبل أن تتصرف بناءً على الردّ؛ والردّ بلا توقيع فشل، لا يُعدّ ردًّا (كيف).
حالات الرفض
كل رفض لهذا الاستدعاء مشكلةٌ موقَّعة. ابنِ منطقك على رمزها code؛ وكلٌّ منها يرتبط بصفحة تشرح معناه وما عليك فعله.
الأنواع
CreateDirectRechargeRequest
| الحقل | النوع | ملاحظات |
|---|
productIdإلزامي | UUID | معرّف منتج الشحن المباشر المختار. |
payoutAmountإلزامي | string | نص مبلغ التسليم المطلوب من عرض السعر. |
expectedTotalإلزامي | any | الإجمالي الذي أكّدته من الباقة أو عرض السعر، بصيغة Money وعملة LYD. فحص الرصيد دقيق حتى 999,999.999 LYD. |
recipientإلزامي | list of DirectRechargeRecipientInput | قيم المستلم بمفاتيحها، ويُتحقق منها وفق هذا المنتج. |
note | string | ملاحظتك الاختيارية لعملية الشحن المباشر هذه. |
externalReference | string | مرجعك الخاص؛ يظهر إن أرسلته. |
| الحقل | النوع | ملاحظات |
|---|
keyإلزامي | string | مفتاح الحقل كما ورد في تعريف المنتج. |
valueإلزامي | string | قيمة الحقل المرسلة؛ ويستخدم اختيار الموقع معرّفه. |
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 | قيم المستلم المحفوظة وتسميات عرضها. |
note | string | ملاحظتك الاختيارية لعملية الشحن المباشر هذه. |
externalReference | string | مرجعك الخاص؛ يظهر إن أرسلته. |
requestedAtموجود دائمًا | string (date-time) | وقت طلب عملية الشحن المباشر بتوقيت UTC. |
completedAt | string (date-time) | وقت الإكمال إن ورد، بتوقيت UTC. |
proofUrl | string | عنوان إثبات التسليم المحفوظ إن ورد؛ دون ضمان للوصول أو مدة الصلاحية. |
reason | string | سبب التعليق أو الرفض في إحدى حالتيه. |
partialRefund | DirectRechargePartialRefund | مبالغ الإعادة الجزئية المسوّاة والمتبقي؛ لا تحدث إلا إذا فُعّلت الإعادة الجزئية للمنتج. |
DirectRechargeProductReference
| الحقل | النوع | ملاحظات |
|---|
idموجود دائمًا | UUID | معرّف منتج الشحن المباشر المختار. |
titleموجود دائمًا | string | نص منتج الشحن المباشر المعروض. |
DirectRechargePayout
| الحقل | النوع | ملاحظات |
|---|
amountموجود دائمًا | string | مبلغ التسليم كنص عشري. |
currencyموجود دائمًا | DirectRechargeCurrency | كائن اسم عرض عملة التسليم. |
DirectRechargeCurrency
| الحقل | النوع | ملاحظات |
|---|
nameموجود دائمًا | string | اسم العرض الوارد لهذا العنصر. |
Money
| الحقل | النوع | ملاحظات |
|---|
amountموجود دائمًا | string | نص عشري، وليس عدد JSON. قد يكون رصيد المحفظة سالبًا عند استخدام الدين المسموح. تتبع الأسعار والإجماليات قواعد المبلغ لكل مسار. |
currencyموجود دائمًا | string | رمز عملة من ثلاثة أحرف كبيرة، مثل LYD. اقرأ عملة المحفظة من balance.currency. |
asOf | string (date-time) | وقت قراءة هذا السعر أو الرصيد. |
DirectRechargeRecipientValue
| الحقل | النوع | ملاحظات |
|---|
keyموجود دائمًا | string | مفتاح الحقل كما ورد في تعريف المنتج. |
name | LocalizedText | تسميات العرض بالعربية والإنجليزية مع حذف اللغة الفارغة. |
valueموجود دائمًا | string | قيمة الحقل المرسلة؛ ويستخدم اختيار الموقع معرّفه. |
valueName | string | اسم عرض القيمة المختارة إن ورد. |
LocalizedText
| الحقل | النوع | ملاحظات |
|---|
ar | string | النص العربي؛ يُحذف حين يكون فارغًا. |
en | string | النص الإنجليزي؛ يُحذف حين يكون فارغًا. |
DirectRechargePartialRefund
| الحقل | النوع | ملاحظات |
|---|
refundedPayoutموجود دائمًا | string | نص مبلغ التسليم المعاد أو المتبقي بعملة المنتج. |
refundedTotalموجود دائمًا | Money | مبلغ المحفظة المعاد أو المتبقي بالدينار الليبي. |
remainingPayoutموجود دائمًا | string | نص مبلغ التسليم المعاد أو المتبقي بعملة المنتج. |
remainingTotalموجود دائمًا | Money | مبلغ المحفظة المعاد أو المتبقي بالدينار الليبي. |
DirectRechargeAccepted
| الحقل | النوع | ملاحظات |
|---|
operationIdموجود دائمًا | UUID | قيمة UUID نفسها المرسلة في Idempotency-Key لهذا الشراء. |
operationTypeموجود دائمًا | string | تكون دائمًا directRecharge. القيم: directRecharge |
statusموجود دائمًا | string | تكون دائمًا processing؛ النتيجة لم تصبح نهائية. القيم: processing |