Использование
Добавить в Gemfile:
gem 'mainsms_api'
Настройка
При использовании в Rails приложении запустить генератор
bundle exec rails g mainsms_api:install
и указать настройки в config/mainsms.yml
Если gem используется не в Rails приложении, то можно задать настройки следующим образом:
MainsmsApi::Configuration.setup project: 'PROJECT', api_key: 'SECRET'
Отправка сообщения
message = MainsmsApi::Message.new(sender: 'SENDER', message: 'MESSAGE', recipients: ['89112223344'])
response = message.deliver
Параметры:
- sender - имя отправителя
- message - текст сообщения
- recipients - массив с номерами получателей
- run_at - время отправки
- test - тестовый режим ('1' для включения)
Объект response является экземпляром класса Hashie::Mash. Для него доступны методы, возвращаемые в ответе сервера. Например, обработать статус ответа можно так:
if response.status == 'success'
#code
end
или
if response['status'] == 'success'
#code
end
Подробнее об ответе сервера можно прочитать тут
Запрос статуса сообщения
status = MainsmsApi::Status.new(:message_ids => ['1', '2'])
response = status.check
Параметры:
- message_ids - идентификаторы сообщений
Подробнее тут
Отмена запланированного сообщения
messages = MainsmsApi::Cancel.new(:message_ids => ['1', '2'])
response = messages.cancel
Параметры:
- message_ids - идентификаторы сообщений
Подробнее тут
Определение цены
price = MainsmsApi::Price.new(:message => 'MESSAGE', :recipients => ['89112223344'])
response = price.calculate
Параметры:
- message - текст сообщения
- recipients - массив с номерами получателей
Подробнее тут
Запрос баланса
balance = MainsmsApi::Balance.new
response = balance.check
Подробнее тут
Запрос информации о номерах
info = MainsmsApi::Info.new(:phones => ['89112223344'])
response = info.get
Параметры:
- phones - массив номеров
Подробнее тут