README.rdoc in textmagic-0.2.0 vs README.rdoc in textmagic-0.2.1
- old
+ new
@@ -1,10 +1,12 @@
= TextMagic
-TextMagic is a Ruby interface to the TextMagic's HTTP API. You need to have
-a valid TextMagic account to use this gem. Sign up at http://www.textmagic.com
-to get one.
++textmagic+ gem is a Ruby interface to the TextMagic's Bulk SMS Gateway.
+It can be used to send SMS messages and receive replies, check statuses
+of sent messages and retrieve account balance.
+You need to have a valid TextMagic[http://www.textmagic.com] account to use this gem. Sign up at
+http://www.textmagic.com to get one.
== Installation
Run
@@ -18,23 +20,77 @@
To create an API instance, run:
api = TextMagic::API.new(username, password)
with your credentials. Created instance will remember the username and password
-and will use it for all commands.
+and will use them in all requests to the SMS gateway.
+=== Account balance
+
To retrieve your account's balance, run:
api.account.balance
+ # => 314.15
-To send a text message, run:
+=== Sending messages
- api.send 'Hi Vilma!', '441234567890'
+To send a message to a single phone number, run:
+ api.send 'Hi Vilma!', '999314159265'
+
You can even specify multiple phone numbers:
- api.send 'Hi Vilma!', '314159265358', '271828182845'
+ api.send 'Hi everybody!', '999314159265', '999271828182'
+Unicode messages are supported as well:
+
+ api.send 'Вильма Привет!', '999314159265'
+
+Long messages will be split to up to 3 parts. If you want to limit maximum number
+of parts, you can specify an optional +max_length+ parameter:
+
+ api.send 'Very long message...', '999314159265', :max_length => 2
+
+=== Checking sent message status
+
+If you want to check sent message status, you have to use +message_id+
+returned in respose to +send+ command.
+
+ api.send('Hi Vilma!', '999314159265').message_id
+ # => '141421'
+ api.message_status('141421').status
+ # => 'd'
+
+You can also supply several message_ids, in which case you'll get a hash with
+message_ids as keys:
+
+ api.send('Hi Vilma!', '999314159265', '999271828182').message_ids
+ # => ['141421', '173205']
+ statuses = api.message_status('141421', '173205')
+ statuses['141421'].status
+ # => 'r'
+
+=== Receiving replies
+
+To receive all available replies, run:
+
+ replies = api.receive.messages
+ # => [{ 'timestamp' => Fri May 22 12:12:55 +0200 2009, 'from' => '999314159265', 'text' => 'Hi Fred!', 'message_id' => '1780826' }]
+ replies.first.text
+ # => 'Hi Fred!'
+
+To prevent receiving old replies again, supply +last_retrieved_id+ argument:
+
+ replies = api.receive('1780826').messages
+ # => []
+
+=== Deleting retrieved replies
+
+After you retrieve replies, you can delete them from server by running:
+
+ message_ids = api.receive.message_ids
+ # => ['141421', '1780826']
+ api.delete_reply '141421', '1780826'
== Copyright
Copyright (c) 2009 Vladimir Bobes Tuzinsky. See LICENSE for details.