\BXmaker\AuthUserPhone\Service
namespace BXmaker\AuthUserPhone;
class Service
{
//...
}
Дефолтное значение для действия которое подтверждаем, по умолчанию авторизация
\BXmaker\AuthUserPhone\Service::ACTION_AUTH = 'AUTH'
Вернет оставшееся время на ожидание в секундах до следующей попытки
/**
* @param $waitTimeout - таймаут между запросами
* @param $dateTimeFrom - по умолчанию текущее
* @return int
*/
public function calculateTimeout($waitTimeout, \Bitrix\Main\Type\DateTime $dateTimeFrom = null);
Обработчик оповещений от сервисов, меняющий соответствующие отметки в истории подтверждений
public function callback();
Проверка правильности указанного кода
/**
* @param $phone
* @param $code
* @return Result
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function checkBotCall($phone, $code);
Проверка валидности кода
/**
* @param $phone
* @param $code
* @param null $siteId
* @return Result
* @throws \Bitrix\Main\ObjectException
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function checkSmsCode($phone, $code);
Проверка был ли выполнен звонок пользователя в нашей базе данных, в которой результаты меняются в callback
/**
* @param $phone - телефон пользователя
* @param $callTo - номер на который нужно позвонить
* @return Result
* @throws \Bitrix\Main\IO\FileNotFoundException
* @throws \Bitrix\Main\LoaderException
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function checkUserCall($phone, $callTo);
Генерация кода
/**
* @return string
*/
public function generateCode($len);
Вернет код действия
/**
* @return mixed
*/
public function getAction();
Вернет название типа действия
/**
* @param int $confirmType
* @return mixed|string
*/
public function getConfirmTypeName($confirmType = \BXmaker\AuthUserPhone\Manager::CONFIRM_TYPE_SMS_CODE);
Возвращает массив доступных сервисов, как собственных так и сторонних
/**
* @return array
* @throws \Bitrix\Main\IO\FileNotFoundException
*/
protected static function getHandlersClasses();
Возвращает html select для вставки в форму
/**
* @param $name
* @param string $val
* @param null $id
* @return string
* @throws \Bitrix\Main\LoaderException
* @throws \Bitrix\Main\IO\FileNotFoundException
*/
public function getHtmlSelect($name, $val = '', $id = null);
/**
* @return \BXmaker\AuthUserPhone\Service
*/
public static final function getInstance();
Вернет языкозависимое сообщение
/**
* @param $name
* @param array $arReplace
* @return mixed|string
*/
public function getMessage($name, $arReplace = []);
Возвращает объект класса сервиса по его ID из списка сервисов (из базы)
/**
* @param $serviceId
* @return \BXmaker\AuthUserPhone\Service\Base|null
* @throws \Bitrix\Main\IO\FileNotFoundException
* @throws \Bitrix\Main\LoaderException
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function getObjectById($serviceId);
Вернет объект класса сервиса на основе записи из базы данных
/**
* @param array $arItem
* @return \BXmaker\AuthUserPhone\Service\Base|null
* @throws \Bitrix\Main\LoaderException
* @throws \Bitrix\Main\IO\FileNotFoundException
*/
public function getObjectByItem(array $arItem);
Возвращает массив сервисов доступных
/**
* @return array
* @throws \Bitrix\Main\LoaderException
* @throws \Bitrix\Main\IO\FileNotFoundException
*/
public function getServiceArray();
Возвращает объект класса сервиса для звонка от бота
/**
* @return \BXmaker\AuthUserPhone\Service\Base|null
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function getServiceBotCall();
Вернет список сервисов, [{id => name}]
/**
* @return array
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function getServiceList();
Возвращает объект сервиса для отправки смс либо false если не найден
/**
* @return \BXmaker\AuthUserPhone\Service\Base|null
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function getServiceSms();
Возвращает объект класса сервиса для приема звонка от пользователя
/**
* @return \BXmaker\AuthUserPhone\Service\Base|null
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function getServiceUserCall();
Вернет объект класса для работы с историей проверок, проверять отправленные коды с полученными от пользователя и тп
/**
* @return \BXmaker\AuthUserPhone\Service\History
*/
public function history();
Проверка статусов звонков пользователя, при отсутствии callback пачками
public function importUserCallStatusesAgent();
Вернет объект основного класса
/**
* @return \BXmaker\AuthUserPhone\Manager
*/
public function manager();
Сброс кода действия на значение по умолчанию
/**
* @return $this
*/
public function resetAction();
Отправка смс с текстом
/**
* @param $phone - номер телефона пользователя
* @param $code - код
* @param null $textTemplate - Временный код - #CODE#
* @return Result
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function sendSms($phone, $text);
Установка кода действия на операции
/**
* @param string $action - код действия, по умолчанию AUTH
* @return $this
*/
public function setAction($action);
Запрос звонка от бота
Вернет результат с доп. данными [HISTORY_ID:int, TIMEOUT:int, LENGTH:int, MSG:string]
/**
* @param $phone - номер телефона пользователя
* @return Result
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function startBotCall($phone);
Старт подтверждения смс кодом - будет отправлен кода на указанный номер телефона через настроенный смс сервис в модуле. В случае отсутствия настроенного смс сервиса, будет произведена отправка кода через
Вернет результат с доп данными [HISTORY_ID:int, TIMEOUT:int, LENGTH:init, MSG:string]
/**
* @param $phone - подготовленный номер телефона
* @return Result
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function startSmsCode($phone);
Запрос номера телефона на который должен позвонить пользователь для подтверждения действия
Вернет результат с доп. данными [HISTORY_ID:int, TIMEOUT:int, CALL_TO:string, MSG:string]
/**
* @param $phone - номер телефона пользователя
* @return Result
* @throws \Bitrix\Main\ObjectPropertyException
* @throws \Bitrix\Main\SystemException
* @throws \Bitrix\Main\ArgumentException
*/
public function startUserCall($phone);
Вернет объект для работы с таблицей сервисов, через которые происходит подтверждение телефона - смс код, звонок от робота и тп
/**
* @return ServiceTable
*/
public function table();