MegalabsSms

Простой и удобный гем для отправки SMS через A2P API от Megalabs (Мегафон). Создан для разработчиков, которые хотят быстро и эффективно интегрировать отправку SMS в свои Ruby-приложения.

Установка

Добавьте эту строку в Gemfile вашего приложения:

gem 'megalabs_sms'

И затем выполните:

$ bundle install

Или установите гем напрямую:

$ gem install megalabs_sms

Использование

Базовый пример

require 'megalabs_sms'

# Создаем клиент
client = MegalabsSms::Client.new(
  'ваш_логин',
  'ваш_пароль'
)

# Отправляем SMS
client.send_sms(
  'SenderName',  # имя отправителя
  '+79001234567', # номер получателя
  'Привет! Это тестовое сообщение.' # текст сообщения
)

Дополнительные возможности

Задержка между запросами

Если вам нужно добавить задержку между запросами (например, чтобы не превысить лимиты API):

client = MegalabsSms::Client.new(
  'ваш_логин',
  'ваш_пароль',
  sleep_time: 1.0 # задержка в 1 секунду между запросами
)

Тестовый режим

Для тестирования можно использовать режим эмуляции:

# Эмуляция успешной отправки
client = MegalabsSms::Client.new(
  'ваш_логин',
  'ваш_пароль',
  success_stub: true
)

# Эмуляция ошибки отправки
client = MegalabsSms::Client.new(
  'ваш_логин',
  'ваш_пароль',
  error_stub: true
)

Обработка ошибок

Гем автоматически обрабатывает различные ошибки и возвращает понятные сообщения:

  • При отсутствии учетных данных

  • При проблемах с сетью

  • При ошибках API

  • При проблемах с форматом данных

Разработка

После клонирования репозитория, установите зависимости:

$ bundle install

Запуск тестов:

$ bundle exec rspec

Лицензия

Гем доступен как open source под лицензией MIT.

Поддержка

Если у вас возникли вопросы или проблемы, пожалуйста, создайте issue в репозитории проекта.

Автор