Возможности API Демо Попробовать

Обращения к сервису

Статистика без личных данных

Считаем обращения, а не людей. Запросы кода включают неудачные попытки, прошедшие ограничение частоты.

35Запросов кода
13Успешных проверок

Счётчик запросов включает сохранившуюся историю; ранние обращения могли не сохраниться. Успешные проверки учитываются с 02.10.2026.

Бета

Код уже ждёт в боте

Один раз поделитесь своим контактом и включите «Запомнить меня». При следующих запросах на сайте бот пришлёт код сам.

Подключаете AuthPhone впервые? Начните с обычного входа. Не используйте ссылки беты (start=remember) для первого подключения сервиса. Сначала подключите и проверьте получение кода через start=start, затем добавьте «Запомнить меня» как необязательную возможность. Инструкция обычного подключения →

Попробовать в демо

Подключение по желанию. Обычный вход через контакт остаётся.

AuthPhone Пример, не настоящий код
  1. 01
    Подтвердите свой контакт

    Откройте личный чат с ботом и поделитесь номером через его кнопку.

  2. 02
    Разрешите запомнить привязку

    Прочитайте условия и нажмите «Запомнить меня (бета)» в боте.

  3. 03
    Запросите код на сайте

    Код придёт в подключённый бот без повторной отправки контакта.

Код входа AuthPhone482 916Код действует 3 минуты. Не передавайте его другим людям.

Для беты сохраняем HMAC номера, зашифрованную привязку к чату, дату согласия и счётчики отправок до удаления. Номер и коды на диск не записываем. Удалить привязку можно командой /forget в боте. Подробнее о хранении

Мощные возможности

Все необходимое для безопасной аутентификации по телефону

Безопасная генерация кодов

Проверка шестизначных кодов через HMAC-SHA256. Срок действия 3 минуты, запись удаляется после успешной проверки или истечения срока.

Интеграция с Telegram

Бесшовная интеграция с Telegram ботами для доставки кодов и взаимодействия с пользователями.

Интеграция с MAX

Поддержка российского мессенджера MAX — альтернативный канал доставки кодов для ваших пользователей.

Валидация в реальном времени

Проверка номеров в международном формате и кодов с обратной связью. Номер должен совпадать с контактом в мессенджере.

Защита от дубликатов

Предотвращает дублирование кодов и номеров телефонов в течение 3-минутного окна.

RESTful API

Чистые, хорошо документированные REST API эндпоинты для легкой интеграции.

Документация API

Два POST-запроса для подтверждения номера. Проверяйте код через /auth из своего backend перед созданием сессии.

POST /generate-code

Запрос шестизначного кода. В ответе возвращается номер телефона; сам код пользователь получает у бота.

{
  "phoneNumber": "+12025550123"
}
Response:
{
  "status": "ok",
  "code": "12025550123"
}
POST /auth

Проверка кода аутентификации для номера телефона

{
  "phoneNumber": "12025550123",
  "code": "366275"
}
Response:
{
  "status": "ok",
  "message": "success"
}
GET /health

Проверка состояния сервера

Response:
{
  "status": "ok",
  "message": "Server is running"
}

Для кого подходит

AuthPhone идеально подходит для различных проектов и сценариев использования

Веб-сайты

Добавьте аутентификацию по телефону на свой сайт. Простая интеграция через API.

Мобильные приложения

Используйте для верификации пользователей в мобильных приложениях.

E-commerce

Подтверждение заказов, восстановление паролей, двухфакторная аутентификация.

Корпоративные системы

Безопасный вход в корпоративные системы и приложения.

Как использовать

Интегрируйте AuthPhone в свой проект за несколько минут. Бесплатно и без регистрации.

1

Добавьте форму на сайт

Вставьте простую HTML форму для ввода номера телефона

2

Отправляйте запросы

Используйте наш API для генерации и проверки кодов

3

Пользователи получают коды

Коды доставляются через Telegram или MAX бота на выбор пользователя

integration.js
// Генерация кода аутентификации
const response = await fetch('https://authphone.su/generate-code', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    phoneNumber: '+12025550123'
  })
});

// Проверка кода
const verify = await fetch('https://authphone.su/auth', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    phoneNumber: '+12025550123',
    code: '366275'
  })
});

Обычный вход: полная схема подключения

Ваш сайт показывает форму и кнопки ботов. AuthPhone создаёт и проверяет код. Сам переход в бот код не создаёт.

  1. На своём сайте запросите номер телефона с кодом страны.
  2. С вашего backend вызовите POST https://authphone.su/generate-code с JSON {"phoneNumber":"+79991234567"}. Прежде чем продолжить, проверьте HTTP-статус и status: "ok" в JSON. Поле "code" в этом ответе содержит введённый телефон, а не шестизначный код.
  3. Покажите на своём сайте кнопки Telegram / MAX из примера ниже и поле для шестизначного кода. Пользователь открывает бота, при необходимости нажимает «Начать», затем «Поделиться контактом». Номер контакта должен совпадать с введённым на сайте. Пересланный контакт не подходит.
  4. Пользователь возвращается на ваш сайт и вводит код в течение трёх минут с момента запроса.
  5. Ваш backend вызывает POST https://authphone.su/auth с тем же phoneNumber и шестизначным code в виде строки. Создавайте сессию пользователя только при успешном HTTP-ответе и одновременном наличии status: "ok" и message: "success" в JSON.

Кнопки ботов: готовый HTML

<a href="https://t.me/myauth_superbot?start=start"
   target="_blank" rel="noopener noreferrer">
  Получить код в Telegram
</a>

<a href="https://max.ru/id773001707708_1_bot?start=start"
   target="_blank" rel="noopener noreferrer">
  Получить код в MAX
</a>

Это постоянные ссылки на ботов AuthPhone. Не добавляйте в URL телефон, код или секреты. AuthPhone не вставляет кнопки на ваш сайт и не перенаправляет пользователя автоматически.

«Запомнить меня» — отдельная необязательная бета

Для обычного входа используйте start=start. Ссылки start=remember относятся к подключению функции «Запомнить меня»; не подставляйте их вместо ссылок обычного входа. Автодоставка доступна только после явного включения беты пользователем внутри бота. Оставьте возможность получить код вручную.

Если код не приходит, сначала проверьте ответ /generate-code. code_pending означает, что предыдущий код ещё действует: получите его в боте или дождитесь истечения. rate_limited означает, что нужно подождать перед новым запросом. Успешный запрос ещё не подтверждает доставку сообщения ботом.

Что мы храним

Без базы телефонов и кодов

Номера телефонов и коды не записываем на диск. Для проверки используем HMAC-SHA256: в памяти до 3 минут остаются HMAC номера и кода, случайный идентификатор и время истечения. После успешной проверки или истечения срока запись удаляется.

Для обычных запросов постоянно сохраняем только общие счётчики. Добровольная бета «Запомнить меня» дополнительно хранит HMAC номера, зашифрованную привязку к чату, дату согласия и счётчики отправок до удаления через /forget в боте. На сайте нет аналитических трекеров.

При вводе номера и доставке кода сервис обрабатывает их временно. Для защиты от частых запросов IP учитывается в памяти до 3 минут. Переписка и контакты в мессенджерах хранятся по правилам Telegram и MAX.

Вопросы перед интеграцией

Это SMS?

Нет. Код получает пользователь через бота, поделившись своим контактом. Нужен аккаунт в Telegram или MAX с тем же номером.

Какие есть ограничения?

До 5 запросов кода с одного IP за 3 минуты. Один активный код на номер, срок действия 3 минуты, до 5 неверных проверок. После успешной проверки код использовать повторно нельзя.

Как подключить безопасно?

Запрашивайте и проверяйте код через свой backend. Создавайте сессию только после ответа /auth со status: ok и message: success. Предусмотрите обработку истёкшего кода и недоступности мессенджера.

Начните использовать прямо сейчас

Бесплатный API для подтверждения номера телефона. Без регистрации, с ограничением частоты запросов для защиты от злоупотреблений.