Отправка смс

Если у вас не установлен модуль СМС Оповещений, то для того чтобы отправлялись смс получателю, нужно  использовать API смс сервиса и написать обработчики на события данного модуля. А именно на событие отправки смс с временным кодом,  с информацией об успешной регистрации и с новым паролем при изменении.

Если у вас стоит модуль СМС Оповещений, то ничего делать не нужно,   все будет работать сразу после установки и настройки каждого из модулей

Ниже приведен пример обработчиков и класса, который вы можете подправить под себя и разместить в файле /bitrix/php_interface/init.php  или /local/php_interface/init.php

// регистрируем обработчики событий
AddEventHandler('bxmaker.authuserphone', 'onSendCode', array('CBXmakerTools', 'authUserPhoneonSendCode'));
AddEventHandler('bxmaker.authuserphone', 'onUserChangePassword', array('CBXmakerTools', 'authUserPhoneonUserChangePassword'));
AddEventHandler('bxmaker.authuserphone', 'onUserAdd', array('CBXmakerTools', 'authUserPhoneUserAdde'));


class CBXmakerTools
{

    private static $smsLogin = '**';
    private static $smsPass = '****';
    private static $smsSender = '***';

    /**
    * Отправка временного кода
    * @param $arFields
    */
    public static function authUserPhoneonSendCode($arFields)
    {
          self::sendSms($arFields['PHONE'], 'Ваш временный код - ' . $arFields['CODE']);
    }

    /* после смены пароля */
    public static function authUserPhoneonUserChangePassword($arFields)
    {
        self::sendSms($arFields['PHONE'], 'Ваш новый пароль - ' . $arFields['PASSWORD']);
    }

    /* после регистрации */
    public static function authUserPhoneUserAdde($arFields)
    {
        self::sendSms($arFields['PHONE'], 'Вы успешно зарегистрированы на сайте, используйте для входа логин - ' . $arFields['PHONE'] . ' и пароль - ' . $arFields['PASSWORD']);
    }


    public static function sendSms($phone, $text){

        $arFields = array(
            'user' => self::$smsLogin,
            'password' => self::$smsPass,
            'recipient' => $phone,
            'message' => \Bitrix\Main\Text\Encoding::convertEncoding($text, SITE_CHARSET, 'UTF-8' )
        );

        if(self::$smsSender)
       {
           $arFields['sender'] = self::$smsSender;
       }

       $oHttp = new \Bitrix\Main\Web\HttpClient();
       $oHttp->post('*********',$arFields); // вместо * - нужно указать адрес API смс сервиса  на которые нужно отправлять запросы

    }


}