کدهای خطا — API داده واتساپ
همه پاسخهای خطا از یک چارچوب پیروی میکنند: وضعیت HTTP + پیام خطا + کد عددی + مهر زمانی.
شکلهای پاکت (مشاهده شده)
پروکسی بسته به حالت خرابی، یکی از دو شکل زیر را برمیگرداند:
خطای کوتاه (authentication/burst limit/validation):
{ "error": "Requests must be at least 0.5 seconds apart" }خطای طولانی (عدم جستجوی صحیح در /number/no_picture/{n}، /number-simple/{n}) - بدنه همچنان به عنوان یک WhatsAppEntry با فیلدهای اضافی تجزیه میشود:
{
"number": "13105551234",
"isWAContact": true,
"error": "Whatsapp number doesn't exist",
"exists": false,
"reason": "not_found",
"status": 404,
...
}همیشه فیلد خطا را حتی در ۲۰۰ پاسخ بررسی کنید (مثلاً /number_cache میتواند ۲۰۰ را با یک پیام خطا در داخل آن برگرداند).
وضعیتهای رایج HTTP
| اچتیپی | معنی | اکشن |
|---|---|---|
| 400 | شماره تلفن نامعتبر است — باید با ^[0-9]+$ مطابقت داشته باشد (فقط رقم، + مجاز نیست). | قبل از ارسال، اعداد غیررقمی را حذف کنید. با libphonenumber به صورت محلی اعتبارسنجی کنید. |
| 401 | هدر x-rapidapi-key نامعتبر است یا وجود ندارد. | هدرهای x-rapidapi-key و x-rapidapi-host را اضافه کنید: whatsapp-data1.p.rapidapi.com. |
| 403 | طرح فعال مورد نیاز است، سهمیه تمام شده است، یا نقطه پایانی در سطح شما نیست. | اشتراک RapidAPI را بررسی کنید. طرح را ارتقا دهید یا شارژ کنید. |
| 404 | نقطه پایانی یا منبع یافت نشد. | مسیر URL را تأیید کنید. برای /number/{number}، یک شماره ناشناس همچنان یک WhatsAppEntry با isWAContact: false برمیگرداند - بدنه را بررسی کنید، نه وضعیت را. |
| 429 | محدودیت ارسال پشت سر هم — درخواستها خیلی نزدیک به هم. بدنه: {"error":"Requests must be at least 0.5 seconds apart"}. | حداقل ۵۰۰ میلیثانیه بین درخواستها (۲ req/sec) در حالت خواب (sleep) قرار دهید. مگا: ۲۵۰ میلیثانیه (۴ req/sec). برای تأیید سرعت برنامه خود، /api-key-stats → roleInfo.minIntervalSeconds را بخوانید. |
| 500 | خرابی غیرمنتظره سمت سرور. | با backoff نمایی دوباره امتحان کنید. در صورت تداوم، گزارش دهید. |
| 502 / 503 | دایرکتوری واتساپِ بالادستی در دسترس نیست، یا سرعت سرویس از بالادستی محدود شده است. | با backoff دوباره امتحان کنید. /api-status را بررسی کنید. |
| 504 | مهلت جستجوی بالادست به پایان رسید. | یک بار دیگر امتحان کنید. برای پاسخ سریعتر، /number/no_picture/{number} را امتحان کنید. |
استراتژی تلاش مجدد
- تلاش مجدد: ۴۲۹ (با قابلیت تلاش مجدد-بعد از آن)، ۵۰۰، ۵۰۲، ۵۰۳، ۵۰۴.
- دوباره امتحان نکنید: ۴۰۰، ۴۰۱، ۴۰۳، ۴۰۴.
- بازگشت: نمایی با لرزش. حداکثر ۵ تلاش مجدد. همیشه به تلاش مجدد پس از آن احترام بگذارید.
مثال ۴۲۹ بدنه
HTTP/1.1 429 Too Many Requests
content-type: application/json
{ "error": "Requests must be at least 0.5 seconds apart" }مرتبط
آنچه کاربران ما میگویند
نظرات واقعی از مشتریان راضی ما
4.5/5 (167 نظرات)