twilio-ruby 3.10.1 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/AUTHORS.md +24 -0
- data/CHANGES +11 -0
- data/Makefile +13 -0
- data/README.md +28 -13
- data/docs/Makefile +130 -0
- data/docs/_themes/LICENSE +45 -0
- data/docs/_themes/README.rst +25 -0
- data/docs/_themes/flask_theme_support.py +86 -0
- data/docs/_themes/kr/layout.html +32 -0
- data/docs/_themes/kr/relations.html +19 -0
- data/docs/_themes/kr/static/flasky.css_t +469 -0
- data/docs/_themes/kr/static/small_flask.css +70 -0
- data/docs/_themes/kr/theme.conf +7 -0
- data/docs/_themes/kr_small/layout.html +22 -0
- data/docs/_themes/kr_small/static/flasky.css_t +287 -0
- data/docs/_themes/kr_small/theme.conf +10 -0
- data/docs/changelog.rst +1 -0
- data/docs/conf.py +266 -0
- data/docs/faq.rst +42 -0
- data/docs/getting-started.rst +91 -0
- data/docs/index.rst +108 -0
- data/docs/make.bat +170 -0
- data/docs/src/pip-delete-this-directory.txt +5 -0
- data/docs/usage/accounts.rst +89 -0
- data/docs/usage/applications.rst +108 -0
- data/docs/usage/basics.rst +81 -0
- data/docs/usage/caller-ids.rst +45 -0
- data/docs/usage/conferences.rst +108 -0
- data/docs/usage/messages.rst +110 -0
- data/docs/usage/notifications.rst +70 -0
- data/docs/usage/phone-calls.rst +168 -0
- data/docs/usage/phone-numbers.rst +159 -0
- data/docs/usage/queues.rst +112 -0
- data/docs/usage/recordings.rst +96 -0
- data/docs/usage/sip.rst +103 -0
- data/docs/usage/token-generation.rst +81 -0
- data/docs/usage/transcriptions.rst +31 -0
- data/docs/usage/twiml.rst +70 -0
- data/docs/usage/validation.rst +71 -0
- data/examples/examples.rb +8 -5
- data/lib/twilio-ruby.rb +10 -0
- data/lib/twilio-ruby/rest/accounts.rb +1 -1
- data/lib/twilio-ruby/rest/instance_resource.rb +2 -1
- data/lib/twilio-ruby/rest/list_resource.rb +4 -1
- data/lib/twilio-ruby/rest/media.rb +14 -0
- data/lib/twilio-ruby/rest/messages.rb +12 -0
- data/lib/twilio-ruby/rest/sip.rb +12 -0
- data/lib/twilio-ruby/rest/sip/credential_lists.rb +11 -0
- data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +6 -0
- data/lib/twilio-ruby/rest/sip/domains.rb +12 -0
- data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +6 -0
- data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +6 -0
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +11 -0
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +6 -0
- data/lib/twilio-ruby/rest/sms.rb +1 -1
- data/lib/twilio-ruby/rest/usage/records.rb +1 -1
- data/lib/twilio-ruby/rest/utils.rb +1 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/rest/message_spec.rb +12 -0
- metadata +52 -2
@@ -0,0 +1,70 @@
|
|
1
|
+
.. module:: twilio.rest.resources
|
2
|
+
|
3
|
+
====================
|
4
|
+
Notifications
|
5
|
+
====================
|
6
|
+
|
7
|
+
For more information, see the `Notifications REST Resource
|
8
|
+
<http://www.twilio.com/docs/api/rest/notification>`_ documentation.
|
9
|
+
|
10
|
+
|
11
|
+
Listing Your Notifications
|
12
|
+
----------------------------
|
13
|
+
|
14
|
+
The following code will print out additional information about each of your
|
15
|
+
current :class:`Notification` resources.
|
16
|
+
|
17
|
+
.. code-block:: ruby
|
18
|
+
|
19
|
+
require 'twilio-ruby'
|
20
|
+
|
21
|
+
# To find these visit https://www.twilio.com/user/account
|
22
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
23
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
24
|
+
|
25
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
26
|
+
|
27
|
+
@client.notifications.list().each do |notification|:
|
28
|
+
puts notification.more_info
|
29
|
+
|
30
|
+
You can filter transcriptions by :attr:`log` and :attr:`message_date`.
|
31
|
+
The :attr:`log` value is 0 for `ERROR` and 1 for `WARNING`.
|
32
|
+
|
33
|
+
.. code-block:: ruby
|
34
|
+
|
35
|
+
require 'twilio-ruby'
|
36
|
+
|
37
|
+
# To find these visit https://www.twilio.com/user/account
|
38
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
39
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
40
|
+
|
41
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
42
|
+
|
43
|
+
ERROR = 0
|
44
|
+
|
45
|
+
@client.notifications.list(log=ERROR).each do |notification|:
|
46
|
+
puts notification.error_code
|
47
|
+
|
48
|
+
.. note:: Due to the potentially voluminous amount of data in a notification,
|
49
|
+
the full HTTP request and response data is only returned in the
|
50
|
+
:class:`Notification` instance resource representation.
|
51
|
+
|
52
|
+
|
53
|
+
Deleting Notifications
|
54
|
+
------------------------
|
55
|
+
|
56
|
+
Your account can sometimes generate an inordinate amount of
|
57
|
+
:class:`Notification` resources. The :class:`Notifications` resource allows
|
58
|
+
you to delete unnecessary notifications.
|
59
|
+
|
60
|
+
.. code-block:: ruby
|
61
|
+
|
62
|
+
require 'twilio-ruby'
|
63
|
+
|
64
|
+
# To find these visit https://www.twilio.com/user/account
|
65
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
66
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
67
|
+
|
68
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
69
|
+
@client.notifications.get("NO123").delete()
|
70
|
+
|
@@ -0,0 +1,168 @@
|
|
1
|
+
.. module:: twilio.rest
|
2
|
+
.. _phone-calls:
|
3
|
+
|
4
|
+
=====================
|
5
|
+
Phone Calls
|
6
|
+
=====================
|
7
|
+
|
8
|
+
The :class:`Calls` resource manages all interaction with Twilio phone calls,
|
9
|
+
including the creation and termination of phone calls.
|
10
|
+
|
11
|
+
|
12
|
+
Making a Phone Call
|
13
|
+
-------------------
|
14
|
+
|
15
|
+
The :class:`Calls` resource allows you to make outgoing calls. Before a call
|
16
|
+
can be successfully started, you'll need a to set up a url endpoint which
|
17
|
+
outputs valid `TwiML <http://www.twilio.com/docs/api/twiml/>`_.
|
18
|
+
|
19
|
+
.. code-block:: ruby
|
20
|
+
|
21
|
+
require 'twilio-ruby'
|
22
|
+
|
23
|
+
# To find these visit https://www.twilio.com/user/account
|
24
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
25
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
26
|
+
|
27
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
28
|
+
@call = @client.calls.create({:to => "9991231234",
|
29
|
+
:from => "9991231234",
|
30
|
+
:url => "http://foo.com/call.xml"})
|
31
|
+
puts @call.length
|
32
|
+
puts @call.sid
|
33
|
+
|
34
|
+
|
35
|
+
Retrieve a Call Record
|
36
|
+
-------------------------
|
37
|
+
|
38
|
+
If you already have a :class:`Call` sid,
|
39
|
+
you can use the client to retrieve that record.
|
40
|
+
|
41
|
+
.. code-block:: ruby
|
42
|
+
|
43
|
+
require 'twilio-ruby'
|
44
|
+
|
45
|
+
# To find these visit https://www.twilio.com/user/account
|
46
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
47
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
48
|
+
|
49
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
50
|
+
sid = "CA12341234"
|
51
|
+
@call = @client.calls.get(sid)
|
52
|
+
|
53
|
+
|
54
|
+
Accessing Specific Call Resources
|
55
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
56
|
+
|
57
|
+
Each :class:`Call` resource also has access to its `notifications`,
|
58
|
+
`recordings`, and `transcriptions`.
|
59
|
+
These attributes are :class:`ListResources`,
|
60
|
+
just like the :class:`Calls` resource itself.
|
61
|
+
|
62
|
+
.. code-block:: ruby
|
63
|
+
|
64
|
+
require 'twilio-ruby'
|
65
|
+
|
66
|
+
# To find these visit https://www.twilio.com/user/account
|
67
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
68
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
69
|
+
|
70
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
71
|
+
sid = "CA12341234"
|
72
|
+
@call = @client.calls.get(sid)
|
73
|
+
|
74
|
+
puts @call.notifications.list()
|
75
|
+
puts @call.recordings.list()
|
76
|
+
puts @call.transcriptions.list()
|
77
|
+
|
78
|
+
However, what if you only have a `CallSid`, and not the actual
|
79
|
+
:class:`Resource`? No worries, as :meth:`list` can be filter based on a given
|
80
|
+
`CallSid`.
|
81
|
+
|
82
|
+
.. code-block:: ruby
|
83
|
+
|
84
|
+
require 'twilio-ruby'
|
85
|
+
|
86
|
+
# To find these visit https://www.twilio.com/user/account
|
87
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
88
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
89
|
+
|
90
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
91
|
+
sid = "CA24234"
|
92
|
+
puts @client.notifications.list({:call => sid})
|
93
|
+
puts @client.recordings.list({:call => sid})
|
94
|
+
puts @client.transcriptions.list({:call => sid})
|
95
|
+
|
96
|
+
|
97
|
+
Modifying Live Calls
|
98
|
+
--------------------
|
99
|
+
|
100
|
+
The :class:`Call` resource makes it easy to find current live calls and
|
101
|
+
redirect them as necessary
|
102
|
+
|
103
|
+
.. code-block:: python
|
104
|
+
|
105
|
+
.. code-block:: ruby
|
106
|
+
|
107
|
+
require 'twilio-ruby'
|
108
|
+
|
109
|
+
# To find these visit https://www.twilio.com/user/account
|
110
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
111
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
112
|
+
|
113
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
114
|
+
@calls = @client.calls.list({:status => "in-progress")
|
115
|
+
|
116
|
+
@calls.each do |call|
|
117
|
+
call.redirect_to("http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient")
|
118
|
+
end
|
119
|
+
|
120
|
+
|
121
|
+
Ending all live calls is also possible
|
122
|
+
|
123
|
+
.. code-block:: ruby
|
124
|
+
|
125
|
+
require 'twilio-ruby'
|
126
|
+
|
127
|
+
# To find these visit https://www.twilio.com/user/account
|
128
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
129
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
130
|
+
|
131
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
132
|
+
@calls = @client.calls.list({:status => "in-progress")
|
133
|
+
|
134
|
+
@calls.each do |call|
|
135
|
+
call.hangup()
|
136
|
+
end
|
137
|
+
|
138
|
+
Note that :meth:`hangup` will also cancel calls currently queued.
|
139
|
+
|
140
|
+
If you already have a :class:`Call` sid, you can use the :class:`Calls`
|
141
|
+
resource to update the record without having to use :meth:`get` first.
|
142
|
+
|
143
|
+
.. code-block:: ruby
|
144
|
+
|
145
|
+
require 'twilio-ruby'
|
146
|
+
|
147
|
+
# To find these visit https://www.twilio.com/user/account
|
148
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
149
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
150
|
+
|
151
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
152
|
+
sid = "CA12341234"
|
153
|
+
@client.calls.get(sid).redirect_to("http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient")
|
154
|
+
|
155
|
+
Hanging up the call also works.
|
156
|
+
|
157
|
+
.. code-block:: ruby
|
158
|
+
|
159
|
+
require 'twilio-ruby'
|
160
|
+
|
161
|
+
# To find these visit https://www.twilio.com/user/account
|
162
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
163
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
164
|
+
|
165
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
166
|
+
sid = "CA12341234"
|
167
|
+
@client.calls.get(sid).hangup()
|
168
|
+
|
@@ -0,0 +1,159 @@
|
|
1
|
+
.. module:: twilio.rest.resources
|
2
|
+
|
3
|
+
=================
|
4
|
+
Phone Numbers
|
5
|
+
=================
|
6
|
+
|
7
|
+
With Twilio you can search and buy real phone numbers, just using the API.
|
8
|
+
|
9
|
+
For more information, see the
|
10
|
+
`IncomingPhoneNumbers REST Resource
|
11
|
+
<http://www.twilio.com/docs/api/rest/incoming-phone-numbers>`_ documentation.
|
12
|
+
|
13
|
+
|
14
|
+
Searching and Buying a Number
|
15
|
+
--------------------------------
|
16
|
+
|
17
|
+
Finding numbers to buy couldn't be easier.
|
18
|
+
We first search for a number in area code 530.
|
19
|
+
Once we find one, we'll purchase it for our account.
|
20
|
+
|
21
|
+
.. code-block:: python
|
22
|
+
|
23
|
+
from twilio.rest import TwilioRestClient
|
24
|
+
|
25
|
+
# To find these visit https://www.twilio.com/user/account
|
26
|
+
ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
|
27
|
+
AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
|
28
|
+
|
29
|
+
client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
|
30
|
+
numbers = client.phone_numbers.search(area_code=530)
|
31
|
+
|
32
|
+
if numbers:
|
33
|
+
numbers[0].purchase()
|
34
|
+
else:
|
35
|
+
print "No numbers in 530 available"
|
36
|
+
|
37
|
+
|
38
|
+
Toll Free Numbers
|
39
|
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
40
|
+
|
41
|
+
By default, :meth:`PhoneNumbers.search` looks for local phone numbers. Add a
|
42
|
+
:data:`type` : ``tollfree`` parameter to search toll-free numbers instead.
|
43
|
+
|
44
|
+
.. code-block:: python
|
45
|
+
|
46
|
+
numbers = client.phone_numbers.search(type="tollfree")
|
47
|
+
|
48
|
+
|
49
|
+
Numbers Containing Words
|
50
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
51
|
+
|
52
|
+
Phone number search also supports looking for words inside phone numbers.
|
53
|
+
The following example will find any phone number with "FOO" in it.
|
54
|
+
|
55
|
+
.. code-block:: python
|
56
|
+
|
57
|
+
numbers = client.phone_numbers.search(contains="FOO")
|
58
|
+
|
59
|
+
You can use the ''*'' wildcard to match any character. The following example finds any phone number that matches the pattern ''D*D''.
|
60
|
+
|
61
|
+
.. code-block:: python
|
62
|
+
|
63
|
+
numbers = client.phone_numbers.search(contains="D*D")
|
64
|
+
|
65
|
+
|
66
|
+
International Numbers
|
67
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
68
|
+
|
69
|
+
By default, the client library will look for US numbers. Set the
|
70
|
+
:data:`country` keyword to a country code of your choice to search for
|
71
|
+
international numbers.
|
72
|
+
|
73
|
+
.. code-block:: python
|
74
|
+
|
75
|
+
numbers = client.phone_numbers.search(country="FR")
|
76
|
+
|
77
|
+
|
78
|
+
:meth:`PhoneNumbers.search` method has plenty of other options to augment your search :
|
79
|
+
|
80
|
+
- :data:`region`: When searching the US, show numbers in this state
|
81
|
+
- :data:`postal_code`: Only show numbers in this area code
|
82
|
+
- :data:`rate_center`: US only.
|
83
|
+
- :data:`near_lat_long`: Find numbers near this latitude and longitude.
|
84
|
+
- :data:`distance`: Search radius for a Near- query in miles.
|
85
|
+
|
86
|
+
The `AvailablePhoneNumbers REST Resource
|
87
|
+
<http://www.twilio.com/docs/api/rest/available-phone-numbers>`_ documentation
|
88
|
+
has more information on the various search options.
|
89
|
+
|
90
|
+
|
91
|
+
Buying a Number
|
92
|
+
---------------
|
93
|
+
|
94
|
+
If you've found a phone number you want, you can purchase the number.
|
95
|
+
|
96
|
+
.. code-block:: python
|
97
|
+
|
98
|
+
from twilio.rest import TwilioRestClient
|
99
|
+
|
100
|
+
# To find these visit https://www.twilio.com/user/account
|
101
|
+
ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
|
102
|
+
AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
|
103
|
+
|
104
|
+
client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
|
105
|
+
number = client.phone_numbers.purchase(phone_number="+15305431234")
|
106
|
+
|
107
|
+
However, it's easier to purchase numbers after finding them using search (as
|
108
|
+
shown in the first example).
|
109
|
+
|
110
|
+
|
111
|
+
Updating Properties on a Number
|
112
|
+
-------------------------------
|
113
|
+
|
114
|
+
To update the properties on a phone number, call :meth:`update`
|
115
|
+
on the phone number object, with any of the parameters
|
116
|
+
listed in the `IncomingPhoneNumbers Resource documentation
|
117
|
+
<http://www.twilio.com/docs/api/rest/incoming-phone-numbers>`_
|
118
|
+
|
119
|
+
.. code-block:: python
|
120
|
+
|
121
|
+
from twilio.rest import TwilioRestClient
|
122
|
+
|
123
|
+
# To find these visit https://www.twilio.com/user/account
|
124
|
+
ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
|
125
|
+
AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
|
126
|
+
|
127
|
+
client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
|
128
|
+
for number in client.phone_numbers.list(api_version="2010-04-01"):
|
129
|
+
number.update(voice_url="http://twimlets.com/holdmusic?" +
|
130
|
+
"Bucket=com.twilio.music.ambient",
|
131
|
+
status_callback="http://example.com/callback")
|
132
|
+
|
133
|
+
|
134
|
+
Changing Applications
|
135
|
+
----------------------
|
136
|
+
|
137
|
+
An :class:`Application` encapsulates all necessary URLs for use with phone numbers. Update an application on a phone number using :meth:`update`.
|
138
|
+
|
139
|
+
.. code-block:: python
|
140
|
+
|
141
|
+
from twilio.rest import TwilioRestClient
|
142
|
+
|
143
|
+
phone_sid = "PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|
144
|
+
|
145
|
+
# To find these visit https://www.twilio.com/user/account
|
146
|
+
ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX"
|
147
|
+
AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY"
|
148
|
+
|
149
|
+
client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
|
150
|
+
number = client.phone_numbers.update(phone_sid, sms_application_sid="AP123")
|
151
|
+
|
152
|
+
See :doc:`/usage/applications` for instructions on updating and maintaining Applications.
|
153
|
+
|
154
|
+
|
155
|
+
Validate a Phone Number
|
156
|
+
-----------------------
|
157
|
+
|
158
|
+
See validation instructions here: :doc:`/usage/caller-ids`:
|
159
|
+
|
@@ -0,0 +1,112 @@
|
|
1
|
+
.. module:: twilio.rest.resources
|
2
|
+
|
3
|
+
==============================
|
4
|
+
Queues and Members
|
5
|
+
==============================
|
6
|
+
|
7
|
+
For more information, see the
|
8
|
+
`Queue REST Resource <http://www.twilio.com/docs/api/rest/queue>`_
|
9
|
+
and `Member REST Resource <http://www.twilio.com/docs/api/rest/member>`_
|
10
|
+
documentation.
|
11
|
+
|
12
|
+
|
13
|
+
Listing Queues
|
14
|
+
-----------------------
|
15
|
+
|
16
|
+
.. code-block:: ruby
|
17
|
+
|
18
|
+
require 'twilio-ruby'
|
19
|
+
|
20
|
+
# To find these visit https://www.twilio.com/user/account
|
21
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
22
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
23
|
+
|
24
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
25
|
+
@queues = client.queues.list()
|
26
|
+
|
27
|
+
@queues.each do |queue|
|
28
|
+
puts queue.sid
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
Listing Queue Members
|
33
|
+
----------------------
|
34
|
+
|
35
|
+
Each :class:`Queue` has a :attr:`members` instance which
|
36
|
+
represents all current calls in the queue.
|
37
|
+
|
38
|
+
.. code-block:: ruby
|
39
|
+
|
40
|
+
require 'twilio-ruby'
|
41
|
+
|
42
|
+
# To find these visit https://www.twilio.com/user/account
|
43
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
44
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
45
|
+
|
46
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
47
|
+
@queue = @client.queues.get("QU123")
|
48
|
+
|
49
|
+
@queue.members.list().each do |member|
|
50
|
+
print member.call_sid
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
Getting a specific Queue Member
|
55
|
+
-------------------------------
|
56
|
+
|
57
|
+
To retrieve information about a specific member in the queue, each
|
58
|
+
:class:`Members` has a :attr:`get` method. :attr:`get` accepts one
|
59
|
+
argument. The argument can either be a `call_sid` thats in the queue,
|
60
|
+
in which case :attr:`get` will return a :class:`Member` instance
|
61
|
+
representing that call, or the argument can be 'Front', in which case
|
62
|
+
:attr:`Get` will return a :class:`Member` instance representing the
|
63
|
+
first call in the queue.
|
64
|
+
|
65
|
+
.. code-block:: ruby
|
66
|
+
|
67
|
+
require 'twilio-ruby'
|
68
|
+
|
69
|
+
# To find these visit https://www.twilio.com/user/account
|
70
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
71
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
72
|
+
|
73
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
74
|
+
|
75
|
+
queue_sid = "QUAAAAAAAAAAAAA"
|
76
|
+
call_sid = "CAXXXXXXXXXXXXXX"
|
77
|
+
|
78
|
+
@members = @client.queues.get(queue_sid).members
|
79
|
+
|
80
|
+
# Get the first call in the queue
|
81
|
+
puts members.front.date_enqueued
|
82
|
+
|
83
|
+
# Get the call with the given call sid in the queue
|
84
|
+
puts members.get(call_sid).current_position
|
85
|
+
|
86
|
+
|
87
|
+
Dequeueing Queue Members
|
88
|
+
------------------------
|
89
|
+
|
90
|
+
To dequeue a specific member from the queue, each
|
91
|
+
:class:`Members` has a :attr:`dequeue` method. :attr:`dequeue` accepts an
|
92
|
+
argument and two optional keyword arguments. The first argument is the
|
93
|
+
url of the twiml document to be executed when the member is
|
94
|
+
dequeued. The other two are :attr:`call_sid` and :attr:`method`, their
|
95
|
+
default values are 'Front' and 'GET'
|
96
|
+
|
97
|
+
.. code-block:: ruby
|
98
|
+
|
99
|
+
require 'twilio-ruby'
|
100
|
+
|
101
|
+
# To find these visit https://www.twilio.com/user/account
|
102
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
103
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
104
|
+
|
105
|
+
@client = Twilio::REST::Client.new account_sid, auth_token
|
106
|
+
|
107
|
+
queue_sid = "QUAAAAAAAAAAAAA"
|
108
|
+
|
109
|
+
@members = @client.queues.get(queue_sid).members
|
110
|
+
|
111
|
+
# Dequeue the first call in the queue
|
112
|
+
puts @members.dequeue('http://www.twilio.com/welcome/call')
|