greensms-ruby
Documentation
The documentation for the GREENSMS API can be found here.
Installation
Add this line to your application's Gemfile:
gem 'greensms'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install greensms
Sample Usage
Check out these code examples to get up and running quickly.
require "greensms"
# Register at my.greeensms.ru first
@client = GreenSMS::GreenSMSClient.new(user: "test", pass: "test")
response = @client.sms.send(to: '71231234567', txt: 'Message to deliver')
puts response["request_id"]
Environment Variables
greensms-ruby
supports credential storage in environment variables. If no credentials are provided following env vars will be used: GREENSMS_USER
/GREENSMS_PASS
OR GREENSMS_TOKEN
Token Auth
require "greensms"
# Register at my.greeensms.ru first
@client = GreenSMS::GreenSMSClient.new(token: "Your Auth Token comes here")
response = @client.account.balance
puts response["balance"]
Compatibility
greensms-ruby
is compatible with Ruby 2.4+ onwards until the latest version
Methods
- You can either use username/password combination or auth token to create an object with constructor
- All methods support named keyword arguments
(to: "", extended: true)
- Each API Function is available as
MODULE.FUNCTION()
- Parameters for each API can be referred from here
- Response keys can be used as hash keys
response['key']
- Response keys by default are available in
snake_case
. If you want to usecamelCase
, then passcamel_case_response: true
, in the constructor
Handling Exceptions
- Exceptions for all APIs are thrown with
RestError
class. It extends the default Ruby StandardError class. - Each error, will have
error
,code
,message
,errorType
fields. - In case of Validation Error, additional params are available to show field-wise rule failures. Can be accessed by
e.params
property on the error object
Getting help
If you need help installing or using the library, please contact us: [email protected].
If you've instead found a bug in the library or would like new features added, go ahead and open issues or pull requests against this repo!
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub here. If you're not familiar with the GitHub pull request/contribution process, this is a nice tutorial.
License
The gem is available as open source under the terms of the MIT License.