Адрес компании
г.Банраул, ул.Попова 256Б
Email: vrezerve@mail.ru
Тел: +7 902 998 1019
Ежедневно / По запросу
Пн / Пт: 09-00 до 19-00
Сб: 09-00 до 19-00
Вс: 10-00 до 15-00
Доп. средства связи
WA: +79029981019
IG: @vrezerve
VK: @vrezerve
Назад
  • Административный интерфейс – отдельный раздел в WP-Admin (Call Auth) с вкладками: «Настройки», «Логи», «Диагностика», «Помощь».

  • Дашборд – отображение ключевых метрик за последние 24 часа и 7 дней, быстрые ссылки на основные разделы, встроенный чек-лист готовности к работе.

  • Настройка API и вебхуков – указание API ID от SMS.RU, URL API, генерация секретного ключа для вебхука с возможностью тестового запроса. API-ключ хранится в базе данных (без хардкода).

Обновления + Багфиксы

v3.5.5 - Градиентная шкала пароля красный→зелёный

Прогресс-бар пароля теперь всегда содержит полный градиент красный → оранжевый → жёлтый → салатовый → зелёный через linear-gradient(90deg, #d94848, #e07c3f, #e6b93a, #4fa858, #2e9e5e). Заполненная часть открывается через clip-path: inset(0 X% 0 0) — цвет всегда соответствует реальной точке на шкале, а не сплошной заливке уровня.

Авторизация по звонку SMS.ru

v3.5.4 - Поле пароля ВСЕГДА видно после звонка (критичный фикс)

Шаблон рендерил шаг 3 по условию passwordless_register. Из-за page-cache/object-cache настройка могла «застревать» на 1, пользователь видел «Регистрация успешно завершена» без полей пароля, а сервер (с настройкой=0) отвечал «Введите пароль» → форма откатывалась на шаг 1.

v3.5.3 - Настоящий фикс маски «+7 (900)»

Backspace останавливался на «+7 (900)» — браузер удалял «)», а oninput дорисовывал её обратно. Добавлен keydown-перехватчик: если Backspace попадает на разделитель (), (, —, ), удаляется и разделитель, и предшествующая цифра одним нажатием, потом маска пересобирается через formatPhone(digits.slice(0,-1)).

v3.5.2 — Обязательный ввод пароля + индикатор сложности + липкий +7
  • Passwordless-регистрация отключена по умолчанию + одноразовая миграция WCCA_Installer::maybe_migrate() принудительно ставит passwordless_register=0 у существующих инсталляций.
  • Индикатор сложности пароля — прогресс-бар с 4 уровнями (слабый/средний/хороший/надёжный), тексты редактируются в админке → Тексты.
  • Липкий префикс +7 — PHONE_PREFIX константа, focus/click ставит +7 и пинит каретку на позицию 3, keydown блокирует Backspace/Delete внутри префикса, blur очищает поле если внутри только префикс.
v3.5.1 - Постустановочные баги + аудит email
  • При регистрации на долю секунды мелькали поля пароля и форма откатывалась на телефон → JS теперь вызывает api(‘register’) ДО перехода на шаг 3; сервер всегда генерирует пароль при пустом $password + верифицированной сессии (устойчиво к рассинхронизации фронт/бэк).
  • Маска телефона: последняя «7» залипала → добавлено if (digits.length <= 1) return »; в formatPhone().
  • Email старых пользователей не соответствовал текущему домену → в админке → «Пользователи» добавлены: колонка Email, бэйдж «домен устарел», кнопка «Пересчитать email по текущему домену» (обходит всех WCCA-юзеров и делает wp_update_user).
v3.5.0 - Мобильная адаптация + анти-конфликт с темами + редиректы
  • Формы не были адаптированы для мобильных → добавлены медиа-запросы @media (max-width: 640px) и 380px, крупные кнопки на телефонах.
  • Стили темы перебивали плагин → все layout-критичные CSS-правила выводятся с !important, добавлена настройка «Форсировать стили плагина (force_style_override)».
  • Стандартные формы WooCommerce виднелись под плагином → добавлена настройка custom_hide_selectors (textarea CSS-селекторов, скрываются на my-account), в baseline попали .u-column1, .u-column2, .woocommerce-form-*.
  • После авторизации не было редиректа → 3 новых URL-поля в админке (Оформление → «Редиректы»): redirect_after_login/register/reset. AJAX-ответы теперь возвращают redirect, JS уводит пользователя на нужную страницу.

Основное

Что делает плагин

Заменяет стандартные формы WooCommerce на my-account (или показывает через шорткод) на форму авторизации по номеру телефона. Пользователь **звонит бесплатно** на короткий номер, выданный SMS.RU, и после соединения его аккаунт создаётся/входит автоматически — SMS-код вводить не нужно, пароль тоже не обязателен.

Основные сценарии

Вход по звонку: (passwordless) Пользователь ввёл номер → нажал «Войти по звонку» → позвонил → мгновенно залогинен
Регистрация по звонку: (passwordless) Ввёл номер → позвонил → аккаунт создан с случайным паролем + автовход
Классический вход: Ввёл номер и пароль → залогинен (если passwordless-вход выключен в админке)
Восстановление пароля: Ввёл номер → позвонил → задал новый пароль
Оба режима переключаются: В админке: WP → Авторизация → Верификация → «Способ входа и регистрации»

Как работает верификация звонком
1. Пользователь вводит номер телефона в форме.
2. Плагин делает запрос `POST https://sms.ru/callcheck/add` с `api_id` и телефоном.
3. SMS.RU возвращает `check_id` и **`call_phone`** — короткий номер, на который клиент должен позвонить.
4. Клиенту показывается модальное окно с этим номером и кнопкой «Позвонить» (`<a href=»tel:…»>` — работает на iOS/Safari/Android).
5. Клиент звонит с указанного номера. SMS.RU **сбрасывает** звонок (клиент ничего не платит).
6. SMS.RU отправляет webhook на плагин: `POST /wp-json/wcca/v1/webhook?secret=…` со статусом `401 = подтверждён`. Параллельно фронтенд опрашивает `POST /callcheck/status` раз в 3 сек как fallback.
7. Плагин помечает сессию как `verified` и:
— для входа — авторизует существующего пользователя;
— для регистрации — создаёт нового пользователя (с случайным паролем или предложенным пользователем);
— для восстановления — разрешает задать новый пароль.
У пользователя есть **5 минут** на совершение звонка (настраивается: 60–3600 сек).
Установка
1. Скачайте ZIP.
2. WP-Admin → Плагины → Добавить → Загрузить плагин → выберите ZIP → Активировать.
3. Откройте боковое меню **«Авторизация»** → **«API / Вебхук»**.
4. Вставьте `API ID` от SMS.RU (получить: sms.ru → Личный кабинет → API → «Ключ для внешних приложений»).
5. Скопируйте `Webhook URL` со страницы и вставьте в SMS.RU (Callcheck → Уведомления).
6. Готово. Плагин автоматически заменит формы на странице `/my-account/` — либо используйте шорткод `[wcca_auth_forms]` на любой странице.
Админка

Функциональные возможности плагина

  • Дашборд – отображение ключевых метрик за последние 24 часа и 7 дней, быстрые ссылки на основные разделы, встроенный чек-лист готовности к работе.

  • Настройка API и вебхуков – указание API ID от SMS.RU, URL API, генерация секретного ключа для вебхука с возможностью тестового запроса.

  • Верификация пользователей – выбор способа входа (без пароля или с паролем), настройка TTL сессии, интервалов опроса, лимитов запросов (rate-limits) и назначение роли по умолчанию.

  • Оформление интерфейса – настраиваемая цветовая схема, регулируемая ширина карточки, бесконфликтный режим (замена стандартных форм WooCommerce или использование только шорткода).

  • Текстовое наполнение – более 30 редактируемых надписей для всех элементов формы: заголовки, кнопки, ссылки, системные сообщения.

  • Логирование системы – выбор уровня логирования (error / warning / info / debug), одновременная запись в базу данных и файл, настройка срока хранения (ретеншен), очистка при удалении плагина.

  • Просмотр логов – фильтрация по уровню, каналу и ключевым словам, доступ к файловым логам, навигация в стиле экспорта данных.

  • Управление пользователями – список всех номеров, когда-либо взаимодействовавших с системой, с агрегированной статистикой (события, верификации, входы, ошибки). При клике открывается временная шкала событий конкретного пользователя с привязкой к WP-аккаунту.

  • Диагностика – полная сводка окружения сервера и готовый чек-лист для передачи в техническую поддержку.

  • Справка и документация – пошаговая инструкция по подключению SMS.RU, описание доступных шорткодов и список CSS-переменных для кастомизации.

Безопасность
  • Дашборд – отображение ключевых метрик за последние 24 часа и 7 дней, быстрые ссылки на основные разделы, встроенный чек-лист готовности к работе.

  • Настройка API и вебхуков – указание API ID от SMS.RU, URL API, генерация секретного ключа для вебхука с возможностью тестового запроса.

  • Верификация пользователей – выбор способа входа (без пароля или с паролем), настройка TTL сессии, интервалов опроса, лимитов запросов (rate-limits) и назначение роли по умолчанию.

  • Оформление интерфейса – настраиваемая цветовая схема, регулируемая ширина карточки, бесконфликтный режим (замена стандартных форм WooCommerce или использование только шорткода).

  • Текстовое наполнение – более 30 редактируемых надписей для всех элементов формы: заголовки, кнопки, ссылки, системные сообщения.

  • Логирование системы – выбор уровня логирования (error / warning / info / debug), одновременная запись в базу данных и файл, настройка срока хранения (ретеншен), очистка при удалении плагина.

  • Просмотр логов – фильтрация по уровню, каналу и ключевым словам, доступ к файловым логам, навигация в стиле экспорта данных.

  • Управление пользователями – список всех номеров, когда-либо взаимодействовавших с системой, с агрегированной статистикой (события, верификации, входы, ошибки). При клике открывается временная шкала событий конкретного пользователя с привязкой к WP-аккаунту.

  • Диагностика – полная сводка окружения сервера и готовый чек-лист для передачи в техническую поддержку.

  • Справка и документация – пошаговая инструкция по подключению SMS.RU, описание доступных шорткодов и список CSS-переменных для кастомизации.

  • Защита от злоупотреблений – rate-limit по IP (звонки/час) и по телефону (звонки/час) для предотвращения подделки запросов; brute-force защита для классического входа по паролю (10 неудачных попыток с одного IP за 15 минут).

  • Безопасность вебхука – секретный webhook, принимающий подтверждения только с корректным параметром ?secret=... (32 символа, генерируется автоматически, перегенерация одной кнопкой).

  • Полное логирование событий – опциональная запись всех значимых действий: API-запросы, входы, регистрации, отказы, срабатывания rate-limits и вебхуки.

  • Отсутствие конфликтов – все хуки, классы и CSS-селекторы имеют префикс wcca_ / .wcca-, что гарантирует совместимость с темой и сторонними плагинами.

  • Совместимость с WooCommerce – задекларирована поддержка HPOS и Cart/Checkout Blocks.

  • Корректная обработка данных – пароли не проходят через sanitize_text_field и сохраняются в исходном виде.

  • Защита от CSRF – все AJAX-запросы защищены через WordPress-nonce.

AJAX-эндпоинты

JAX-эндпоинты (доступны как для авторизованных, так и для неавторизованных пользователей – wp_ajax_* и wp_ajax_nopriv_*)

Действие Назначение
wcca_send_call Запрос к SMS.RU на генерацию номера для звонка (поддерживаемые типы: login, register, reset)
wcca_check_phone Опрос статуса верификации (используется как fallback, если вебхук не пришёл)
wcca_login_by_call Выполнение passwordless-входа после успешного подтверждения звонком
wcca_login Классический вход по паролю
wcca_register Регистрация нового пользователя (с паролем или в passwordless-режиме)
wcca_reset_password Смена пароля

Прочее + Хуки

Хуки WordPress

Плагин не переопределяет стандартные хуки WooCommerce агрессивно. Подключение происходит только в следующих точках:

  • woocommerce_before_customer_login_form (priority 5) – вывод форм на странице my-account (если включён режим замены)

  • wcca_daily_cleanup – крон-задача для очистки старых логов

  • before_woocommerce_init – декларация совместимости с HPOS и Cart/Checkout Blocks

  • plugins_loaded – инициализация (bootstrap) плагина

  • rest_api_init – регистрация вебхук-эндпоинта

Собственные хуки для расширения (для сторонних плагинов и тем):

  • Все AJAX-действия доступны для перехвата через фильтры wp_ajax_wcca_*

  • Логирование реализовано через WCCA_Logger::log() – метод может быть переопределён или расширен

Устранение неполадок (пошаговая инструкция)
  1. Откройте раздел Авторизация → Диагностика – ознакомьтесь с чек-листом. Все пункты должны иметь статус «да».

  2. Проверьте, что API ID указан на странице API / Вебхук.

  3. Убедитесь, что URL вебхука добавлен в личном кабинете SMS.RU (без вебхука система работает через опрос, но медленнее).

  4. Включите Логирование на уровне debug, воспроизведите проблемный сценарий, затем откройте раздел Логи – там будет полная история AJAX- и API-вызовов.

  5. При обращении в службу поддержки приложите таблицу из раздела Диагностика.

Обратите внимание:

  • Разработчик не ведёт регулярную поддержку плагина. Исправления и обновления выходят только по мере необходимости, а не по фиксированному графику.
  • Все доработки, кастомизация под конкретные задачи, помощь в настройке и устранение нестандартных ситуаций осуществляются исключительно на платной основе.
  • Если вам нужна гарантированная поддержка, срочное исправление ошибок или интеграция со специфической темой / плагином — рассчитывайте на отдельную оплату работ.

HPOS-совместимость с WooCommerce.

Авторизация по звонку SMS.ru

* Настраиваемая длина кода, время жизни сессии, лимит попыток.
* Двойное логирование: файл + таблица БД + просмотр в админке.
* Rate-limiting (по IP и по телефону) от подделки заявок.
* Brute-force защита логина.

Плагин выложен в открытый доступ по многочисленным просьбам начинающих разработчиков и владельцев проектов, которые нуждаются в быстром и рабочем решении "из коробки".

Совместимость

,

Релиз

Июль 2026

Тестировался

, ,

Мы используем Яндекс метрику и cookie файлы