SMS-верификация для браузер-агентов — решено
Ваш браузер-агент (OpenAI Operator, Anthropic Computer Use, Browserbase, Skyvern, custom Playwright/Puppeteer) прекрасно навигирует по страницам, заполняет формы, а потом наталкивается на «пожалуйста, подтвердите номер телефона».
Ваш браузер-агент (OpenAI Operator, Anthropic Computer Use, Browserbase, Skyvern, custom Playwright/Puppeteer) прекрасно навигирует по страницам, заполняет формы, а потом наталкивается на «пожалуйста, подтвердите номер телефона». Cash App, Coinbase, Stripe Atlas, Tinder, банковские приложения все проверяют, VoIP ли это. Twilio падает. Реальные номера от US-карьеров проходят. В этом гайде разбираемся, как вставить эту логику в loop вашего агента и забыть о проблемах с верификацией.
Попробуйте с 5 бесплатными номерами
Реальные US номера, ~98% успешных верификаций, webhook-доставка за <3 секунды.
Типичный паттерн, который нужен большинству браузер-агентов
- Агент переходит на страницу регистрации (Cash App, Coinbase или что-то ещё)
- Агент заполняет email, пароль, имя
- Агент натыкается на поле «номер телефона»
- 👉 Агент вызывает API MeiSIM:
POST /v1/numbers/provision - API возвращает: номер телефона (за 30-60 секунд)
- Агент вводит номер в форму
- Агент отправляет форму
- Сервис отправляет SMS с кодом на номер MeiSIM
- MeiSIM отправляет SMS на ваш webhook (за <3 сек от момента получения)
- Агент читает payload webhook'а, извлекает 4-8 значный код из текста
- Агент вводит код в форму верификации
- Аккаунт верифицирован. Миссия продолжается.
Паттерн для OpenAI Operator
Tool-use loop Operator позволяет регистрировать custom tools. Добавьте tool get_us_phone_number, который вызывает MeiSIM API и возвращает номер. Добавьте tool wait_for_sms_code, который опрашивает эндпоинт messages в течение 60 секунд и извлекает код. Operator автоматически цепляет эти tools вместе, когда натыкается на страницу верификации.
Паттерн для Anthropic Computer Use (Claude)
Аналогичный паттерн через schema Claude'а для tool-use. Определите два tools:
Или используйте наш MCP-сервер — Claude вызывает tools через естественный язык без нужды в custom определениях.
Интеграция с Browserbase / Skyvern
Обе платформы выставляют hooks для «form-filling intelligence» — они автоматически определяют, что нужно каждому полю на основе DOM страницы. Настройте их вызывать MeiSIM при обнаружении «Phone» полей на страницах верификации. Агент получит номер прозрачно и продолжит работу.
Custom Playwright / Puppeteer агенты
Для агентов, которые вы писали сами, интеграция это одна async функция:
Стратегия ротации номеров
Некоторые сервисы привязывают номер к одному аккаунту навсегда (Coinbase, Stripe Atlas, US банки). Используйте свежий номер MeiSIM для каждой регистрации при работе с такими. Другие сервисы (Tinder, Bumble, соцсети) допускают один номер на 5-10 аккаунтов, после чего репутация деградирует. Паттерн: держите пул активных номеров, ротируйте их, удаляйте помеченные как suspicious.
Специфика работы с браузер-автоматизацией
Браузер-агенты часто встречаются с дополнительными преградами помимо SMS:
- Fraud detection: сервисы блокируют IP или устройства, которые выглядят как боты. Используйте rotating proxy или резидентские IP для снижения блокировок.
- Session management: некоторые сервисы требуют валидного user-agent и session cookies. Убедитесь, что ваш браузер-агент их сохраняет между запросами.
- Timing: сервисы могут детектить неестественно быстрое заполнение форм. Добавьте случайные delays между действиями в коде агента.
- CAPTCHA и Turnstile: эти проблемы отдельны от SMS-верификации. Для них нужны специализированные сервисы (2Captcha, AntiCaptcha, CAPTCHA-решатели на основе ML).
Какие сервисы мы протестировали
Вот неполный список сервисов, для которых реальные номера гарантируют прохождение верификации (обновляется):
- Финансовые: Cash App, Coinbase, Stripe, PayPal, Wise, Revolut, Chime, Mercury, Brex
- Знакомства и социалка: Tinder, Bumble, Hinge, Match, OnlyFans, Discord, WhatsApp Business, Telegram, Instagram, TikTok, Facebook, Twitter/X
- Маркетплейсы: Amazon seller, eBay, Etsy, Walmart, Shopify, Mercari, Poshmark
- Крипто: Coinbase, Kraken, Binance.US, Gemini, Robinhood
- Гиг-экономика: Uber driver, Lyft, DoorDash, Instacart, Grubhub
- Стриминг: Netflix US, Hulu, Disney+ US, Paramount+
- Банки: большинство US банков, кредитные кооперативы, Chime, Revolut
API rate limits и best practices
Для production агентов имейте в виду:
- Rate limit на provision: 100 запросов/минуту на API ключ
- Каждый номер живет 30 дней или пока не будет released вручную
- Webhook retry policy: 3 попытки с exponential backoff
- Webhook timeout: 30 секунд на обработку вашим сервером
- Polling frequency: не чаще 1 запроса в 2 секунды, чтобы не триггерить rate limit
Мониторинг и логирование
Рекомендуем логировать для каждого номера:
- Timestamp provision запроса
- Сервис, на который идёт верификация
- Статус: success, timeout, fraud_detected, number_blocked
- Время от provision до первого SMS (latency metric)
- Время от SMS до successful verification (if available)
Это поможет вам определить, какие сервисы проблемные, и оптимизировать ротацию номеров.
Встройте в ваш агент
Получите доступ к API, вставьте функцию верификации в loop, задеплойте.
Часто задаваемые вопросы
Почему мой браузер-агент падает на SMS-верификации?
Twilio и облачные телефонные провайдеры используют VoIP номера, которые помечены как suspicious. Fraud detection отклоняет их (~30-40% отказов). Реальные номера от AT&T, T-Mobile, Verizon проходят в ~98% случаев.
Как агент узнаёт, когда SMS пришло?
Два варианта: webhook (лучше для production, MeiSIM POSTит SMS на ваш URL за <3 сек) или polling (лучше для прототипирования, GET /v1/numbers/{id}/messages возвращает последние сообщения).
Можно ли переиспользовать один номер для много регистраций?
Зависит от сервиса. Cash App, Coinbase, Stripe Atlas привязывают номер к аккаунту навечно — используйте свежий номер на каждую регистрацию. Tinder, Bumble, соцсети допускают 5-10 аккаунтов на один номер перед деградацией репутации. В документации есть паттерн ротации.
Это работает с headless Playwright?
Да — API полностью HTTP-based. Ваш агент просто делает fetch запросы. Смотрите пример кода выше для Playwright/Puppeteer.
Что делать с reCAPTCHA / Cloudflare Turnstile при регистрации?
Это отдельная проблема. Мы решаем SMS-верификацию; для CAPTCHA используйте 2Captcha, AntiCaptcha или специализированные CAPTCHA-решатели.
Какой процент успеха при верификации с реальными номерами?
~98% успешных попыток на реальных номерах от US-карьеров. Это в разы выше, чем у VoIP провайдеров. Стабильность зависит от типа сервиса и гео-репутации номера.
Сколько времени занимает получение номера?
Выделение номера: 30-60 секунд. Это время включено в total timeout агента. Первое SMS может прийти за 2-30 сек после отправки формы в зависимости от сервиса.
Поддерживаете ли вы Anthropic Claude?
Да, есть MCP-сервер (@meisim/mcp-server). Также можно определить custom tools через Claude's tool-use schema для получения номера и ожидания кода.
Работает ли это с OpenAI Operator?
Да, регистрируете custom tools get_us_phone_number и wait_for_sms_code в tool-use loop Operator, он сам вызывает их при обнаружении phone-полей на страницах верификации.
Поддержка Browserbase и Skyvern?
Оба имеют hooks для form-filling intelligence. Настройте их на вызов MeiSIM при обнаружении Phone-полей, агент получит номер прозрачно.
Могу ли я использовать один номер для нескольких сервисов одновременно?
Да, один номер может получать SMS от разных сервисов одновременно. Убедитесь, что вы правильно парсите SMS и соотносите каждый код с нужным сервисом.
Какие сервисы точно поддерживают реальные номера без проблем?
Cash App, Coinbase, Stripe, Tinder, Bumble, большинство US банков, соцсети (Instagram, Facebook, TikTok), маркетплейсы (Amazon, eBay). Список постоянно растёт по мере того, как мы тестируем новые сервисы.
Есть ли разница между prepaid и contract номерами?
Для верификации разницы нет. Реальные prepaid номера от US-карьеров работают идентично обычным номерам. Разница может быть в стоимости содержания и регулятивных требованиях, но для SMS-верификации это не имеет значения.
Сколько стоит использование API?
Стартовый план от $25/месяц, включает 5 свободных номеров и базовый лимит на SMS. Для high-load агентов есть enterprise-тарифы с custom условиями.
Что если номер заблокируют как fraud?
Сервисы могут помечать номера как suspicious. Просто переходите на свежий номер из пула. В API документации описана стратегия ротации для оптимизации репутации номеров.
Поддерживаются ли international агенты или только US-based?
API поддерживает агентов из любой страны. Главное, чтобы они могли делать HTTPS запросы на наши эндпоинты. Номера всегда US-based (это требование сервисов для верификации).