Подтверждение номеров телефона без SMS

    Сегодня компаниям все чаще нужно верифицировать клиента не только по email, но и по телефонному номеру. Проблем с подтверждением номера по смс две — это дорогой для компании и не всегда безопасный способ — клиенты часто используют временные виртуальные номера.

    Предлагаем простой API метод для авторизации номеров телефонным звонком.



    Зачем нужно?


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

    • Двухфакторной аутентификации
    • Регистрации
    • Восстановления пароля

    Как выше писали, авторизация по СМС часто не совершенна и слишком дорога. Регистрация или двухфакторная авторизация по звонку на телефонный номер сегодня — оптимальный способ подтверждения личности.

    Как работает?


    1. Ваш клиент вводит номер телефона в форме на сайте
    2. Вы генерируете числовой код и отправляете API запрос
    3. Робот звонит клиенту и произносит цифры
    4. Клиент вводит цифры в форме на сайте, тем самым подтверждая номер

    Как видим все предельно просто, все что вам нужно это сгеренировать случайный код и отправить вызов через API.

    Как реализовать


    В открытом API Zadarma есть метод request_checknumber.

    Его параметры:

    • caller_id — номер, с которого совершается звонок, должен быть номером, подключенным в Zadarma;
    • to — номер телефона клиента, которому звонит робот;
    • code — код, который будет воспроизводиться. Набор цифр задаете вы, а воспроизводит голосовой робот, максимальная длина кода — 20 символов;
    • lang — язык начитки кода. Доступные языки — русский, английский, испанский, польский, немецкий, французский, украинский.

    Вы просто генерируете код, отправляете API запрос и ждете пока клиент введет этот код у вас на сайте.

    Что требуется, чтобы начать?


    Несколько простых шагов для того, чтобы использовать авторизацию по номеру телефона в своём сервисе:

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

    Для удобства работы с API Zadarma, рекомендуем использовать официальную библиотеку (php, python и C#). После установки задаете ваши ключи API в подключаемых файлах.

    Вот пример запроса с использованием клиента на языке PHP:

    <?php
    
    use Zadarma_API\Api;
    
    require_once __DIR__.DIRECTORY_SEPARATOR.'include.php';
    
    define('USE_SANDBOX', false);
    $api = new Api(KEY, SECRET, USE_SANDBOX);
    
    $api->call('/v1/request/checknumber/', [
    	"caller_id" => "74990000000",
    	"to" => "79170000000",
    	"code" => "12345",
    	"lang" => "ru"
    ]);

    А вот успешный ответ на данный запрос:

    {
        "status":"success",
        "from":74990000000,
        "to":79170000000,
        "lang":"ru",
        "time":1612779278
    }

    Стоимость


    Интерфейс API Zadarma бесплатный. Для подтверждения номеров оплачивается исходящий звонок (посекундно) и аренда номера для совершения вызовов (1 раз в месяц). Для примера, исходящий звонок с произнесением кода на российский мобильный будет стоить около 30 копеек (примерно 15 секунд). А аренда номера в Москве обойдется в 120 рублей (код 499). В пакетных тарифах звонки еще дешевле, а виртуальный номер уже включен в пакет.
    Zadarma
    Бесплатная облачная АТС, виртуальные номера, CRM

    Комментарии 59

      +4
      авторизация по номеру телефона используют сервисы с целью:
      Двухфакторной аутентификации

      Восстановления пароля

      В этот момент аутентификация из двухфакторной превратилась в однофакторную
        +1
        Можно email и телефон проверить при восстановлении пароля.
          +1
          Даже еще раньше — с тех пор как атаки на ss7 (или подкуп работника оператора для перевыпуска симки) стали доступными.
          В современном мире априори нужно считать что любые ваши смс и звонки могут быть приняты (и совершены) любым заинтересованным лицом и полагаться на них не стоит и даже вредно (тк создает иллюзию защищенности и вынуждает пользоваться телефоном).
            0
            А какие альтернативы? Пуши? Они не имеют никаких логов и доказательно базы, в отличие от смс, как минимум факты передачи которых хранятся у оператора, и доказать неуведомление возможно.
              0

              Программы генерации кодов, например. В случае паранойи — установка такой программы на устройство без выхода в интернет.

                0
                Да, но есть одна проблема. В РФ я нашёл только один банк который так умеет, и тот на Дальнем Востоке. Почему-то все крупные банки резко и массово убрали услугу «криптокалькулятор» или хардварные токены для входа в онлайн банк.
                  0
                  Думаю просто потому что это сложно (хранение/дистрибуция, обучение клиентов, поддержка так как чаще тупят/теряют и т.д.).
                  Никто не предлагает авторизацию по номеру как панацею от всех бед, но часто она подходит по за счет сочетания простоты, массовости и результата.
                    +1

                    Скорее всего, это из-за требований законодательства "однозначно идентифицировать пользователя". При отправке смс считается, что получает его конкретное лицо с конкретными паспортными данными, а при генерации кода приложение могло быть у кого угодно.
                    И нет, генераторы кодов не пропали, например у меня в Авангарде прямо в карточку встроен "калькулятор", куда ввожу код запроса, пароль, он генерит на основании этого код ответа для ввода на сайт.
                    От другого банка был отдельный калькулятор, куда вставлялась карта, и её чип использовался для генерации пароля. Де-юре он "китайский банк", но счёт в российском офисе открыли без проблем. Но тут уже я сам отказался, эта штука габаритная, не удобно.
                    Самых хреновый токен был у мастербанка. Просто брелок без защиты с одной кнопкой. Нажимаешь — генерируется код. Эта хрень не работала больше пары месяцев, потом почему-то коды переставали приниматься банком, приходилось к ним ехать и получать новый.

            +3
            А что делать глухим пользователям?
              0
              Использовать другие варианты авторизации. Например, СМС или email.
              0
              А что, звонок дешевле SMS?
                +4
                Увы, уже да.
                  0
                  Tele2 звонок в регионе 60коп. SMS 5руб.
                  –1
                  есть вариант ещё дешевле
                  открываем страницу — видим код
                  вводим код в бот telegram
                  в браузере открывается разрешённая страница/страницы для этого юзера.
                    +1
                    Да так можно и бесплатно, но это авторизация telegram аккаунта а не номера. В принципе можно также авторизовать через facebook google и прочих. Кому-то подойдет и будет удобно, кому-то нет.
                    +6
                    Где-то видел замену: идет звонок, отбой и надо ввести несколько последних цифр номера. А голос — это слишком долго.
                      0
                      Такое не предлагаем, так как при массовом использовании телефонные операторы могут начать блокировать пустые звонки.
                      Есть еще вариант «если вы подтверждаете… нажмите ...». Такое можно и сейчас сделать через наш API. Но это сложнее в реализации клиентам (нужно слать api запрос с коллбеком, ждать вебхука после дозвона, потом отвечать какой заранее начитанный ivr проиграть, и ждать ответ с результатом DTMF).
                        0

                        Яндекс использует как минимум для подтверждения номера такую схему. Очень удобно. И как отметили выше проблему с глухими пользователями — тут её нет.

                          0
                          Такое не предлагаем, так как при массовом использовании телефонные операторы могут начать блокировать пустые звонки.

                          А расскажите про это, если знаете подробности! Как операторы борются с этими звонками, почему они сейчас (по отзывам) становятся массовым явлением?
                            0
                            Получить кучу пустых звонков заметить не сложно и никто им рад не будет. А некоторые круглые… еще и вечно экспериментируют со своим антифродом, блокируя все что под руку попадется.
                          0
                          Вконтактик
                          +5
                          Сегодня компаниям все чаще нужно верифицировать клиента не только по email, но и по телефонному номеру.

                          Прям таки нужно, ага. Дурацкое копирование дурацких веяний.

                            0
                            Компаниям — нужно. Клиентам — второй вопрос.
                            +6
                            Если мне для авторизации вместо кода в смс/пуше/проге будет кто-то звонить, то этот сервис вместе с номером быстро улетит в ЧС.
                              +1

                              Бывают мобильные номера без SMS (да-да, честные мобильные), а ставить прогу для пушей не всегда хочется, и так уже каждый таракан приложение просит поставить. И это не для авторизации а для регистрации по номеру (т.е. просто подтверждение номера) — без SMS или звонка этого никак не сделать.

                              +2
                              Все эти привязки к телефонным номерам — зло. Вижу такое, сразу мимо прохожу т.к. это нифига не защита а только видимость оной.
                                0
                                Вы мимо всех банков прошли? Или нашли такой где действия совершённые по телефону не являются аналогом собственноручной подписи?
                                  0
                                  Или нашли такой где действия совершённые по телефону не являются аналогом собственноручной подписи?

                                  В Челябинске был такой банк.
                                    0
                                    Его и искать не надо, это любой банк, т.к. аналогом является только квалифицированная ЭП, а SMS и т.п. ей не считаются.
                                      0
                                      Действующая редакция сберовского договора сейчас www.sberbank.ru/common/img/uploaded/files/pdf/udbo_26_02_2021.pdf

                                      2.2. Аналог собственноручной подписи – код, пароль или иной, указанный в Договоре аналог собственноручной подписи, используемый Клиентом для
                                      одтверждения волеизъявления Клиента на совершение операции или удостоверяющий факт составления и/или ознакомления, и/или подписания электронного сообщения, Электронного документа, в том числе договора в электронном виде, заключаемого через Удаленные каналы обслуживания.

                                      2.28.Код подтверждения – используемый в качестве Аналога собственноручной подписи цифровой код для подтверждения Клиентом вида и параметров услуги/операции, осуществленной Клиентом при его обращении в Контактный Центр Банка (либо при осуществлении Банком исходящего телефонного звонка Клиенту). Код подтверждения направляется Банком в SMS-сообщении (с видом и параметрами услуги/операции) на номер мобильного телефона Клиента, зарегистрированный для доступа к SMS-банку
                                      (Мобильному банку) по Карте.

                                      2.36.Одноразовый пароль (Одноразовый код) — пароль одноразового использования. Используется в целях Аутентификации Клиента при выполнении операций на Официальном сайте Банка15 или для дополнительной Аутентификации Клиента при использовании Сбер ID, при входе в Систему «Сбербанк Онлайн», для подтверждения совершения операций на Официальном сайте Банка/в Системе «Сбербанк Онлайн»16, а также операций в сети Интернет с применением технологий «MasterCard SecureCode», «Verified by Visa» и «MirAccept» в качестве Аналога собственноручной подписи и/или в целях безопасности при совершении наиболее рисковых операций.

                                      2.39.ПИН – персональный идентификационный номер, индивидуальный код, присваиваемый каждой Карте и используемый Держателем Карты при совершении операций и иных сделок с использованием Карты/NFC-карты в качестве Аналога его собственноручной подписи.

                                      2.13. Сообщения в электронной форме, направленные Клиентом в Банк через SMS-банк (Мобильный банк), имеют юридическую силу документов на бумажных носителях, заверенных собственноручной подписью Клиента, оформленных в соответствии с требованиями законодательства Российской Федерации, и порождают аналогичные документам на бумажных носителях права и обязанности Клиента и Банка по ДБО. Данные документы в электронной форме могут служить доказательством в суде.


                                      Продолжать? Я много договоров прочитал так что предлагаю вам ещё раз почитать договор со своим банком и обдумать вышесказанное. Повторяю вопрос. Есть ли в РФ хоть сколько-то крупный банк без признания смс аналогом собственноручной подписи.
                                        0
                                        ГК РФ утверждает, что «требование о наличии подписи считается выполненным, если использован любой способ, позволяющий достоверно определить лицо, выразившее волю». А ФЗ «Об электронной подписи», что только усиленная электронная подпись позволяет определить лицо, подписавшее электронный документ. Усиленная, а не квалифицированная, тут я соврал.
                                          0
                                          2.16. Клиент обязан исключить возможность использования третьими лицами номера мобильного телефона, зарегистрированного для доступа к SMS-банку (Мобильному банку).
                                          2.17. Банк не несет ответственности:
                                          – в случае указания в Сообщении неверного реквизита платежа и/или суммы платежа, а также по спорам и разногласиям, возникающим между Клиентом и организациями-получателями платежа;
                                          по претензиям лиц — владельцев номеров мобильных телефонов, зарегистрированных Клиентом для доступа к SMS-банку (Мобильному банку);
                                          – за недоставку SMS-сообщения на Мобильное устройство Клиента, в случае если это обусловлено причинами, не зависящими от Банка (SMS-сообщение не отправлено оператором мобильной связи, отсутствует подключение к мобильной связи, Мобильное устройство Клиента недоступно длительное время и т.п.);
                                          – за ущерб и факт разглашения банковской тайны, возникшие вследствие допуска Клиентом третьих лиц к использованию мобильного телефона, номер которого зарегистрирован Клиентом для доступа к SMS-банку (Мобильному банку);
                                          – за последствия исполнения распоряжения/ совершения сделки на основании Сообщения, переданного в Банк с использованием номера мобильного телефона Клиента, зарегистрированного Клиентом для доступа к SMS-банку (Мобильному банку), в том числе, в случае использования мобильного телефона Клиента неуполномоченным лицом;
                                          за ущерб, возникший вследствие утраты или передачи Клиентом Мобильного устройства неуполномоченным лицам;
                                          – в случае невозможности предоставления услуг через SMS-банк (Мобильный банк) по независящим от Банка обстоятельствам, в том числе по причине не предоставления Банку сторонними организациями необходимых сервисов.

                                          И такое написано в любом топовом банке. И это жесть. И судиться с этим будет невероятно сложно. Причём я уверен что где-то прописано что если лица договорились об упрощённой идентификации то это законно.
                                            0
                                            Про претензии лиц владельцев вообще трешак.
                                              0
                                              Да, ситуация с практикой мутная и неоднозначная, хотя я ее знаю только краем уха и потому все нижесказанное — ИМХО, не претендующее на истину. 1. Банки могут писать в договорах, что угодно, в т.ч. и явно незаконные условия, которые при достаточной настойчивости через суд отменяются в конкретном случае, но поскольку эти паскуды не получают оборотный штраф за такие фокусы, в остальных договорах незаконные пункты сохраняются. 2. Суды часто встают на сторону банков, поскольку в мантии сидит полуграмотное мурло, которому на все плевать, а тут с одной стороны представительный мущщина в дорогом костюме и с хорошо подвешенным языком, сыплющий терминами, которые «ее честь» едва ли не впервые слышит, а с другой — растерянный физик, который лепечет что-то. 3. В результате нарабатывается отрицательная практика, на которую ссылаются юристы банков, как на «прецедент», что служит лишним доводом в пользу их позиции. Круг замыкается, пока клиентом банка не оказывается кто-то богатый, упорный или умный, а то и все сразу, доводящий дело до кассации, где оно пересматривается более-менее адекватно. Краем уха опять же слышал, что прецеденты оспаривания «подписи» в виде SMS-кода были.
                                              Это я к тому, что даже если все банки пишут в типовых договорах что-то, это совсем не означает законности написанного (как, впрочем, и обратного). Надо изучать вопрос, на что у рядового клиента банков нет ни времени, ни сил, ни знаний, контрольно-надзорным органам на это плевать, пока очередные обманутые вкладчики дороги не перекроют и поднимется шум, а правозащитные организации у нас занимаются либо зашибанием бабла, либо самопиаром. Не все, конечно, но вот реального общества защиты прав потребителей у нас нет.
                                                0

                                                Да именно так. Вот я почитал договор. И жопа. Я не могу выбрать банк, у них у всех такая муть написана. И, что забавно, у брокеров тоже самое. Массы выбирают простоту против защищённости, и бизнес даёт им это. И что делать конкретно мне — хз. Я пробовал с парой банков заключить договора не указав телефон вообще. Не соглашаются, "программа не печатает". В суд на них подавать?

                                                  0
                                                  Хм… я как-то не обращал внимания, но раньше у меня точно были договора с банками без указания номера телефона. Хотя они очень хотели, но скушали четкое: не дам и не собираюсь объяснять, почему.
                                                  Т.е. Вы хотите просто вариант «сберкассы»: счет без возможности дистанционного управления, без карт, все операции — по личной явке с оформлением бумажек? Тогда в Центробанк и Роснепотребназор как надзорные органы и в суд с иском о понуждении к сделке.
                                                  Но тут ситуация еще веселее: некоторые госуслуги оказываются только в электронной форме, а для этого надо иметь мобильный. И ничего, хавают граждане.
                                                    0
                                                    Госуслуги я подключал со входом по ЭЦП. Что интересно, что когда вышел срок, я просто по телефону поменял привязку на телефон, но это давно было. Да я хочу банк для операций просто посредством личной явки. Даже лучше брокера чем банк. Но одно дело принудить, другое что договора могут менять односторонне, и во всех них прописана юридическая сила телефона, а во многих банках просто имея номер карты можно подключить онлайн банк на любой телефон, если он не присоединён и далее по договору. Да в суде будет гораздо больше рычагов, но хотелось бы не оставлять деньги на произвол судьбы и потом судиться, а просто нормально сделать.
                                                      0
                                                      Сейчас Госуслуги без указания номера мобильного не работают. Даже если раньше работали — оператор портит учетку, удаляет из нее часть данных и якобы требуется обновить их, что без номера мобильного ну никак не сделать. У меня лично так испортили учетку, якобы паспортные данные неполностью указаны были. Что не мешало при этом учетке быть полной, получать по ней загран (без указания данных общегражданского паспорта, ага)…
                                                      Принуждать можно по всем пунктам, в т.ч. и силы телефона. Как где не знаю, в Сбере привязка клиент-банка к номеру только при личном визите, перепривязка — тоже. Был случай, у них глюкнуло что-то в системе и добро пожаловать в ближайший офис.
                                    0
                                    Мне очень интересно, что за бизнес такой, которому потенциальному клиенту отправить смс — дорого.
                                    клиенты часто используют временные виртуальные номера.
                                    Но зачем они это делают? Возможно, их номер вам действительно не нужен?
                                      +1
                                      Но зачем они это делают?

                                      1. Не хотят давать свой настоящий номер. И действительно, зачем его давать всем подряд?
                                      2. На многих веб-сайтах код страны +7 прибит гвоздями.
                                        0
                                        Всем подряд давать и не надо. Вот, скажем, контактику я его даю, чтобы при случае восстановить доступ. Интернет-магазину — по понятным причинам, для уведомлений. А если клиент подсовывает виртуальный номер — очевидно, в нём нет никакой необходимости.
                                          0

                                          Совершенно верно. За исключением случая #2, но таких клиентов меньшинство.

                                            0
                                            А если клиент подсовывает виртуальный номер — очевидно, в нём нет никакой необходимости.

                                            Может быть клиент хочет уважения, и не хочет, чтобы после 1 покупки его стали донимать акциями и рассылками?
                                        0
                                        не всегда безопасный способ — клиенты часто используют временные виртуальные номера

                                        Я пользуюсь виртуальными номерами. В чём разница в приёме sms и звонка на такой номер? Как это повышает безопасность?

                                          +2
                                          Виртуальные номера разные бывают. Многие сервисы виртуальных SMS вываливают весь поток сообщений на свои номера прямо в онлайне же.

                                          Первая же ссылка в Гугле — вижу с ходу коды для Горздрава, Авито, Сбера.
                                            0

                                            А что это может дать злоумышленнику?

                                        0
                                        Очень креативное название сервиса.
                                        Но желание стать клиентом не вызывает.
                                        Да еще это щедрое предложение в 0.5 доллара. Гении маркетинга.
                                          0
                                          Я вижу что некоторые сервисы не шлют смс и не диктуют по телефону код, а просто звонят и сбрасывают, просят назвать 4 цифры из номера с которого подали гудок. Не помню где такое видел, или в яндекс облаке верификация или какоую-то программу триальную я скачивал и подтверждал номер. Еще точно в магазине КБ приложение таким способом верифицирует.
                                            0
                                            Только что выше ответил D01 почему такое не предлагаем. Кратко — такие звонки могут не дойти.
                                            0

                                            А ответная услуга (предоставление номеров для таких подтверждений) планируется?

                                              0
                                              Если один номер навсегда то пожалуйста и сейчас. Но временные номера увы не предоставляем.
                                              0

                                              Ну неудобно же со звонками. Надо принять звонок (вдруг именно в этот момент я нахожусь в месте, где плохая связь, а таких мест не так уж и мало), надо прослушать что там сказали и запомнить, а потом ещё и ручками в нужное поле впечатать, а если в этот момент кто-то отвлёк и ты забыл напрочь нужную комбинацию, то это опять начинай всё с начала.
                                              С смс куда удобнее, особенно если регистрируешься со смартфона, он сам сразу предлагает ввести нужные цифры куда надо.

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

                                                  Как одновременно слушать и вводить, если все действия производятся на одном и том же смартфоне? Правильно выше пишут, если уж и делать авторизацию по звонку, то в виде «введите последние 4 цифры звонящего». Есть ещё варианты: введите вторую, пятую, третью и первую цифру пропущенного номера.
                                                  ЗЫ при плохой связи смс в любом случае придёт. В варианте авторизации по смс в ней будет код, а при звонке — уведомление «вам звонили»

                                                    +1
                                                    Как одновременно слушать и вводить, если все действия производятся на одном и том же смартфоне?

                                                    Поставить на громкую связь и отправить звонок в фон — всё отлично работает. Это ж не каждые 5 минут делать нужно, речь ведь о подтверждении номера — это делается редко и надолго.


                                                    при плохой связи смс в любом случае придёт

                                                    Не все мобильные умеют в SMS и далеко не все SMS доходят даже при отличной связи — зависит от сервиса которым пользуется отправитель и от провайдера получателя. К примеру от VK они регулярно не доходили на немецкие номера (раньше по крайней мере), разве что после нескольких попыток, причём от провайдера это совершенно не зависело.


                                                    В то же время голосовую связь умеют практически все (не считая конечно случаев отсутствия покрытия или просто плохой связи), так что это как раз 100% вариант — особенно если человек готов его принять (а раз регистрируется — то явно готов).

                                                      0
                                                      Поддерживаю, при покрытии большой географии нужно иметь оба варианта. Международные смс ходят криво даже у многих мобильных операторов. И поставщика с гарантированным CallerID в некторые страны не легко найти (прошли через это так как гарантируем везде передачу CallerID).
                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                  0
                                                  Можно замутить, но смысл? Только потратить время, дешевле все равно не выйдет так как за звонки все равно платить. Может только ради спортивного интереса повторить функционал. Но вам и так все скажут, да на астериске это возможно :)

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

                                                Самое читаемое