twilio-ruby 5.58.0 → 5.59.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.
- 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
|
|