Перейти к содержимому
Wbiztool

API проверки номеров

Создание проверки номеров WhatsApp (API)

Проверьте, зарегистрированы ли номера телефонов из списка в WhatsApp, прежде чем писать на них. Используйте этот API, чтобы очищать импортированные списки контактов, проверять номера при регистрации или удалять номера, отправка на которые всё равно завершится ошибкой.

POSThttps://wbiztool.com/api/v1/verification/create/

Тело запроса: JSON (application/json)

Запрос создаёт задачу проверки и сразу возвращает campaign_id. Затем номера проверяются в фоновом режиме одним из ваших подключённых номеров WhatsApp. Используйте campaign_id в API статуса проверки, чтобы следить за ходом проверки, или в API результатов проверки, чтобы получить результаты.

Быстрый пример#

curl -X POST https://wbiztool.com/api/v1/verification/create/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "campaign_name": "Website leads - September",
    "numbers": ["919876543210", "+91 98765 43211", "14155550123"]
  }'

Замените YOUR_API_KEY ключом из раздела Настройки → API ключи. Ключ определяет, к какому рабочему пространству относится задача.

Параметры запроса#

Заголовок

Authorizationheaderобязательно

Bearer YOUR_API_KEY. Ключ должен быть активным и не удалённым. client_id для этого API не нужен.

Content-Typestringобязательно

Должен быть application/json. При любом другом типе содержимого numbers не читается, и вы получите Numbers array is required.

Тело запроса

numbersarray of stringsобязательно

Проверяемые номера телефонов, каждый с кодом страны, например 919876543210 для индийского номера. Перед проверкой каждый номер очищается:

  • удаляются пробелы, +, - и скобки
  • удаляется один ведущий 0
  • результат должен состоять только из цифр и содержать не менее 10 цифр

Номера, не прошедшие проверку, молча отбрасываются. Дубликаты не удаляются, поэтому каждая копия проверяется отдельно.

campaign_namestringнеобязательно

Название, по которому задачу можно найти в панели управления. Если не передано, используется API Verification с датой и временем сервера по IST (UTC+5:30), например API Verification 20260916_154500. Название может быть длиной до 500 символов. Не передавайте null: более длинные названия и null приводят к ошибке HTTP 500.

Ответ#

Успешный запрос возвращает HTTP 200:

{
  "status": "success",
  "message": "Verification task created successfully",
  "campaign_id": 4521,
  "numbers_count": 3,
  "numbers_submitted": ["919876543210", "919876543211", "14155550123"]
}
ПолеТипОписание
statusstring"success". При ошибках возвращается "error".
messagestringVerification task created successfully.
campaign_idintegerID задачи проверки. Используйте его в API статуса проверки и API результатов проверки.
numbers_countintegerСколько номеров принято после очистки.
numbers_submittedarray of stringsОчищенные номера, которые будут проверены. Сравните с тем, что вы отправили, чтобы увидеть, какие номера были отброшены.

Каждый принятый номер изначально получает статус pending. Задача также появляется на странице проверки номеров в вашей панели управления. Карточка задачи там может продолжать показывать «Обработка» и после завершения, поэтому реальное состояние узнавайте через API статуса проверки.

Ошибки#

Ошибки возвращают JSON-тело со status, равным "error", и кодом ошибки HTTP:

{ "status": "error", "message": "No valid phone numbers found" }
HTTPСообщениеКак исправить
405Only POST method allowedОтправьте запрос POST.
401API key requiredДобавьте заголовок Authorization: Bearer YOUR_API_KEY.
401Invalid API keyПроверьте, что ключ существует, не удалён и не отключён.
403Verification feature not available for your planВаш тариф не включает проверку номеров. Повысьте тариф.
400Numbers array is requiredПередайте numbers непустым JSON-массивом с Content-Type: application/json.
400No valid phone numbers foundНи один номер после очистки не содержал 10 или более цифр. Указывайте код страны.
400Request contains N numbers but your plan allows only M verificationsТариф ограничивает количество номеров в одном запросе. Разбейте список на несколько запросов поменьше.
500Internal server error: …Обычно тело JSON некорректно, например из-за лишней запятой в конце.

Как проверяются номера#

  1. Задача ставится в очередь

    API сохраняет каждый принятый номер со статусом pending и сразу возвращает ответ.

  2. Подключённый номер WhatsApp проверяет их

    Номера проверяются не более чем по 10 за раз с помощью номера WhatsApp, подключённого на странице настроек WhatsApp. Каждый номер получает статус verified, если он зарегистрирован в WhatsApp, или invalid, если нет. Проверки выполняются только на подключённом номере, который не занят отправкой сообщений, поэтому во время крупной кампании они могут ждать, пока отправка не закончится.

  3. Вы получаете результаты

    Опрашивайте API статуса проверки, пока overall_status не станет completed, затем прочитайте номера из того же ответа или из API результатов проверки.

Советы#

  • Всегда указывайте код страны. 10-значный местный номер без него проходит проверку длины, но проверяется ровно в том виде, в котором записан, поэтому результат будет не для того номера, который вы имели в виду.
  • Не используйте международный префикс 00. Удаляется только один ведущий 0, поэтому 00919876543210 проверяется как 0919876543210. Передавайте 919876543210.
  • Удаляйте дубликаты самостоятельно перед отправкой, чтобы не тратить лимит тарифа на один запрос на повторы.
  • Проверяйте numbers_submitted, чтобы найти номера, отброшенные из-за недостаточной длины или букв.
  • Большие списки: если вы упираетесь в лимит на один запрос, создайте несколько задач поменьше и отслеживайте каждый campaign_id.

Впервые работаете с проверкой номеров? См. руководство по проверке номеров.