دليل API

الموثوقية والأخطاء

طبّق إعادة المحاولة الآمنة والرجوع إلى النص العادي، وعالج الأخطاء وحدود الطلبات، وطابق الاستردادات مع سجل الرصيد.

منع التكرار

المفتاح والطلب نفسيهما

يعيد النتيجة المخزنة دون خصم ثانٍ.

المفتاح نفسه وطلب مختلف

يعيد 409 idempotency_conflict.

الطلب الأصلي قيد التنفيذ

يعيد 409 request_in_progress.

استجابات الأخطاء

تستخدم جميع الأخطاء application/problem+json. تعامل مع code وخزّن request_id واعرض رسالة آمنة للتاجر دون كشف تفاصيل المزود.

application/problem+json
{
  "type": "https://www.lahjty.com/problems/rate-limit-exceeded",
  "title": "Rate limit exceeded",
  "status": 429,
  "code": "rate_limit_exceeded",
  "detail": "Too many requests. Retry after the indicated delay.",
  "request_id": "req_01jexample"
}

سياسة الرجوع وإعادة المحاولة

  1. استخدم مهلة تناسب نقطة النهاية؛ قد تستغرق الوسائط وقتاً أطول من النص.
  2. بعد انتهاء مهلة غير حاسم، أعد الطلب نفسه تماماً مع مفتاح idempotency نفسه.
  3. احترم Retry-After عند 429 وأخطاء المزود المؤقتة.
  4. لا توقف إرسال الحملة بسبب Lahjty. احتفظ بنص التاجر العادي كخيار رجوع.

الاسترداد

تُسوّى المحاولات المدفوعة الفاشلة تلقائياً. راجع refund_pending وcredits_refunded في الطلب المحفوظ؛ لا يؤكد خطأ HTTP وحده اكتمال الاسترداد. تسمح الأخطاء القابلة لإعادة المحاولة بعد التسوية بمحاولة أخرى بالمفتاح نفسه مع الاحتفاظ بالمحاولة السابقة. ينتقل رفض واتساب غير المعدّل الذي يبلغه الشريك إلى PENDING_VERIFICATION من دون تغيير الرصيد. تطبق Lahjty استرداد العملتين مرة واحدة فقط بعد التحقق من دليل موثوق من Meta أو المزود. تُسجّل الإرسالات المعدلة لكنها لا تصبح مرشحة للاسترداد.