Авторизация по номеру телефона

Автозаполнение номеров телефонов на cron'е

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

Чтобы в автоматическом режиме происходила проверка и подстановка номера телефона в нужное поле, была добавлена логика автоматического заполнения.

Поля форматированных номеров

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

Включать автозаполнение при этом не обязательно, копирование работает независимо. Но учитывает настройки для групп пользователей из блока автозаполнения.

2022-04-05_17-32.png

Автозаполнение по Cron заданию

В модуле есть файл который необходимо периодически запускать. Для этого достаточно добавить фоновую задачу с выполнением в ночное время ежеминутно с 2 до 3 часов ночи например.

Файл нужно запускать с параметрами, передав название операции и в данном случае лимит на количество обрабатываемых записей за раз. По умолчанию - 500.

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

Пример крон задания, для обработки за час примерно 30000 пользователей

* 2-3 * * * /usr/bin/php -f /home/bitrix/www/bitrix/modules/bxmaker.authuserphone/tools/cron.php fill 500

Количество обрабатываемых за раз пользователей можно менять под мощности сервера. Следующий запуск не будет выполнен пока не закончится предыдущий, либо не пройдет 2 минуты.

Поэтому если вы хотите запустить выполнение в 1 шаг, задание должно быть примерно таким

0 2 * * * /usr/bin/php -f /home/bitrix/www/bitrix/modules/bxmaker.authuserphone/tools/cron.php fill 30000

Порядок автозаполнения

При включенном автозаполненнии, при выполнении cron задания модуль произведет поиск номера телефона пользователя среди других полей пользователя указанных как источник (в котором может находиться номере телефона).

Если не найдет среди полей пользователя, то дополнительно поищет среди заказов пользователя, в указанных свойствах. Если найдет валидный номер телефона - сохранит его. После этого пользователь сможет авторизовтаься по номеру тлефона.

Можно задать ограничения по группам, в которых будет работать автозаполнение.

Если группы не указаны, автозаполнение будет работать для всех групп.

2022-04-05_17-50.png