Если вам нужно обеспечить безопасность доступа к вашим системам и вы ищете способ настроить в multiOTP send SMS для отправки кодов двухфакторной аутентификации (2FA), вы попали по адресу. В этом руководстве мы подробно покажем, как интегрировать multiOTP с MySMSGate для рассылки SMS, используя ваш собственный Android-смартфон и SIM-карту, избегая высоких тарифов и регуляторных барьеров традиционных провайдеров, таких как Twilio.

Что такое multiOTP и почему интеграция с MySMSGate — лучший выбор?

multiOTP — это один из самых популярных и мощных инструментов с открытым исходным кодом для внедрения двухфакторной аутентификации (2FA) в сетевых инфраструктурах, VPN-серверах, при входе в Windows и системах Active Directory. Однако для работы аутентификации с помощью одноразовых паролей (OTP) через SMS, multiOTP требует подключения к внешнему SMS-шлюзу.

Традиционно системные администраторы обращались к таким гигантам, как Twilio или Plivo. Сегодня проблема заключается в том, что эти платформы создают огромные входные барьеры для малого и среднего бизнеса: обязательная регистрация кампаний (A2P 10DLC), одобрение которой занимает недели, ежемесячная плата за виртуальные номера и тарификация за сегмент в 160 символов, что быстро раздувает счета. Если вы хотите изучить другие варианты, рекомендуем прочитать наше сравнение альтернатив Twilio в 2026 году.

Именно здесь MySMSGate меняет ситуацию. Работая как коммуникационный мост, он позволяет отправлять сообщения напрямую с вашего Android-телефона, используя локальную SIM-карту. Это дает неоспоримые преимущества:

  • Без регуляторных одобрений: Вам не нужно регистрировать кампании A2P или ждать разрешений от операторов. Вы отправляете сообщения со своего номера, который ваши пользователи уже знают.
  • Плоский и прозрачный тариф: Вы платите всего $0.02 за успешно отправленное SMS. Нет ежемесячных платежей, минимальных контрактов или скрытых комиссий. Кроме того, если SMS не доставлено, баланс возвращается автоматически.
  • Упрощенный биллинг: В отличие от Twilio, мы взимаем единую плату за сообщение независимо от его длины, что исключает сюрпризы в счетах за сообщения, превышающие 160 символов.

Предварительные требования для настройки

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

  1. Активный аккаунт в MySMSGate: Вы можете быстро зарегистрироваться через наш портал создания бесплатного аккаунта.
  2. Android-телефон с активной SIM-картой: Устройство будет работать как ваш физический SMS-шлюз. Рекомендуется наличие хорошего покрытия сети и подходящего тарифного плана.
  3. Установленное приложение MySMSGate: Скачайте наше приложение на ваш Android, войдите в систему, отсканировав QR-код в панели управления, и телефон мгновенно привяжется к аккаунту. Подробнее об этом шаге читайте в нашем руководстве о том, как отправлять SMS с Android-телефона через API.
  4. Установленный multiOTP: Либо версия для командной строки (CLI), либо интегрированная в системы типа pfSense, OPNsense или Active Directory.

Пошаговая инструкция: Настройка отправки SMS в multiOTP через кастомный скрипт

multiOTP позволяет выполнять внешние команды или кастомные скрипты для отправки SMS. Поскольку API MySMSGate требует безопасного HTTP POST-запроса в формате JSON, самым чистым и надежным способом интеграции является создание небольшого промежуточного скрипта, который multiOTP будет выполнять каждый раз, когда нужно отправить OTP-код.

Шаг 1: Создание скрипта отправки на PHP или Bash

Ниже приведен пример скрипта на PHP, который принимает аргументы от multiOTP (номер телефона и текст сообщения) и передает их в API MySMSGate:

<?php
// Сохраните этот файл как /usr/local/bin/send-mysmsgate.php

if ($argc < 3) {
    echo "Использование: php send-mysmsgate.php [телефон] [сообщение]\n";
    exit(1);
}

$phone = $argv[1];
$message = $argv[2];
$token = "ВАШ_API_KEY_MYSMSGATE"; // Замените на ваш реальный токен

$url = "https://mysmsgate.net/api/v1/send";
$data = [
    "token" => $token,
    "to" => $phone,
    "message" => $message
];

$options = [
    "http" => [
        "header" => "Content-Type: application/json\r\n",
        "method" => "POST",
        "content" => json_encode($data),
        "ignore_errors" => true
    ]
];

$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

if ($result === FALSE) {
    echo "Ошибка подключения к API MySMSGate.\n";
    exit(1);
}

$response = json_decode($result, true);
if (isset($response['success']) && $response['success'] === true) {
    echo "SMS успешно отправлено.\n";
    exit(0);
} else {
    echo "Ошибка отправки: " . ($response['error'] ?? 'Неизвестная ошибка') . "\n";
    exit(1);
}
?>

Не забудьте предоставить права на выполнение скрипту на вашем сервере командой chmod +x /usr/local/bin/send-mysmsgate.php.

Шаг 2: Привязка скрипта в multiOTP

Когда скрипт готов и протестирован, нужно указать multiOTP использовать его в качестве провайдера сообщений по умолчанию. Откройте терминал, где настроен multiOTP, и выполните следующую команду конфигурации:

multiotp -config sms-sender-path="/usr/local/bin/send-mysmsgate.php" sms-sender-parameters="%NUMBER% %TEXT%"

С этой настройкой каждый раз, когда пользователь пытается авторизоваться и требуется одноразовый код, multiOTP будет автоматически вызывать ваш скрипт, передавая номер телефона пользователя в параметре %NUMBER% и сгенерированный код в %TEXT%.

Подробнее о mss web api como configurar

Если вы ищете информацию конкретно по mss web api como configurar (как настроить веб-API), важно понимать, как напрямую взаимодействовать с нашим эндпоинтом для создания кастомных интеграций помимо multiOTP. REST API MySMSGate разработан максимально простым и понятным, что идеально подходит как для системных администраторов, так и для независимых разработчиков.

API MySMSGate предоставляет один основной эндпоинт для отправки сообщений:

  • Эндпоинт: POST https://mysmsgate.net/api/v1/send
  • Формат данных: JSON

Ниже приведен пример того, как настроить прямой запрос с помощью cURL из командной строки:

curl -X POST https://mysmsgate.net/api/v1/send \
  -H "Content-Type: application/json" \
  -d '{
    "token": "ВАШ_API_KEY_ЗДЕСЬ",
    "to": "+79000000000",
    "message": "Ваш код верификации multiOTP: 582910"
  }'

Если вы используете телефон с поддержкой Dual SIM, вы даже можете указать, с какого слота SIM-карты отправить сообщение, добавив опциональный параметр "sim_slot": 1 или "sim_slot": 2 в тело JSON. Это позволяет оптимизировать расходы, если у вас разные тарифы в зависимости от оператора получателя.

Продвинутое управление: как настроить вебхук для отправки SMS с SIM-карты

Многие администраторы задаются вопросом, как настроить вебхук для отправки SMS с SIM-карты, чтобы отслеживать статус доставки в реальном времени или получать ответы от пользователей. MySMSGate не только отправляет сообщения, но и поддерживает двустороннюю связь.

Когда вы отправляете SMS через SIM-карту вашего Android, сообщение проходит через разные статусы (в очереди, отправлено, доставлено или ошибка). Чтобы получать эти обновления статуса на ваш сервер multiOTP или систему мониторинга, вы можете настроить вебхук доставки в панели управления MySMSGate:

  1. Войдите на mysmsgate.net и перейдите в раздел Настройки API.
  2. В поле Вебхук статуса доставки введите URL вашего сервера (например, https://vash-domen.ru/webhooks/sms-status).
  3. MySMSGate будет отправлять POST-запрос в реальном времени каждый раз, когда статус SMS меняется на физическом Android-устройстве.

Кроме того, если пользователь ответит на SMS-верификацию или отправит текстовое сообщение на вашу SIM-карту, MySMSGate перехватит входящее сообщение и автоматически перешлет его на ваш настроенный вебхук, обеспечивая полную интерактивность прямо из вашей веб-консоли.

Сравнение стоимости и характеристик: MySMSGate vs. Twilio

Для малого бизнеса, медицинских кабинетов, учебных центров и локальных компаний фиксированные расходы традиционных шлюзов трудно оправдать. Давайте разберем, как MySMSGate соотносится со стандартными рыночными решениями при низком или среднем объеме (около 500 SMS в месяц для уведомлений и OTP):

Характеристика / СтоимостьMySMSGateTwilio / Традиционные провайдеры
Стоимость отправленного SMS$0.02 (Плоский тариф)$0.05 - $0.08 + сборы операторов
Ежемесячная плата за номер$0.00 (Ваш собственный номер)$1.15 - $2.00 в месяц
Регистрация кампании (A2P 10DLC)Не требуетсяТребуется (стоимость регистрации + ежемесячно)
Оплата за длину сообщенияЕдиный тариф за полное сообщениеОплата за сегменты по 160 символов
Поддержка Dual SIM / Несколько устройствДа, неограниченно устройствНедоступно (только виртуальные номера)
Возврат средств при сбоях сетиДа, автовозврат балансаНет, оплачивается попытка отправки

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

Часто задаваемые вопросы

Ниже мы отвечаем на самые частые вопросы пользователей, настраивающих системы двухфакторной аутентификации и SMS-шлюзы на базе Android.

Безопасно ли отправлять OTP-коды через Android-телефон с MySMSGate?

Да, это абсолютно безопасно. Связь между вашим сервером multiOTP, API MySMSGate и вашим Android-устройством зашифрована по протоколам HTTPS. Кроме того, отправляя сообщения с собственной физической SIM-карты, вы избегаете спам-фильтров, которые часто блокируют виртуальные номера крупных A2P-провайдеров.

Что произойдет, если мой Android-телефон перейдет в спящий режим?

Мобильное приложение MySMSGate оснащено системой автоматического пробуждения (auto wake-up), оптимизированной через push-уведомления Google. Это гарантирует, что даже если устройство находится в режиме глубокого сна для экономии энергии, оно мгновенно активируется при получении команды на отправку от вашего сервера multiOTP.

Могу ли я подключить несколько Android-телефонов к одному аккаунту multiOTP?

Да. В панели MySMSGate вы можете подключить неограниченное количество Android-устройств к одному аккаунту. При выполнении запроса к API вы можете указать параметр device_id, чтобы динамически решать, через какой телефон и географический номер должен быть передан код верификации.

Как управляются баланс и платежи в MySMSGate?

Мы работаем по предельно простой модели предоплаты без регулярных подписок. Вы можете пополнять баланс пакетами по мере необходимости (например, 250 SMS за $5.00, 500 SMS за $10.00 или 1000 SMS за $20.00). Баланс не сгорает и списывается только тогда, когда сообщение успешно передано вашему телефонному оператору.