مرجع API · الشحن المباشر
تصحيح بيانات المستلم
/v1/direct-recharges/{operationId}/recipientأرسل قائمة المستلم المصحّحة كاملة حين تكون حالة الشحن المباشر suspendedDataError. تحلّ محل القائمة المحفوظة، بما فيها القيم الاختيارية التي تريد الاحتفاظ بها. يعيد التصحيح الناجح 202 Accepted موقّعًا مع Location وإقرار المعالجة القياسي ذي الحقول الثلاثة، دون بيانات الشحن المباشر أو طلب الشراء؛ اتبع العنوان لقراءة الشحن المباشر.
direct_recharges:createanis.DirectRecharges.UpdateRecipientAsync(operationId, request)- وقّع بصمة محتوى JSON برقم استخدام واحد جديد، دون
Idempotency-Key. يعيد التصحيح الناجح202 Acceptedموقّعًا معLocation: /v1/direct-recharges/{operationId}والحقولoperationIdوoperationType: "directRecharge"وstatus: "processing"فقط. لا يحمل بيانات الشحن المباشر أو طلب الشراء. اقرأ ذلك العنوان أو انتظر إشعارًا قبل إعادة إرسال تصحيح طُبّق بالفعل.
المعاملات
| الاسم | الموضع | النوع | ملاحظات |
|---|---|---|---|
operationIdإلزامي | path | UUID | معرّف UUID بأحرف صغيرة مع الشرطات. |
الاستدعاء
موقَّع بمفتاحك، مع رقم استخدام لمرة واحدة (nonce) وبصمة للمحتوى.
الترويسات: Signature-Input، Signature، Content-Digest، Nonce، X-Anis-Date، Accept-Language (اختياري). تضبطها حزم SDK كلها نيابةً عنك.
المحتوى: UpdateDirectRechargeRecipientRequest، بصيغة JSON.
| الحقل | النوع | ملاحظات |
|---|---|---|
recipientإلزامي | list of DirectRechargeRecipientInput | أرسل قائمة المستلم المصحّحة كاملة. تحلّ محل القائمة المحفوظة؛ أدرج الحقول المطلوبة والقيم الاختيارية التي تريد الاحتفاظ بها، بما فيها recipient_location. |
الردود
| الحالة | المعنى | المحتوى |
|---|---|---|
| 202 | قُبل — لا نتيجة بعد. | DirectRechargeAccepted |
| 400 | مرفوض: الاستدعاء الموقّع غير سليم البنية. | مشكلة |
| 401 | مرفوض: لم تتم المصادقة. | مشكلة |
| 403 | مرفوض: غير مسموح. | مشكلة |
| 404 | مرفوض: غير موجود، أو ليس لك. | مشكلة |
| 409 | مرفوض: يتعارض مع الحالة الحالية. | مشكلة |
| 422 | مرفوض: الاستدعاء يخالف قاعدة. | مشكلة |
| 429 | مرفوض: بلغتَ حدًا. | مشكلة |
| 503 | لا قرار: خدمة مطلوبة غير متاحة. | مشكلة |
كل ردّ على هذا الاستدعاء موقَّع من أنيس — النجاح وكل رفض. اشترط وجود التوقيع وتحقّق منه قبل أن تتصرف بناءً على الردّ؛ والردّ بلا توقيع فشل، لا يُعدّ ردًّا (كيف).
حالات الرفض
كل رفض لهذا الاستدعاء مشكلةٌ موقَّعة. ابنِ منطقك على رمزها code؛ وكلٌّ منها يرتبط بصفحة تشرح معناه وما عليك فعله.
| الخطأ | الرمز | الحالة |
|---|---|---|
| بيانات اعتماد غير صالحة | invalid_credentials | 401 |
| استدعاء موقّع غير سليم البنية | malformed_signed_request | 400 |
| صلاحية غير كافية | insufficient_scope | 403 |
| عنوان المصدر غير مسموح | source_ip_not_allowed | 403 |
| تجاوزت حدّ الاستدعاءات | rate_limited | 429 |
| فشل التحقق | validation_failed | 422 |
| الخدمة غير متاحة | dependency_unavailable | 503 |
| انتهت مهلة الاستدعاء | request_timeout | 504 |
| خطأ داخلي | internal_error | 500 |
| اكتُشف تكرار | replay_detected | 409 |
| غير موجود | resource_not_found | 404 |
| لا يمكن تعديل المستلم الآن | direct_recharge_not_suspended | 409 |
الأنواع
UpdateDirectRechargeRecipientRequest
| الحقل | النوع | ملاحظات |
|---|---|---|
recipientإلزامي | list of DirectRechargeRecipientInput | أرسل قائمة المستلم المصحّحة كاملة. تحلّ محل القائمة المحفوظة؛ أدرج الحقول المطلوبة والقيم الاختيارية التي تريد الاحتفاظ بها، بما فيها recipient_location. |
DirectRechargeRecipientInput
| الحقل | النوع | ملاحظات |
|---|---|---|
keyإلزامي | string | مفتاح الحقل كما ورد في تعريف المنتج. |
valueإلزامي | string | قيمة الحقل المرسلة؛ ويستخدم اختيار الموقع معرّفه. |
DirectRechargeAccepted
| الحقل | النوع | ملاحظات |
|---|---|---|
operationIdموجود دائمًا | UUID | قيمة UUID نفسها المرسلة في Idempotency-Key لهذا الشراء. |
operationTypeموجود دائمًا | string | تكون دائمًا directRecharge. القيم: directRecharge |
statusموجود دائمًا | string | تكون دائمًا processing؛ النتيجة لم تصبح نهائية. القيم: processing |