كل إخفاق يعيد جسم JSON فيه حقل code. وحالة HTTP تخبرك إن كانت إعادة المحاولة تنفع: 4xx يعني أن الطلب خاطئ وسيظلّ يفشل، و5xx يعني أن عطلاً حدث عندنا وإعادة المحاولة معقولة.
| الرمز | HTTP | المعنى والعلاج |
|---|---|---|
auth_unknown | 401 | لا موزّع بهذا الاسم. راجع حقل Username في الخادم. |
auth_invalid | 401 | التوقيع لم يطابق. إمّا المفتاح خاطئ وإمّا ساعتك منحرفة أكثر من ساعة. |
ip_blocked | 403 | حسابك مقيَّد بعناوين محدّدة وجاء الطلب من غيرها. أرسل لنا عنوانك الجديد. |
api_disabled | 503 | أوقفنا الواجهة مؤقتاً. لا شيء تصلحه من جهتك. |
action_unknown | 404 | العملية غير موجودة. غالباً نسخة وحدة قديمة. |
params_missing | 400 | معامل مطلوب جاء فارغاً. الرسالة تسمّيه. |
not_owned | 404 | الخدمة ليست لك، أو لا معرّف لها عندنا. |
plan_forbidden | 403 | رمز الباقة خارج اتفاقك. أعد قراءة الرموز من GetPlans. |
reseller_unlinked | 400 | حسابك غير مربوط بسجلّ فوترة عندنا بعد. راسلنا. |
cycle_invalid | 400 | دورة فوترة غير معروفة على المنتج. |
cycle_unavailable | 400 | الباقة لا تُباع على تلك الدورة. سعرها كان -1. |
plan_unchanged | 400 | طُلب تغيير الباقة إلى الباقة المستعملة أصلاً. |
action_failed | 500 | عطل عندنا. إعادة المحاولة آمنة؛ أبلغنا إن تكرّر. |
فحص الاتصال يفشل بتوقيع غير صالح
السبب في الغالب ساعة الخادم. الطلبات تُوقَّع بالساعة بتوقيت UTC. قارن ساعتك بـserverTime الذي نعيده، وتأكّد أن NTP يعمل:
date -u timedatectl status # NTP synchronized: yes
ونقبل توقيع الساعة السابقة أيضاً، فالساعة المتأخّرة حتى ستين دقيقة تعمل، وما بعدها يُرفض. وإن كانت الساعة سليمة فالمفتاح خاطئ — اطلب منّا مفتاحاً جديداً. لا نستطيع قراءة مفتاحك الحالي، بل استبداله فقط.
الطلبات تفشل مع نجاح فحص الاتصال
اقرأ كتلة readiness في ردّ الفحص. قد يكون الاتصال سليماً تماماً وحسابك غير مأذون له بالطلب بعد. وهما أمران منفصلان عن قصد، لتتمكّن من إعداد التكامل قبل استكمال الشروط التجارية.
الإيقاف أو الإنهاء يقول إن الخدمة ليست لك
الخدمة المحلية بلا معرّف مرتبط عندنا، وهذا يحدث مع الخدمات المستوردة أو المُنشأة يدوياً. ولن نخمّن أي خدمة قصدت، لأن التخمين الخاطئ يوقف زبون شخص آخر. أرسل لنا تفاصيل الخدمة ونربطها.
كل شيء ينتهي بمهلة
افحص الخروج من خادم WHMCS نفسه لا من جهازك. الطلب المجرّد إلى نقطة النهاية بلا ترويسات يجب أن يعيد 401. وهذا يعني أنك تصل إلينا وأن المصادقة وحدها ناقصة — وهو الصواب تماماً.
حين تفتح تذكرة
أرفق اسم المستخدم واسم العملية وردّ JSON كاملاً. فحقل code يوصلنا في خطوة واحدة إلى ما يحتاج الوصف إليه عدّة رسائل. ولا ترفق مفتاحك أبداً.