Google Sheets — API профилей WhatsApp

Проверьте столбец телефонных номеров непосредственно в Google Таблицах с помощью Apps Script. Вставьте номера, выполните команду в меню и получите результаты в соседних столбцах.

Настраивать

  1. Откройте лист.
  2. Расширения → Скрипты приложений.
  3. Вставьте скрипт ниже.
  4. Замените YOUR_DIRECT_KEY.
  5. Сохраните. Перезагрузите таблицу. Появится новое меню WhatsApp API.
  6. Введите номера телефонов в столбец A (с кодом страны, без знака «+»). Запустите WhatsApp API → Проверьте столбец A.

Apps Script

// Direct proxy: use your direct-purchase key from our dashboard.
// RapidAPI marketplace: set API_BASE = "https://wp-data.p.rapidapi.com"
// AND uncomment the x-rapidapi-host header below.
const API_KEY = "YOUR_DIRECT_KEY";
const API_BASE = "https://whatsapp-proxy.checkleaked.cc";

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu("WhatsApp API")
    .addItem("Validate column A", "validateColumnA")
    .addToUi();
}

function validateColumnA() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const lastRow = sheet.getLastRow();
  if (lastRow < 2) return;
  const numbers = sheet.getRange(2, 1, lastRow - 1, 1).getValues();

  // Header row
  sheet.getRange(1, 2, 1, 4).setValues([["isWAContact", "about", "isBusiness", "profilePic"]]);

  for (let i = 0; i < numbers.length; i++) {
    const number = String(numbers[i][0]).replace(/[^0-9]/g, "");
    if (!number) continue;

    try {
      const res = UrlFetchApp.fetch(
        `${API_BASE}/number/no_picture/${number}`,
        {
          headers: {
            "x-rapidapi-key": API_KEY,
            // "x-rapidapi-host": "wp-data.p.rapidapi.com",  // RapidAPI only
          },
          muteHttpExceptions: true,
        }
      );
      const data = JSON.parse(res.getContentText());
      sheet.getRange(i + 2, 2, 1, 4).setValues([[
        data.isWAContact || false,
        data.about || "",
        data.isBusiness || false,
        data.profilePic || "",
      ]]);
    } catch (e) {
      sheet.getRange(i + 2, 2).setValue("ERROR");
    }

    // Respect tier burst limits — sleep 500 ms between requests (2/sec). MEGA tier: 250 ms (4/sec).
    Utilities.sleep(500);
  }
}

Рекомендации по объему

  • В Google Sheets Apps Script установлено ограничение на время выполнения в 6 минут. При частоте запросов 2 в секунду (BASIC/PRO/ULTRA) обрабатывается около 700 чисел за один запуск; в MEGA при частоте запросов 4 в секунду — около 1400.
  • Для списков, содержащих более 1000 номеров, воспользуйтесь нашим сервисом пакетной обработки — один вызов, загрузка CSV-файла и вставка результатов.
  • У приложения UrlFetchApp от Apps Script есть отдельная квота на суточное использование — 20 000 вызовов для бесплатных аккаунтов и 100 000 для Workspace. Необходимо отслеживать обе стороны.

Запуск при редактировании строки

Для реализации алгоритма "проверка при вставке" добавьте устанавливаемый триггер:

function onEditValidate(e) {
  if (e.range.getColumn() !== 1 || e.range.getRow() < 2) return;
  // ... call validateSingleRow(e.range.getRow())
}

Установить через Триггеры → Добавить триггер → onEditValidate → Из электронной таблицы → При редактировании.

Связанный

Что говорят наши пользователи

Настоящие отзывы от наших довольных клиентов

Отзывы пока недоступны