تخطَّ إلى المحتوى

الأخطاء

تستخدم Authevo رموز حالة HTTP القياسية. تُغلَّف الاستجابات الناجحة ضمن كائن data، بينما تُعيد حالات الفشل كائن error يحتوي رمزًا قابلًا للقراءة آليًا ورسالة مقروءة للبشر. تغطّي الجداول أدناه كل رمز يمكن أن تُعيده نقاط النهاية العامة للإرسال والتحقق وTOTP — اعتمد دائمًا على حالة HTTP وعلى error.code في التفرّع، لا على الرسالة، فقد تتغيّر الرسائل.

400 Bad Request
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "body/phone must match pattern \"^\\+[1-9]\\d{6,14}$\""
  }
}

عام ومصادقة

الحالةالرمزالمعنى
400VALIDATION_ERRORجسم الطلب غير صحيح، أو يفتقد حقلًا إلزاميًا، أو رقم الهاتف ليس رقمًا صالحًا بصيغة E.164.
401INVALID_API_KEYترويسة Authorization مفقودة أو المفتاح السري غير صالح.
404NOT_FOUNDالمورد المطلوب (مثل معرِّف طلب OTP) غير موجود أو لا يخص حسابك.
429RATE_LIMIT_EXCEEDEDطلبات كثيرة جدًا. خفِّف الوتيرة وأعِد المحاولة بعد مهلة قصيرة.
500INTERNAL_ERRORفشل شيء ما من جانب Authevo. آمن إعادة المحاولة — هذه الأخطاء مُسجَّلة ومُراقَبة.

الإرسال والتحقق

الحالةالرمزالمعنى
400INVALID_PHONEرقم الهاتف غير صالح أو غير قابل للوصول لهذه النقطة.
400OTP_NOT_FOUNDانتهت صلاحية الرمز، أو استُخدم بالفعل، أو لم يُرسَل قط لهذا الرقم.
409IDEMPOTENCY_KEY_IN_PROGRESSلا يزال هناك طلب بنفس Idempotency-Key قيد المعالجة — انتظر انتهاءه بدلًا من إرسال محاولة ثالثة.
409TEMPLATE_NOT_READYقالب رسالة WhatsApp لم يُعتمَد بعد على الرقم المُرسِل. يتحوّل تلقائيًا إلى Telegram إذا كان المستلم قد ربط حسابه.
409CHANNEL_NOT_LINKEDفشل التسليم عبر WhatsApp ولم يربط هذا المستلم Telegram بعد — لم يُسلَّم شيء. استدعِ نقطة ربط Telegram لهذا الرقم أولًا.
429TOO_MANY_ATTEMPTSمحاولات تحقق فاشلة كثيرة جدًا لهذا الرقم. انتظر قبل إعادة المحاولة.
500DELIVERY_FAILEDتعذّر تسليم الرسالة عبر أي قناة. آمن إعادة المحاولة.
503TELEGRAM_UNAVAILABLEالتحويل الاحتياطي إلى Telegram غير متاح حاليًا.

مصادقة ثنائية (TOTP)

الحالةالرمزالمعنى
400TOTP_NOT_ENROLLEDلا يوجد تسجيل TOTP نشط لهذا الرقم للتحقق منه أو تعطيله.
409ALREADY_ENROLLEDيملك هذا الرقم بالفعل تسجيل TOTP مؤكَّدًا. مرِّر replace: true لإصدار تسجيل جديد.
429TOO_MANY_ATTEMPTSمحاولات تحقق فاشلة كثيرة جدًا لهذا الرقم. انتظر قبل إعادة المحاولة.
503TOTP_NOT_CONFIGUREDTOTP غير متاح مؤقتًا من جانب Authevo.

الفوترة والرصيد

الحالةالرمزالمعنى
402INSUFFICIENT_CREDITSرصيد حسابك أقل من المبلغ اللازم للإرسال — أضِف رصيدًا مدفوعًا مسبقًا للمتابعة (يلزم حدّ أدنى قدره $2).
402DEPOSIT_REQUIREDلم يشهد حسابك أي إيداع من قبل — أضِف رصيدًا مدفوعًا مسبقًا قبل أول عملية إرسال.
402FREE_TRIAL_EXHAUSTEDاستخدمت كل عمليات التحقق المجانية. أضِف رصيدًا لمواصلة الإرسال.
429SPEND_CAP_EXCEEDEDبلغت سقف الإنفاق الساعي. يُعاد ضبطه تلقائيًا؛ ارفعه من لوحة التحكم إن كنت تصل إليه كثيرًا.
500BILLING_ERRORنجحت عملية التحقق نفسها، لكن فوترتها فشلت — من جانب Authevo لا جانبك. يُسجَّل ويُسوَّى تلقائيًا؛ نتيجة التحقق الناجحة تبقى قائمة.
503FREE_TRIAL_PAUSEDالفترة المجانية متوقفة مؤقتًا على مستوى المنصة بالكامل. أعِد المحاولة قريبًا، أو أضِف رصيدًا للإرسال فورًا.
اعتمد دائمًا على حالة HTTP وعلى error.code في التفرّع، لا على الرسالة — فقد تتغيّر الرسائل.

حدود المعدّل

تخضع الطلبات لتحديد المعدّل لكل رقم هاتف ولكل عنوان IP مصدر. عند تجاوز حد ما تُجيب الواجهة بـ 429 RATE_LIMIT_EXCEEDED — تراجَع وأعِد المحاولة بعد مهلة قصيرة. هذه هي الأرقام الحقيقية والحالية، لا أرقام توضيحية.

النطاقالحدالنافذة الزمنية
رقم هاتف المستلم نفسه (الإرسال)3 طلبات10 دقائق
عنوان IP المصدر نفسه10 طلباتساعة واحدة
محاولات تحقق فاشلة، لنفس رقم الهاتف5 محاولاتحظر لمدة 15 دقيقة

الحدّ الآمن

إضافةً إلى الحدود أعلاه، يرصد «الحدّ الآمن» معدّل نجاح حسابك الفعلي: ثلاثة أيام متتالية بمعدّل نجاح تحقق أقل من 55% خلال 24 ساعة تنقل حسابك من الدفع مقابل النجاح إلى مستوى الدفع لكل رسالة حتى يتعافى. إنه حاجز أمان ضد إساءة الاستخدام المستمرة أو تكامل معطوب يُضخّم فاتورتك بصمت — تلقائي، دون أي إعداد.

Idempotency

أرسِل ترويسة Idempotency-Key مع POST /v1/otp/send لجعل إعادة محاولات الشبكة آمنة — تُعيد المحاولة بنفس المفتاح تشغيل الاستجابة الأصلية بدلًا من إرسال (وفوترة) رسالة ثانية.

Idempotency-Key: 5b6b4c9e-6e0a-4b7a-9b7a-2f2b6a7c9e10

ولِّد مفتاحًا جديدًا لكل محاولة إرسال منطقية (UUID خيار جيد)، وأعِد استخدامه فقط عند إعادة محاولة تلك المحاولة بعينها. تكون المفاتيح خاصة بحسابك ويُحتفَظ بها لمدة 24 ساعة — إعادة محاولة بنفس المفتاح أثناء معالجة الطلب الأصلي تُعيد فورًا 409 IDEMPOTENCY_KEY_IN_PROGRESS بدلًا من التسابق معه.

الترويسة اختيارية بالكامل — تعمل الطلبات بدونها تمامًا كما كانت. تستحق الإضافة أينما كان منطق إعادة المحاولة لديك قد يُعيد إرسال الطلب نفسه بعد انتهاء المهلة.