Project

burstsms

0.01
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Ruby Interface for the Burst SMS gateway
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

>= 0
~> 2.6
~> 1.9.0

Runtime

 Project Readme

Burst Sms Build Status Coverage Status

Rubygem for the Burst SMS API. Sends SMS to Australian mobiles
For use with a burstsms.com.au account.

Installation

gem install 'burstsms'

or add the following line to Gemfile:

gem 'burstsms'

and run bundle from your shell.

Usage

Create an authenticated instance

  @burstsms = BurstSms::API.new('api_key', 'secret')

Send a SMS - messages.multiple

  @burstsms.send_message('caller_id', 'recipients', 'message')
  
  Response attributes :result :total_recipients :total_recipients_queued :message_id :contact_list_addition

caller_id Can be a Number upto 15 digits or a alpha-numeric string upto 11 characters.
recipient/s A single mobile number or an array of mobile numbers for multiple recipients.
message String containing sms message to send.
optional:
sendtime Set specific time to send message.
contact_list Add recipients to an existing contact list in your account.

__NOTE:__The gem handles conversion of mobile numbers to the format required by the API. Also duplicate and invalid numbers will be deleted from the array.
example: you can pass in an array of numbers like ['+61 414 899 766', '0403 855 555', '0403-855-445'] and it will be converted to ['61414899766', '61403855555', '61403855445']

Responses
Responses from the API are converted into ruby objects with attributes you can access.

Available attributes for each method are listed in their description below.

Every method will return a error attribute if something goes wrong


Additional Methods

Send a SMS to an existing list - messages.add

  @burstsms.add_message('caller_id', 'list_id', 'message')

  #returns :total :time :result :message_id :list_id :message :cost :balance :charge_error

Retrieve history of sent messages - messages.get

  @burstsms.get_messages()  #takes optional arguments offset and limit(default is 50)
  
  #returns :total :time :messages
  #messages return :id :list_id :mobile_from :message :datetime_send :datetime_actioned :recipient_count :status :schedule

Retrieve responses from a message - messages.responses

  @burstsms.message_responses('message_id')   #takes optional arguments offset and limit(default is 50)  
  
  #returns :total :time :replies
  #replies return :firstname :lastname :mobile :message :datetime_entry_orig

Retrieve Contact Lists - contact-lists.get

  @burstsms.get_lists()  #takes optional arguments offset and limit(default is 50) 

  #returns :total :time :lists
  #lists return :id :name :recipient_count

Add Contact List - contact-lists.add

  @burstsms.add_list('name of new list')    
  
  #returns :total :time :name :list_id :recipient_count

Delete Contact List - contact-lists.delete

  @burstsms.delete_list('list_id')  
  
  #returns :total :time :response  

Retrieve Contact List Recipients - contact-lists.get-recipients

  @burstsms.get_list_recipients('list_id')   #takes optional arguments offset and limit(default is 50)  

  #returns :total :time :recipients 
  #recipients return :firstname :lastname :mobile :datetime_entry :dest_country :bounce_count

Retrieve Contact List Unsubscribed - contact-lists.get-unsubscribed

  @burstsms.get_list_unsubscribed('list_id')   #takes optional arguments offset and limit(default is 50)  

  #returns :total :time :recipients 
  #recipients return :firstname :lastname :mobile :datetime_entry :dest_country :bounce_count    

Add Contact List Recipient - contact-lists.add-recipient

  @burstsms.add_list_recipient("list_id", "mobile_number", :firstname => 'Bob', :lastname => 'Smith') #name fields optional    

  #returns :total :time :result :list_id
  #refer to Burst Sms docs for possible result values  

Delete Contact List Recipient - contact-lists.delete-recipient

  @burstsms.delete_list_recipient("list_id", "mobile_number")    

  #returns :total :time :result
  #refer to Burst Sms docs for possible result values  

Under the Hood

The burstsms gem uses:

TODO

  • Complete 'contact-lists.add-multiple-recipients'
  • Add reseller API functions.

Contributors

Burst Sms Contributors

Licence

Copyright © 2012 Made in Data Pty Ltd and David Barlow @madeindata. Refer to terms in LICENCE file.