Skip to content

DementevVV/megalabs_sms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MegalabsSms

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

Установка

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

gem 'megalabs_sms'

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

bundle install

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

gem install megalabs_sms

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

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

require 'megalabs_sms'
require 'logger'

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

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

Также можно использовать именованные аргументы:

client.send_sms(
  from: 'SenderName',
  to: '+79001234567',
  message: 'Привет! Это тестовое сообщение.'
)

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

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

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

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

Таймауты

По умолчанию используются таймауты: open_timeout = 5, read_timeout = 10.

client = MegalabsSms::Client.new(
  'ваш_логин',
  'ваш_пароль',
  open_timeout: 3,
  read_timeout: 8
)

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

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

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

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

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

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

  • При отсутствии учетных данных
  • При некорректных параметрах from, to, message
  • При проблемах с сетью
  • При ошибках API
  • При проблемах с форматом данных

🤝 Contributing

Contributions приветствуются! Смело открывайте Pull Request.

Настройка разработки

  1. Сделайте форк репозитория
  2. Клонируйте форк: git clone https://github.com/YOUR_USERNAME/megalabs_sms.git
  3. Создайте ветку с фичей: git checkout -b feature/amazing-feature
  4. Внесите изменения и закоммитьте: git commit -m 'Add amazing feature'
  5. Запушьте ветку: git push origin feature/amazing-feature
  6. Откройте Pull Request

Пожалуйста, убедитесь, что ваш код:

  • Проходит все тесты: bundle exec rspec

📄 Лицензия

Проект распространяется по лицензии MIT — подробности в файле LICENSE.

📞 Поддержка

Если у вас есть вопросы или проблемы:

  1. Проверьте раздел Issues
  2. Создайте новый issue, если проблема ещё не описана
  3. Приложите максимум деталей (версия Ruby, ОС, текст ошибки)

Made with ❤️ by DementevVV

About

Простой и удобный gem для отправки SMS через A2P API от Megalabs (Мегафон).

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages