0.02
No commit activity in last 3 years
No release in over 3 years
mainsms.ru API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0

Runtime

 Project Readme

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

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