Skip to content

evserykh/mainsms_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gem Version Build Status


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

Добавить в 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 - массив номеров

Подробнее тут