twilio-ruby 5.58.0 → 5.59.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/CHANGES.md +90 -0
- data/README.md +3 -3
- data/lib/twilio-ruby/http/http_client.rb +1 -1
- data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +667 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +27 -1
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +4 -4
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +4 -4
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +4 -4
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +10 -10
- data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +12 -5
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +12 -5
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +7 -0
- data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +44 -38
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +43 -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/bundle_copy.rb +188 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +59 -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/serverless/v1/service/environment.rb +1 -1
- data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +7 -3
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +7 -3
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +23 -11
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +30 -20
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +19 -3
- 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/service/verification.rb +8 -8
- data/lib/twilio-ruby/rest/verify/v2/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
- metadata +9 -3
@@ -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
|
@@ -369,7 +369,7 @@ module Twilio
|
|
369
369
|
end
|
370
370
|
|
371
371
|
##
|
372
|
-
# @return [String] The
|
372
|
+
# @return [String] The domain name for all Functions and Assets deployed in the Environment
|
373
373
|
def domain_name
|
374
374
|
@properties['domain_name']
|
375
375
|
end
|
@@ -335,6 +335,7 @@ module Twilio
|
|
335
335
|
'unique_name' => payload['unique_name'],
|
336
336
|
'include_credentials' => payload['include_credentials'],
|
337
337
|
'ui_editable' => payload['ui_editable'],
|
338
|
+
'domain_base' => payload['domain_base'],
|
338
339
|
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
339
340
|
'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
|
340
341
|
'url' => payload['url'],
|
@@ -393,6 +394,12 @@ module Twilio
|
|
393
394
|
@properties['ui_editable']
|
394
395
|
end
|
395
396
|
|
397
|
+
##
|
398
|
+
# @return [String] The base domain name for this Service, which is a combination of the unique name and a randomly generated string
|
399
|
+
def domain_base
|
400
|
+
@properties['domain_base']
|
401
|
+
end
|
402
|
+
|
396
403
|
##
|
397
404
|
# @return [Time] The ISO 8601 date and time in GMT when the Service resource was created
|
398
405
|
def date_created
|
@@ -322,8 +322,9 @@ module Twilio
|
|
322
322
|
# when the customer leaves.
|
323
323
|
# @param [Boolean] beep_on_customer_entrance Whether to play a notification beep
|
324
324
|
# when the customer joins.
|
325
|
+
# @param [String] if_match The If-Match HTTP request header
|
325
326
|
# @return [ReservationInstance] Updated ReservationInstance
|
326
|
-
def update(reservation_status: :unset, worker_activity_sid: :unset, instruction: :unset, dequeue_post_work_activity_sid: :unset, dequeue_from: :unset, dequeue_record: :unset, dequeue_timeout: :unset, dequeue_to: :unset, dequeue_status_callback_url: :unset, call_from: :unset, call_record: :unset, call_timeout: :unset, call_to: :unset, call_url: :unset, call_status_callback_url: :unset, call_accept: :unset, redirect_call_sid: :unset, redirect_accept: :unset, redirect_url: :unset, to: :unset, from: :unset, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, conference_record: :unset, conference_trim: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, region: :unset, sip_auth_username: :unset, sip_auth_password: :unset, dequeue_status_callback_event: :unset, post_work_activity_sid: :unset, supervisor_mode: :unset, supervisor: :unset, end_conference_on_customer_exit: :unset, beep_on_customer_entrance: :unset)
|
327
|
+
def update(reservation_status: :unset, worker_activity_sid: :unset, instruction: :unset, dequeue_post_work_activity_sid: :unset, dequeue_from: :unset, dequeue_record: :unset, dequeue_timeout: :unset, dequeue_to: :unset, dequeue_status_callback_url: :unset, call_from: :unset, call_record: :unset, call_timeout: :unset, call_to: :unset, call_url: :unset, call_status_callback_url: :unset, call_accept: :unset, redirect_call_sid: :unset, redirect_accept: :unset, redirect_url: :unset, to: :unset, from: :unset, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, conference_record: :unset, conference_trim: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, region: :unset, sip_auth_username: :unset, sip_auth_password: :unset, dequeue_status_callback_event: :unset, post_work_activity_sid: :unset, supervisor_mode: :unset, supervisor: :unset, end_conference_on_customer_exit: :unset, beep_on_customer_entrance: :unset, if_match: :unset)
|
327
328
|
data = Twilio::Values.of({
|
328
329
|
'ReservationStatus' => reservation_status,
|
329
330
|
'WorkerActivitySid' => worker_activity_sid,
|
@@ -379,8 +380,9 @@ module Twilio
|
|
379
380
|
'EndConferenceOnCustomerExit' => end_conference_on_customer_exit,
|
380
381
|
'BeepOnCustomerEntrance' => beep_on_customer_entrance,
|
381
382
|
})
|
383
|
+
headers = Twilio::Values.of({'If-Match' => if_match, })
|
382
384
|
|
383
|
-
payload = @version.update('POST', @uri, data: data)
|
385
|
+
payload = @version.update('POST', @uri, data: data, headers: headers)
|
384
386
|
|
385
387
|
ReservationInstance.new(
|
386
388
|
@version,
|
@@ -662,8 +664,9 @@ module Twilio
|
|
662
664
|
# when the customer leaves.
|
663
665
|
# @param [Boolean] beep_on_customer_entrance Whether to play a notification beep
|
664
666
|
# when the customer joins.
|
667
|
+
# @param [String] if_match The If-Match HTTP request header
|
665
668
|
# @return [ReservationInstance] Updated ReservationInstance
|
666
|
-
def update(reservation_status: :unset, worker_activity_sid: :unset, instruction: :unset, dequeue_post_work_activity_sid: :unset, dequeue_from: :unset, dequeue_record: :unset, dequeue_timeout: :unset, dequeue_to: :unset, dequeue_status_callback_url: :unset, call_from: :unset, call_record: :unset, call_timeout: :unset, call_to: :unset, call_url: :unset, call_status_callback_url: :unset, call_accept: :unset, redirect_call_sid: :unset, redirect_accept: :unset, redirect_url: :unset, to: :unset, from: :unset, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, conference_record: :unset, conference_trim: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, region: :unset, sip_auth_username: :unset, sip_auth_password: :unset, dequeue_status_callback_event: :unset, post_work_activity_sid: :unset, supervisor_mode: :unset, supervisor: :unset, end_conference_on_customer_exit: :unset, beep_on_customer_entrance: :unset)
|
669
|
+
def update(reservation_status: :unset, worker_activity_sid: :unset, instruction: :unset, dequeue_post_work_activity_sid: :unset, dequeue_from: :unset, dequeue_record: :unset, dequeue_timeout: :unset, dequeue_to: :unset, dequeue_status_callback_url: :unset, call_from: :unset, call_record: :unset, call_timeout: :unset, call_to: :unset, call_url: :unset, call_status_callback_url: :unset, call_accept: :unset, redirect_call_sid: :unset, redirect_accept: :unset, redirect_url: :unset, to: :unset, from: :unset, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, conference_record: :unset, conference_trim: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, region: :unset, sip_auth_username: :unset, sip_auth_password: :unset, dequeue_status_callback_event: :unset, post_work_activity_sid: :unset, supervisor_mode: :unset, supervisor: :unset, end_conference_on_customer_exit: :unset, beep_on_customer_entrance: :unset, if_match: :unset)
|
667
670
|
context.update(
|
668
671
|
reservation_status: reservation_status,
|
669
672
|
worker_activity_sid: worker_activity_sid,
|
@@ -718,6 +721,7 @@ module Twilio
|
|
718
721
|
supervisor: supervisor,
|
719
722
|
end_conference_on_customer_exit: end_conference_on_customer_exit,
|
720
723
|
beep_on_customer_entrance: beep_on_customer_entrance,
|
724
|
+
if_match: if_match,
|
721
725
|
)
|
722
726
|
end
|
723
727
|
|