twilio-ruby 5.57.1 → 5.58.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.travis.yml +24 -7
- data/CHANGES.md +83 -0
- data/Gemfile +1 -0
- data/README.md +2 -2
- data/examples/examples.rb +1 -1
- data/lib/twilio-ruby/http/http_client.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +12 -3
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +4 -1
- data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +12 -5
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +12 -5
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +7 -0
- data/lib/twilio-ruby/rest/insights.rb +6 -0
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +54 -1
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +9 -2
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +6 -2
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +19 -14
- data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
- data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
- data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
- data/lib/twilio-ruby/rest/pricing.rb +19 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +30 -20
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +6 -2
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +36 -11
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +11 -9
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +8 -8
- data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +7 -3
- data/lib/twilio-ruby/rest/verify/v2/verification_template.rb +206 -0
- data/lib/twilio-ruby/rest/verify/v2.rb +7 -0
- data/lib/twilio-ruby/rest/verify.rb +6 -0
- data/lib/twilio-ruby/version.rb +1 -1
- data/sonar-project.properties +13 -0
- metadata +7 -2
@@ -0,0 +1,280 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
#
|
7
|
+
# frozen_string_literal: true
|
8
|
+
|
9
|
+
module Twilio
|
10
|
+
module REST
|
11
|
+
class Pricing < Domain
|
12
|
+
class V2 < Version
|
13
|
+
class CountryList < ListResource
|
14
|
+
##
|
15
|
+
# Initialize the CountryList
|
16
|
+
# @param [Version] version Version that contains the resource
|
17
|
+
# @return [CountryList] CountryList
|
18
|
+
def initialize(version)
|
19
|
+
super(version)
|
20
|
+
|
21
|
+
# Path Solution
|
22
|
+
@solution = {}
|
23
|
+
@uri = "/Trunking/Countries"
|
24
|
+
end
|
25
|
+
|
26
|
+
##
|
27
|
+
# Lists CountryInstance records from the API as a list.
|
28
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
29
|
+
# memory before returning.
|
30
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
31
|
+
# guarantees to never return more than limit. Default is no limit
|
32
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
33
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
34
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
35
|
+
# efficient page size, i.e. min(limit, 1000)
|
36
|
+
# @return [Array] Array of up to limit results
|
37
|
+
def list(limit: nil, page_size: nil)
|
38
|
+
self.stream(limit: limit, page_size: page_size).entries
|
39
|
+
end
|
40
|
+
|
41
|
+
##
|
42
|
+
# Streams CountryInstance records from the API as an Enumerable.
|
43
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
44
|
+
# is reached.
|
45
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
46
|
+
# guarantees to never return more than limit. Default is no limit.
|
47
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
48
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
49
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
50
|
+
# efficient page size, i.e. min(limit, 1000)
|
51
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
52
|
+
def stream(limit: nil, page_size: nil)
|
53
|
+
limits = @version.read_limits(limit, page_size)
|
54
|
+
|
55
|
+
page = self.page(page_size: limits[:page_size], )
|
56
|
+
|
57
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
58
|
+
end
|
59
|
+
|
60
|
+
##
|
61
|
+
# When passed a block, yields CountryInstance records from the API.
|
62
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
63
|
+
# is reached.
|
64
|
+
def each
|
65
|
+
limits = @version.read_limits
|
66
|
+
|
67
|
+
page = self.page(page_size: limits[:page_size], )
|
68
|
+
|
69
|
+
@version.stream(page,
|
70
|
+
limit: limits[:limit],
|
71
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
72
|
+
end
|
73
|
+
|
74
|
+
##
|
75
|
+
# Retrieve a single page of CountryInstance records from the API.
|
76
|
+
# Request is executed immediately.
|
77
|
+
# @param [String] page_token PageToken provided by the API
|
78
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
79
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
80
|
+
# @return [Page] Page of CountryInstance
|
81
|
+
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
82
|
+
params = Twilio::Values.of({
|
83
|
+
'PageToken' => page_token,
|
84
|
+
'Page' => page_number,
|
85
|
+
'PageSize' => page_size,
|
86
|
+
})
|
87
|
+
|
88
|
+
response = @version.page('GET', @uri, params: params)
|
89
|
+
|
90
|
+
CountryPage.new(@version, response, @solution)
|
91
|
+
end
|
92
|
+
|
93
|
+
##
|
94
|
+
# Retrieve a single page of CountryInstance records from the API.
|
95
|
+
# Request is executed immediately.
|
96
|
+
# @param [String] target_url API-generated URL for the requested results page
|
97
|
+
# @return [Page] Page of CountryInstance
|
98
|
+
def get_page(target_url)
|
99
|
+
response = @version.domain.request(
|
100
|
+
'GET',
|
101
|
+
target_url
|
102
|
+
)
|
103
|
+
CountryPage.new(@version, response, @solution)
|
104
|
+
end
|
105
|
+
|
106
|
+
##
|
107
|
+
# Provide a user friendly representation
|
108
|
+
def to_s
|
109
|
+
'#<Twilio.Pricing.V2.CountryList>'
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
class CountryPage < Page
|
114
|
+
##
|
115
|
+
# Initialize the CountryPage
|
116
|
+
# @param [Version] version Version that contains the resource
|
117
|
+
# @param [Response] response Response from the API
|
118
|
+
# @param [Hash] solution Path solution for the resource
|
119
|
+
# @return [CountryPage] CountryPage
|
120
|
+
def initialize(version, response, solution)
|
121
|
+
super(version, response)
|
122
|
+
|
123
|
+
# Path Solution
|
124
|
+
@solution = solution
|
125
|
+
end
|
126
|
+
|
127
|
+
##
|
128
|
+
# Build an instance of CountryInstance
|
129
|
+
# @param [Hash] payload Payload response from the API
|
130
|
+
# @return [CountryInstance] CountryInstance
|
131
|
+
def get_instance(payload)
|
132
|
+
CountryInstance.new(@version, payload, )
|
133
|
+
end
|
134
|
+
|
135
|
+
##
|
136
|
+
# Provide a user friendly representation
|
137
|
+
def to_s
|
138
|
+
'<Twilio.Pricing.V2.CountryPage>'
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
class CountryContext < InstanceContext
|
143
|
+
##
|
144
|
+
# Initialize the CountryContext
|
145
|
+
# @param [Version] version Version that contains the resource
|
146
|
+
# @param [String] iso_country The {ISO country
|
147
|
+
# code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the origin-based
|
148
|
+
# voice pricing information to fetch.
|
149
|
+
# @return [CountryContext] CountryContext
|
150
|
+
def initialize(version, iso_country)
|
151
|
+
super(version)
|
152
|
+
|
153
|
+
# Path Solution
|
154
|
+
@solution = {iso_country: iso_country, }
|
155
|
+
@uri = "/Trunking/Countries/#{@solution[:iso_country]}"
|
156
|
+
end
|
157
|
+
|
158
|
+
##
|
159
|
+
# Fetch the CountryInstance
|
160
|
+
# @return [CountryInstance] Fetched CountryInstance
|
161
|
+
def fetch
|
162
|
+
payload = @version.fetch('GET', @uri)
|
163
|
+
|
164
|
+
CountryInstance.new(@version, payload, iso_country: @solution[:iso_country], )
|
165
|
+
end
|
166
|
+
|
167
|
+
##
|
168
|
+
# Provide a user friendly representation
|
169
|
+
def to_s
|
170
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
171
|
+
"#<Twilio.Pricing.V2.CountryContext #{context}>"
|
172
|
+
end
|
173
|
+
|
174
|
+
##
|
175
|
+
# Provide a detailed, user friendly representation
|
176
|
+
def inspect
|
177
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
178
|
+
"#<Twilio.Pricing.V2.CountryContext #{context}>"
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
class CountryInstance < InstanceResource
|
183
|
+
##
|
184
|
+
# Initialize the CountryInstance
|
185
|
+
# @param [Version] version Version that contains the resource
|
186
|
+
# @param [Hash] payload payload that contains response from Twilio
|
187
|
+
# @param [String] iso_country The {ISO country
|
188
|
+
# code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the origin-based
|
189
|
+
# voice pricing information to fetch.
|
190
|
+
# @return [CountryInstance] CountryInstance
|
191
|
+
def initialize(version, payload, iso_country: nil)
|
192
|
+
super(version)
|
193
|
+
|
194
|
+
# Marshaled Properties
|
195
|
+
@properties = {
|
196
|
+
'country' => payload['country'],
|
197
|
+
'iso_country' => payload['iso_country'],
|
198
|
+
'terminating_prefix_prices' => payload['terminating_prefix_prices'],
|
199
|
+
'originating_call_prices' => payload['originating_call_prices'],
|
200
|
+
'price_unit' => payload['price_unit'],
|
201
|
+
'url' => payload['url'],
|
202
|
+
}
|
203
|
+
|
204
|
+
# Context
|
205
|
+
@instance_context = nil
|
206
|
+
@params = {'iso_country' => iso_country || @properties['iso_country'], }
|
207
|
+
end
|
208
|
+
|
209
|
+
##
|
210
|
+
# Generate an instance context for the instance, the context is capable of
|
211
|
+
# performing various actions. All instance actions are proxied to the context
|
212
|
+
# @return [CountryContext] CountryContext for this CountryInstance
|
213
|
+
def context
|
214
|
+
unless @instance_context
|
215
|
+
@instance_context = CountryContext.new(@version, @params['iso_country'], )
|
216
|
+
end
|
217
|
+
@instance_context
|
218
|
+
end
|
219
|
+
|
220
|
+
##
|
221
|
+
# @return [String] The name of the country
|
222
|
+
def country
|
223
|
+
@properties['country']
|
224
|
+
end
|
225
|
+
|
226
|
+
##
|
227
|
+
# @return [String] The ISO country code
|
228
|
+
def iso_country
|
229
|
+
@properties['iso_country']
|
230
|
+
end
|
231
|
+
|
232
|
+
##
|
233
|
+
# @return [Array[String]] The list of TerminatingPrefixPrice records
|
234
|
+
def terminating_prefix_prices
|
235
|
+
@properties['terminating_prefix_prices']
|
236
|
+
end
|
237
|
+
|
238
|
+
##
|
239
|
+
# @return [Array[String]] The list of OriginatingCallPrice records
|
240
|
+
def originating_call_prices
|
241
|
+
@properties['originating_call_prices']
|
242
|
+
end
|
243
|
+
|
244
|
+
##
|
245
|
+
# @return [String] The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)
|
246
|
+
def price_unit
|
247
|
+
@properties['price_unit']
|
248
|
+
end
|
249
|
+
|
250
|
+
##
|
251
|
+
# @return [String] The absolute URL of the resource
|
252
|
+
def url
|
253
|
+
@properties['url']
|
254
|
+
end
|
255
|
+
|
256
|
+
##
|
257
|
+
# Fetch the CountryInstance
|
258
|
+
# @return [CountryInstance] Fetched CountryInstance
|
259
|
+
def fetch
|
260
|
+
context.fetch
|
261
|
+
end
|
262
|
+
|
263
|
+
##
|
264
|
+
# Provide a user friendly representation
|
265
|
+
def to_s
|
266
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
267
|
+
"<Twilio.Pricing.V2.CountryInstance #{values}>"
|
268
|
+
end
|
269
|
+
|
270
|
+
##
|
271
|
+
# Provide a detailed, user friendly representation
|
272
|
+
def inspect
|
273
|
+
values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
|
274
|
+
"<Twilio.Pricing.V2.CountryInstance #{values}>"
|
275
|
+
end
|
276
|
+
end
|
277
|
+
end
|
278
|
+
end
|
279
|
+
end
|
280
|
+
end
|
@@ -0,0 +1,225 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
#
|
7
|
+
# frozen_string_literal: true
|
8
|
+
|
9
|
+
module Twilio
|
10
|
+
module REST
|
11
|
+
class Pricing < Domain
|
12
|
+
class V2 < Version
|
13
|
+
class NumberList < ListResource
|
14
|
+
##
|
15
|
+
# Initialize the NumberList
|
16
|
+
# @param [Version] version Version that contains the resource
|
17
|
+
# @return [NumberList] NumberList
|
18
|
+
def initialize(version)
|
19
|
+
super(version)
|
20
|
+
|
21
|
+
# Path Solution
|
22
|
+
@solution = {}
|
23
|
+
end
|
24
|
+
|
25
|
+
##
|
26
|
+
# Provide a user friendly representation
|
27
|
+
def to_s
|
28
|
+
'#<Twilio.Pricing.V2.NumberList>'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
class NumberPage < Page
|
33
|
+
##
|
34
|
+
# Initialize the NumberPage
|
35
|
+
# @param [Version] version Version that contains the resource
|
36
|
+
# @param [Response] response Response from the API
|
37
|
+
# @param [Hash] solution Path solution for the resource
|
38
|
+
# @return [NumberPage] NumberPage
|
39
|
+
def initialize(version, response, solution)
|
40
|
+
super(version, response)
|
41
|
+
|
42
|
+
# Path Solution
|
43
|
+
@solution = solution
|
44
|
+
end
|
45
|
+
|
46
|
+
##
|
47
|
+
# Build an instance of NumberInstance
|
48
|
+
# @param [Hash] payload Payload response from the API
|
49
|
+
# @return [NumberInstance] NumberInstance
|
50
|
+
def get_instance(payload)
|
51
|
+
NumberInstance.new(@version, payload, )
|
52
|
+
end
|
53
|
+
|
54
|
+
##
|
55
|
+
# Provide a user friendly representation
|
56
|
+
def to_s
|
57
|
+
'<Twilio.Pricing.V2.NumberPage>'
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
class NumberContext < InstanceContext
|
62
|
+
##
|
63
|
+
# Initialize the NumberContext
|
64
|
+
# @param [Version] version Version that contains the resource
|
65
|
+
# @param [String] destination_number The destination phone number, in
|
66
|
+
# {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
|
67
|
+
# fetch the origin-based voice pricing information. E.164 format consists of a +
|
68
|
+
# followed by the country code and subscriber number.
|
69
|
+
# @return [NumberContext] NumberContext
|
70
|
+
def initialize(version, destination_number)
|
71
|
+
super(version)
|
72
|
+
|
73
|
+
# Path Solution
|
74
|
+
@solution = {destination_number: destination_number, }
|
75
|
+
@uri = "/Trunking/Numbers/#{CGI.escape(@solution[:destination_number]).gsub("+", "%20")}"
|
76
|
+
end
|
77
|
+
|
78
|
+
##
|
79
|
+
# Fetch the NumberInstance
|
80
|
+
# @param [String] origination_number The origination phone number, in
|
81
|
+
# {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
|
82
|
+
# fetch the origin-based voice pricing information. E.164 format consists of a +
|
83
|
+
# followed by the country code and subscriber number.
|
84
|
+
# @return [NumberInstance] Fetched NumberInstance
|
85
|
+
def fetch(origination_number: :unset)
|
86
|
+
params = Twilio::Values.of({'OriginationNumber' => origination_number, })
|
87
|
+
|
88
|
+
payload = @version.fetch('GET', @uri, params: params)
|
89
|
+
|
90
|
+
NumberInstance.new(@version, payload, destination_number: @solution[:destination_number], )
|
91
|
+
end
|
92
|
+
|
93
|
+
##
|
94
|
+
# Provide a user friendly representation
|
95
|
+
def to_s
|
96
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
97
|
+
"#<Twilio.Pricing.V2.NumberContext #{context}>"
|
98
|
+
end
|
99
|
+
|
100
|
+
##
|
101
|
+
# Provide a detailed, user friendly representation
|
102
|
+
def inspect
|
103
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
104
|
+
"#<Twilio.Pricing.V2.NumberContext #{context}>"
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
class NumberInstance < InstanceResource
|
109
|
+
##
|
110
|
+
# Initialize the NumberInstance
|
111
|
+
# @param [Version] version Version that contains the resource
|
112
|
+
# @param [Hash] payload payload that contains response from Twilio
|
113
|
+
# @param [String] destination_number The destination phone number, in
|
114
|
+
# {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
|
115
|
+
# fetch the origin-based voice pricing information. E.164 format consists of a +
|
116
|
+
# followed by the country code and subscriber number.
|
117
|
+
# @return [NumberInstance] NumberInstance
|
118
|
+
def initialize(version, payload, destination_number: nil)
|
119
|
+
super(version)
|
120
|
+
|
121
|
+
# Marshaled Properties
|
122
|
+
@properties = {
|
123
|
+
'destination_number' => payload['destination_number'],
|
124
|
+
'origination_number' => payload['origination_number'],
|
125
|
+
'country' => payload['country'],
|
126
|
+
'iso_country' => payload['iso_country'],
|
127
|
+
'terminating_prefix_prices' => payload['terminating_prefix_prices'],
|
128
|
+
'originating_call_price' => payload['originating_call_price'],
|
129
|
+
'price_unit' => payload['price_unit'],
|
130
|
+
'url' => payload['url'],
|
131
|
+
}
|
132
|
+
|
133
|
+
# Context
|
134
|
+
@instance_context = nil
|
135
|
+
@params = {'destination_number' => destination_number || @properties['destination_number'], }
|
136
|
+
end
|
137
|
+
|
138
|
+
##
|
139
|
+
# Generate an instance context for the instance, the context is capable of
|
140
|
+
# performing various actions. All instance actions are proxied to the context
|
141
|
+
# @return [NumberContext] NumberContext for this NumberInstance
|
142
|
+
def context
|
143
|
+
unless @instance_context
|
144
|
+
@instance_context = NumberContext.new(@version, @params['destination_number'], )
|
145
|
+
end
|
146
|
+
@instance_context
|
147
|
+
end
|
148
|
+
|
149
|
+
##
|
150
|
+
# @return [String] The destination phone number, in E.164 format
|
151
|
+
def destination_number
|
152
|
+
@properties['destination_number']
|
153
|
+
end
|
154
|
+
|
155
|
+
##
|
156
|
+
# @return [String] The origination phone number, in E.164 format
|
157
|
+
def origination_number
|
158
|
+
@properties['origination_number']
|
159
|
+
end
|
160
|
+
|
161
|
+
##
|
162
|
+
# @return [String] The name of the country
|
163
|
+
def country
|
164
|
+
@properties['country']
|
165
|
+
end
|
166
|
+
|
167
|
+
##
|
168
|
+
# @return [String] The ISO country code
|
169
|
+
def iso_country
|
170
|
+
@properties['iso_country']
|
171
|
+
end
|
172
|
+
|
173
|
+
##
|
174
|
+
# @return [Array[String]] The terminating_prefix_prices
|
175
|
+
def terminating_prefix_prices
|
176
|
+
@properties['terminating_prefix_prices']
|
177
|
+
end
|
178
|
+
|
179
|
+
##
|
180
|
+
# @return [String] The OriginatingCallPrice record
|
181
|
+
def originating_call_price
|
182
|
+
@properties['originating_call_price']
|
183
|
+
end
|
184
|
+
|
185
|
+
##
|
186
|
+
# @return [String] The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)
|
187
|
+
def price_unit
|
188
|
+
@properties['price_unit']
|
189
|
+
end
|
190
|
+
|
191
|
+
##
|
192
|
+
# @return [String] The absolute URL of the resource
|
193
|
+
def url
|
194
|
+
@properties['url']
|
195
|
+
end
|
196
|
+
|
197
|
+
##
|
198
|
+
# Fetch the NumberInstance
|
199
|
+
# @param [String] origination_number The origination phone number, in
|
200
|
+
# {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
|
201
|
+
# fetch the origin-based voice pricing information. E.164 format consists of a +
|
202
|
+
# followed by the country code and subscriber number.
|
203
|
+
# @return [NumberInstance] Fetched NumberInstance
|
204
|
+
def fetch(origination_number: :unset)
|
205
|
+
context.fetch(origination_number: origination_number, )
|
206
|
+
end
|
207
|
+
|
208
|
+
##
|
209
|
+
# Provide a user friendly representation
|
210
|
+
def to_s
|
211
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
212
|
+
"<Twilio.Pricing.V2.NumberInstance #{values}>"
|
213
|
+
end
|
214
|
+
|
215
|
+
##
|
216
|
+
# Provide a detailed, user friendly representation
|
217
|
+
def inspect
|
218
|
+
values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
|
219
|
+
"<Twilio.Pricing.V2.NumberInstance #{values}>"
|
220
|
+
end
|
221
|
+
end
|
222
|
+
end
|
223
|
+
end
|
224
|
+
end
|
225
|
+
end
|
@@ -15,9 +15,46 @@ module Twilio
|
|
15
15
|
def initialize(domain)
|
16
16
|
super
|
17
17
|
@version = 'v2'
|
18
|
+
@countries = nil
|
19
|
+
@numbers = nil
|
18
20
|
@voice = nil
|
19
21
|
end
|
20
22
|
|
23
|
+
##
|
24
|
+
# @param [String] iso_country The {ISO country
|
25
|
+
# code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the origin-based
|
26
|
+
# voice pricing information to fetch.
|
27
|
+
# @return [Twilio::REST::Pricing::V2::CountryContext] if iso_country was passed.
|
28
|
+
# @return [Twilio::REST::Pricing::V2::CountryList]
|
29
|
+
def countries(iso_country=:unset)
|
30
|
+
if iso_country.nil?
|
31
|
+
raise ArgumentError, 'iso_country cannot be nil'
|
32
|
+
end
|
33
|
+
if iso_country == :unset
|
34
|
+
@countries ||= CountryList.new self
|
35
|
+
else
|
36
|
+
CountryContext.new(self, iso_country)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
##
|
41
|
+
# @param [String] destination_number The destination phone number, in
|
42
|
+
# {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
|
43
|
+
# fetch the origin-based voice pricing information. E.164 format consists of a +
|
44
|
+
# followed by the country code and subscriber number.
|
45
|
+
# @return [Twilio::REST::Pricing::V2::NumberContext] if destination_number was passed.
|
46
|
+
# @return [Twilio::REST::Pricing::V2::NumberList]
|
47
|
+
def numbers(destination_number=:unset)
|
48
|
+
if destination_number.nil?
|
49
|
+
raise ArgumentError, 'destination_number cannot be nil'
|
50
|
+
end
|
51
|
+
if destination_number == :unset
|
52
|
+
@numbers ||= NumberList.new self
|
53
|
+
else
|
54
|
+
NumberContext.new(self, destination_number)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
21
58
|
##
|
22
59
|
# @return [Twilio::REST::Pricing::V2::VoiceContext]
|
23
60
|
def voice
|
@@ -53,6 +53,25 @@ module Twilio
|
|
53
53
|
self.v2.voice()
|
54
54
|
end
|
55
55
|
|
56
|
+
##
|
57
|
+
# @param [String] iso_country The {ISO country
|
58
|
+
# code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2].
|
59
|
+
# @return [Twilio::REST::Pricing::V2::CountryInstance] if iso_country was passed.
|
60
|
+
# @return [Twilio::REST::Pricing::V2::CountryList]
|
61
|
+
def countries(iso_country=:unset)
|
62
|
+
self.v2.countries(iso_country)
|
63
|
+
end
|
64
|
+
|
65
|
+
##
|
66
|
+
# @param [String] destination_number The destination phone number in
|
67
|
+
# {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, which consists
|
68
|
+
# of a + followed by the country code and subscriber number.
|
69
|
+
# @return [Twilio::REST::Pricing::V2::NumberInstance] if destination_number was passed.
|
70
|
+
# @return [Twilio::REST::Pricing::V2::NumberList]
|
71
|
+
def numbers(destination_number=:unset)
|
72
|
+
self.v2.numbers(destination_number)
|
73
|
+
end
|
74
|
+
|
56
75
|
##
|
57
76
|
# Provide a user friendly representation
|
58
77
|
def to_s
|
@@ -124,12 +124,14 @@ module Twilio
|
|
124
124
|
# worker.activity.update`, then TaskRouter will call event_callback_url only when
|
125
125
|
# a task is created, canceled, or a Worker activity is updated.
|
126
126
|
# @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
|
127
|
-
# `true` to enable multi-tasking, or `false` to disable it.
|
128
|
-
#
|
129
|
-
#
|
130
|
-
#
|
131
|
-
#
|
132
|
-
#
|
127
|
+
# `true` to enable multi-tasking, or `false` to disable it. However, all
|
128
|
+
# workspaces should be created as multi-tasking. The default is `true`.
|
129
|
+
# Multi-tasking allows Workers to handle multiple Tasks simultaneously. When
|
130
|
+
# enabled (`true`), each Worker can receive parallel reservations up to the
|
131
|
+
# per-channel maximums defined in the Workers section. In single-tasking mode
|
132
|
+
# (legacy mode), each Worker will only receive a new reservation when the previous
|
133
|
+
# task is completed. Learn more at
|
134
|
+
# {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
|
133
135
|
# @param [String] template An available template name. Can be: `NONE` or `FIFO`
|
134
136
|
# and the default is `NONE`. Pre-configures the Workspace with the Workflow and
|
135
137
|
# Activities specified in the template. `NONE` will create a Workspace with only a
|
@@ -243,17 +245,21 @@ module Twilio
|
|
243
245
|
# the Workspace resource. For example: `Sales Call Center` or `Customer Support
|
244
246
|
# Team`.
|
245
247
|
# @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
|
246
|
-
# `true` to enable multi-tasking, or `false` to disable it.
|
247
|
-
#
|
248
|
-
#
|
249
|
-
#
|
250
|
-
#
|
251
|
-
#
|
248
|
+
# `true` to enable multi-tasking, or `false` to disable it. However, all
|
249
|
+
# workspaces should be maintained as multi-tasking. There is no default when
|
250
|
+
# omitting this parameter. A multi-tasking Workspace can't be updated to
|
251
|
+
# single-tasking unless it is not a Flex Project and another (legacy)
|
252
|
+
# single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple
|
253
|
+
# Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel
|
254
|
+
# reservations up to the per-channel maximums defined in the Workers section. In
|
255
|
+
# single-tasking mode (legacy mode), each Worker will only receive a new
|
256
|
+
# reservation when the previous task is completed. Learn more at
|
257
|
+
# {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
|
252
258
|
# @param [String] timeout_activity_sid The SID of the Activity that will be
|
253
259
|
# assigned to a Worker when a Task reservation times out without a response.
|
254
260
|
# @param [workspace.QueueOrder] prioritize_queue_order The type of TaskQueue to
|
255
261
|
# prioritize when Workers are receiving Tasks from both types of TaskQueues. Can
|
256
|
-
# be: `LIFO` or `FIFO
|
262
|
+
# be: `LIFO` or `FIFO`. For more information, see {Queue
|
257
263
|
# Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
|
258
264
|
# @return [WorkspaceInstance] Updated WorkspaceInstance
|
259
265
|
def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
|
@@ -602,17 +608,21 @@ module Twilio
|
|
602
608
|
# the Workspace resource. For example: `Sales Call Center` or `Customer Support
|
603
609
|
# Team`.
|
604
610
|
# @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
|
605
|
-
# `true` to enable multi-tasking, or `false` to disable it.
|
606
|
-
#
|
607
|
-
#
|
608
|
-
#
|
609
|
-
#
|
610
|
-
#
|
611
|
+
# `true` to enable multi-tasking, or `false` to disable it. However, all
|
612
|
+
# workspaces should be maintained as multi-tasking. There is no default when
|
613
|
+
# omitting this parameter. A multi-tasking Workspace can't be updated to
|
614
|
+
# single-tasking unless it is not a Flex Project and another (legacy)
|
615
|
+
# single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple
|
616
|
+
# Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel
|
617
|
+
# reservations up to the per-channel maximums defined in the Workers section. In
|
618
|
+
# single-tasking mode (legacy mode), each Worker will only receive a new
|
619
|
+
# reservation when the previous task is completed. Learn more at
|
620
|
+
# {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
|
611
621
|
# @param [String] timeout_activity_sid The SID of the Activity that will be
|
612
622
|
# assigned to a Worker when a Task reservation times out without a response.
|
613
623
|
# @param [workspace.QueueOrder] prioritize_queue_order The type of TaskQueue to
|
614
624
|
# prioritize when Workers are receiving Tasks from both types of TaskQueues. Can
|
615
|
-
# be: `LIFO` or `FIFO
|
625
|
+
# be: `LIFO` or `FIFO`. For more information, see {Queue
|
616
626
|
# Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
|
617
627
|
# @return [WorkspaceInstance] Updated WorkspaceInstance
|
618
628
|
def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
|