New: Facebook profile pictures
Enable fbProfilePic to retrieve the picture linked to a Facebook leak. Images are versioned and remain available from cache.
Коди помилок — API даних WhatsApp
Усі відповіді на помилки відповідають одному й тому ж конверту: HTTP-статус + повідомлення про помилку + числовий код + позначка часу.
Форми конвертів (спостережувані)
Проксі-сервер повертає одну з двох форм залежно від режиму відмови:
Коротка помилка (автентифікація / обмеження пакетної передачі / перевірка):
{ "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,
...
}Завжди перевіряйте поле помилки навіть для 200 відповідей (наприклад, /number_cache може повернути 200 з повідомленням про помилку всередині).
Поширені статуси HTTP
| HTTP | Значення | Дія |
|---|---|---|
| 400 | Недійсний номер телефону — має збігатися ^[0-9]+$ (лише цифри, без +). | Видаліть нецифрові елементи перед надсиланням. Перевірте локально за допомогою libphonenumber. |
| 401 | Відсутній або недійсний заголовок x-rapidapi-key. | Додайте заголовки x-rapidapi-key та x-rapidapi-host: wp-data.p.rapidapi.com. |
| 403 | Потрібен активний план, квота вичерпана або кінцева точка не на вашому рівні. | Перевірте підписку на RapidAPI. Оновіть тарифний план або поповніть рахунок. |
| 404 | Кінцеву точку або ресурс не знайдено. | Перевірте URL-шлях. Для /number/{number} невідомий номер все одно повертає WhatsAppEntry з isWAContact: false — перевірте тіло повідомлення, а не статус. |
| 429 | Ліміт пакетної кількості запитів — запити розташовані занадто близько один до одного. Тіло запиту: {"error":"Requests must be at least 0.5 seconds apart"}. | Інтервал сну між запитами має становити щонайменше 500 мс (2 запити/сек). MEGA: 250 мс (4 запити/сек). Прочитайте /api-key-stats → roleInfo.minIntervalSeconds, щоб підтвердити темп виконання вашого плану. |
| 500 | Неочікуваний збій на стороні сервера. | Повторити з експоненціальною відстрочкою. Повідомити, якщо проблема не зникає. |
| 502 / 503 | Каталог WhatsApp з вищого потоку недоступний або тарифний план обмежений з вищого потоку. | Повторити з відстрочкою. Перевірити /api-status. |
| 504 | Час очікування пошуку вище за течією минув. | Повторіть спробу один раз. Спробуйте /number/no_picture/{number} для швидшої відповіді. |
Стратегія повторної спроби
- Повторна спроба: 429 (з опцією «Повторна спроба після»), 500, 502, 503, 504.
- Не повторюйте: 400, 401, 403, 404.
- Затримка: експоненціальна з джиттером. Обмеження 5 спробами. Завжди враховуйте Retry-After.
Приклад 429 тіла
HTTP/1.1 429 Too Many Requests
content-type: application/json
{ "error": "Requests must be at least 0.5 seconds apart" }Пов'язані
Що кажуть наші користувачі
Реальні відгуки від наших задоволених клієнтів
4.5/5 (179 відгуки)