0.0
The project is in a healthy, maintained state
This gem provides a simple interface to send SMS using the Megalabs A2P API.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

>= 0
>= 0

Runtime

~> 0.6.0
~> 0.6.0
 Project Readme

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 в репозитории проекта.

Автор