twilio-ruby 7.8.5 → 7.8.7

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.
@@ -21,17 +21,12 @@ module Twilio
21
21
  @base_url = "https://iam.twilio.com"
22
22
  @host = "iam.twilio.com"
23
23
  @port = 443
24
- @v1 = nil
25
- end
26
-
27
- def v1
28
- @v1 ||= Iam::V1.new self
29
24
  end
30
25
 
31
26
  ##
32
27
  # Provide a user friendly representation
33
28
  def to_s
34
- '<Twilio::REST::Iam::V1>';
29
+ '<Twilio::REST::Iam>';
35
30
  end
36
31
  end
37
32
  end
@@ -253,49 +253,49 @@ module Twilio
253
253
  end
254
254
 
255
255
  ##
256
- # @return [CallerName]
256
+ # @return [CallerNameInfo]
257
257
  def caller_name
258
258
  @properties['caller_name']
259
259
  end
260
260
 
261
261
  ##
262
- # @return [SimSwap]
262
+ # @return [SimSwapInfo]
263
263
  def sim_swap
264
264
  @properties['sim_swap']
265
265
  end
266
266
 
267
267
  ##
268
- # @return [CallForwarding]
268
+ # @return [CallForwardingInfo]
269
269
  def call_forwarding
270
270
  @properties['call_forwarding']
271
271
  end
272
272
 
273
273
  ##
274
- # @return [LineTypeIntelligence]
274
+ # @return [LineTypeIntelligenceInfo]
275
275
  def line_type_intelligence
276
276
  @properties['line_type_intelligence']
277
277
  end
278
278
 
279
279
  ##
280
- # @return [LineStatus]
280
+ # @return [LineStatusInfo]
281
281
  def line_status
282
282
  @properties['line_status']
283
283
  end
284
284
 
285
285
  ##
286
- # @return [IdentityMatch]
286
+ # @return [IdentityMatchInfo]
287
287
  def identity_match
288
288
  @properties['identity_match']
289
289
  end
290
290
 
291
291
  ##
292
- # @return [ReassignedNumber]
292
+ # @return [ReassignedNumberInfo]
293
293
  def reassigned_number
294
294
  @properties['reassigned_number']
295
295
  end
296
296
 
297
297
  ##
298
- # @return [SmsPumpingRisk]
298
+ # @return [SmsPumpingRiskInfo]
299
299
  def sms_pumping_risk
300
300
  @properties['sms_pumping_risk']
301
301
  end
@@ -59,7 +59,7 @@ module Twilio
59
59
  end
60
60
  end
61
61
 
62
- class LastSimSwap
62
+ class LastSimSwapInfo
63
63
  # @param [last_sim_swap_date]: [Time]
64
64
  # @param [swapped_period]: [String]
65
65
  # @param [swapped_in_period]: [Boolean]
@@ -166,6 +166,7 @@ module Twilio
166
166
  # @param [Status] status The compliance status of the Tollfree Verification record.
167
167
  # @param [String] external_reference_id Customer supplied reference id for the Tollfree Verification record.
168
168
  # @param [Boolean] include_sub_accounts Whether to include Tollfree Verifications from sub accounts in list response.
169
+ # @param [Array[String]] trust_product_sid The trust product sids / tollfree bundle sids of tollfree verifications
169
170
  # @param [Integer] limit Upper limit for the number of records to return. stream()
170
171
  # guarantees to never return more than limit. Default is no limit
171
172
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -173,12 +174,13 @@ module Twilio
173
174
  # but a limit is defined, stream() will attempt to read the limit with the most
174
175
  # efficient page size, i.e. min(limit, 1000)
175
176
  # @return [Array] Array of up to limit results
176
- def list(tollfree_phone_number_sid: :unset, status: :unset, external_reference_id: :unset, include_sub_accounts: :unset, limit: nil, page_size: nil)
177
+ def list(tollfree_phone_number_sid: :unset, status: :unset, external_reference_id: :unset, include_sub_accounts: :unset, trust_product_sid: :unset, limit: nil, page_size: nil)
177
178
  self.stream(
178
179
  tollfree_phone_number_sid: tollfree_phone_number_sid,
179
180
  status: status,
180
181
  external_reference_id: external_reference_id,
181
182
  include_sub_accounts: include_sub_accounts,
183
+ trust_product_sid: trust_product_sid,
182
184
  limit: limit,
183
185
  page_size: page_size
184
186
  ).entries
@@ -192,6 +194,7 @@ module Twilio
192
194
  # @param [Status] status The compliance status of the Tollfree Verification record.
193
195
  # @param [String] external_reference_id Customer supplied reference id for the Tollfree Verification record.
194
196
  # @param [Boolean] include_sub_accounts Whether to include Tollfree Verifications from sub accounts in list response.
197
+ # @param [Array[String]] trust_product_sid The trust product sids / tollfree bundle sids of tollfree verifications
195
198
  # @param [Integer] limit Upper limit for the number of records to return. stream()
196
199
  # guarantees to never return more than limit. Default is no limit
197
200
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -199,7 +202,7 @@ module Twilio
199
202
  # but a limit is defined, stream() will attempt to read the limit with the most
200
203
  # efficient page size, i.e. min(limit, 1000)
201
204
  # @return [Enumerable] Enumerable that will yield up to limit results
202
- def stream(tollfree_phone_number_sid: :unset, status: :unset, external_reference_id: :unset, include_sub_accounts: :unset, limit: nil, page_size: nil)
205
+ def stream(tollfree_phone_number_sid: :unset, status: :unset, external_reference_id: :unset, include_sub_accounts: :unset, trust_product_sid: :unset, limit: nil, page_size: nil)
203
206
  limits = @version.read_limits(limit, page_size)
204
207
 
205
208
  page = self.page(
@@ -207,6 +210,7 @@ module Twilio
207
210
  status: status,
208
211
  external_reference_id: external_reference_id,
209
212
  include_sub_accounts: include_sub_accounts,
213
+ trust_product_sid: trust_product_sid,
210
214
  page_size: limits[:page_size], )
211
215
 
212
216
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
@@ -233,16 +237,19 @@ module Twilio
233
237
  # @param [Status] status The compliance status of the Tollfree Verification record.
234
238
  # @param [String] external_reference_id Customer supplied reference id for the Tollfree Verification record.
235
239
  # @param [Boolean] include_sub_accounts Whether to include Tollfree Verifications from sub accounts in list response.
240
+ # @param [Array[String]] trust_product_sid The trust product sids / tollfree bundle sids of tollfree verifications
236
241
  # @param [String] page_token PageToken provided by the API
237
242
  # @param [Integer] page_number Page Number, this value is simply for client state
238
243
  # @param [Integer] page_size Number of records to return, defaults to 50
239
244
  # @return [Page] Page of TollfreeVerificationInstance
240
- def page(tollfree_phone_number_sid: :unset, status: :unset, external_reference_id: :unset, include_sub_accounts: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
245
+ def page(tollfree_phone_number_sid: :unset, status: :unset, external_reference_id: :unset, include_sub_accounts: :unset, trust_product_sid: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
241
246
  params = Twilio::Values.of({
242
247
  'TollfreePhoneNumberSid' => tollfree_phone_number_sid,
243
248
  'Status' => status,
244
249
  'ExternalReferenceId' => external_reference_id,
245
250
  'IncludeSubAccounts' => include_sub_accounts,
251
+
252
+ 'TrustProductSid' => Twilio.serialize_list(trust_product_sid) { |e| e },
246
253
  'PageToken' => page_token,
247
254
  'Page' => page_number,
248
255
  'PageSize' => page_size,
@@ -270,6 +270,7 @@ module Twilio
270
270
  'documents' => payload['documents'],
271
271
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
272
272
  'support_ticket_id' => payload['support_ticket_id'] == nil ? payload['support_ticket_id'] : payload['support_ticket_id'].to_i,
273
+ 'signature_request_url' => payload['signature_request_url'],
273
274
  }
274
275
 
275
276
  # Context
@@ -390,6 +391,12 @@ module Twilio
390
391
  @properties['support_ticket_id']
391
392
  end
392
393
 
394
+ ##
395
+ # @return [String]
396
+ def signature_request_url
397
+ @properties['signature_request_url']
398
+ end
399
+
393
400
  ##
394
401
  # Delete the PortingPortInInstance
395
402
  # @return [Boolean] True if delete succeeds, false otherwise
@@ -0,0 +1,378 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Numbers
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
15
+
16
+ module Twilio
17
+ module REST
18
+ class Numbers < NumbersBase
19
+ class V2 < Version
20
+ class ApplicationList < ListResource
21
+
22
+ class CreateShortCodeApplicationRequest
23
+ # @param [friendly_name]: [String] The friendly name for the short code application.
24
+ # @param [iso_country]: [String] The ISO country code.
25
+ # @param [business_information]: [ApplicationList.CreateShortCodeApplicationRequestBusinessInformation]
26
+ # @param [setup]: [ApplicationList.CreateShortCodeApplicationRequestSetup]
27
+ attr_accessor :friendly_name, :iso_country, :business_information, :setup
28
+ def initialize(payload)
29
+ @friendly_name = payload["friendly_name"]
30
+ @iso_country = payload["iso_country"]
31
+ @business_information = payload["business_information"]
32
+ @setup = payload["setup"]
33
+ end
34
+ def to_json(options = {})
35
+ {
36
+ "friendly_name": @friendly_name,
37
+ "iso_country": @iso_country,
38
+ "business_information": @business_information,
39
+ "setup": @setup,
40
+ }.to_json(options)
41
+ end
42
+ end
43
+
44
+ class CreateShortCodeApplicationRequestBusinessInformation
45
+ # @param [customer_facing_profile]: [String] The Compliance Profile SID for the customer-facing business profile.
46
+ attr_accessor :customer_facing_profile
47
+ def initialize(payload)
48
+ @customer_facing_profile = payload["customer_facing_profile"]
49
+ end
50
+ def to_json(options = {})
51
+ {
52
+ "customer_facing_profile": @customer_facing_profile,
53
+ }.to_json(options)
54
+ end
55
+ end
56
+
57
+ class CreateShortCodeApplicationRequestSetup
58
+ # @param [charges_apply]: [Boolean]
59
+ attr_accessor :charges_apply
60
+ def initialize(payload)
61
+ @charges_apply = payload["charges_apply"]
62
+ end
63
+ def to_json(options = {})
64
+ {
65
+ "charges_apply": @charges_apply,
66
+ }.to_json(options)
67
+ end
68
+ end
69
+
70
+
71
+ ##
72
+ # Initialize the ApplicationList
73
+ # @param [Version] version Version that contains the resource
74
+ # @return [ApplicationList] ApplicationList
75
+ def initialize(version)
76
+ super(version)
77
+ # Path Solution
78
+ @solution = { }
79
+ @uri = "/ShortCodes/Applications"
80
+
81
+ end
82
+ ##
83
+ # Create the ApplicationInstance
84
+ # @param [CreateShortCodeApplicationRequest] create_short_code_application_request
85
+ # @return [ApplicationInstance] Created ApplicationInstance
86
+ def create(create_short_code_application_request: nil
87
+ )
88
+
89
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
90
+ headers['Content-Type'] = 'application/json'
91
+
92
+
93
+
94
+
95
+ payload = @version.create('POST', @uri, headers: headers, data: create_short_code_application_request.to_json)
96
+ ApplicationInstance.new(
97
+ @version,
98
+ payload,
99
+ )
100
+ end
101
+
102
+
103
+ ##
104
+ # Lists ApplicationInstance records from the API as a list.
105
+ # Unlike stream(), this operation is eager and will load `limit` records into
106
+ # memory before returning.
107
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
108
+ # guarantees to never return more than limit. Default is no limit
109
+ # @param [Integer] page_size Number of records to fetch per request, when
110
+ # not set will use the default value of 50 records. If no page_size is defined
111
+ # but a limit is defined, stream() will attempt to read the limit with the most
112
+ # efficient page size, i.e. min(limit, 1000)
113
+ # @return [Array] Array of up to limit results
114
+ def list(limit: nil, page_size: nil)
115
+ self.stream(
116
+ limit: limit,
117
+ page_size: page_size
118
+ ).entries
119
+ end
120
+
121
+ ##
122
+ # Streams Instance records from the API as an Enumerable.
123
+ # This operation lazily loads records as efficiently as possible until the limit
124
+ # is reached.
125
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
126
+ # guarantees to never return more than limit. Default is no limit
127
+ # @param [Integer] page_size Number of records to fetch per request, when
128
+ # not set will use the default value of 50 records. If no page_size is defined
129
+ # but a limit is defined, stream() will attempt to read the limit with the most
130
+ # efficient page size, i.e. min(limit, 1000)
131
+ # @return [Enumerable] Enumerable that will yield up to limit results
132
+ def stream(limit: nil, page_size: nil)
133
+ limits = @version.read_limits(limit, page_size)
134
+
135
+ page = self.page(
136
+ page_size: limits[:page_size], )
137
+
138
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
139
+ end
140
+
141
+ ##
142
+ # When passed a block, yields ApplicationInstance records from the API.
143
+ # This operation lazily loads records as efficiently as possible until the limit
144
+ # is reached.
145
+ def each
146
+ limits = @version.read_limits
147
+
148
+ page = self.page(page_size: limits[:page_size], )
149
+
150
+ @version.stream(page,
151
+ limit: limits[:limit],
152
+ page_limit: limits[:page_limit]).each {|x| yield x}
153
+ end
154
+
155
+ ##
156
+ # Retrieve a single page of ApplicationInstance records from the API.
157
+ # Request is executed immediately.
158
+ # @param [String] page_token PageToken provided by the API
159
+ # @param [Integer] page_number Page Number, this value is simply for client state
160
+ # @param [Integer] page_size Number of records to return, defaults to 50
161
+ # @return [Page] Page of ApplicationInstance
162
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
163
+ params = Twilio::Values.of({
164
+ 'PageToken' => page_token,
165
+ 'Page' => page_number,
166
+ 'PageSize' => page_size,
167
+ })
168
+ headers = Twilio::Values.of({})
169
+
170
+
171
+
172
+ response = @version.page('GET', @uri, params: params, headers: headers)
173
+
174
+ ApplicationPage.new(@version, response, @solution)
175
+ end
176
+
177
+ ##
178
+ # Retrieve a single page of ApplicationInstance records from the API.
179
+ # Request is executed immediately.
180
+ # @param [String] target_url API-generated URL for the requested results page
181
+ # @return [Page] Page of ApplicationInstance
182
+ def get_page(target_url)
183
+ response = @version.domain.request(
184
+ 'GET',
185
+ target_url
186
+ )
187
+ ApplicationPage.new(@version, response, @solution)
188
+ end
189
+
190
+
191
+
192
+ # Provide a user friendly representation
193
+ def to_s
194
+ '#<Twilio.Numbers.V2.ApplicationList>'
195
+ end
196
+ end
197
+
198
+
199
+ class ApplicationContext < InstanceContext
200
+ ##
201
+ # Initialize the ApplicationContext
202
+ # @param [Version] version Version that contains the resource
203
+ # @param [String] sid The unique string that identifies the Short Code Application resource.
204
+ # @return [ApplicationContext] ApplicationContext
205
+ def initialize(version, sid)
206
+ super(version)
207
+
208
+ # Path Solution
209
+ @solution = { sid: sid, }
210
+ @uri = "/ShortCodes/Applications/#{@solution[:sid]}"
211
+
212
+
213
+ end
214
+ ##
215
+ # Fetch the ApplicationInstance
216
+ # @return [ApplicationInstance] Fetched ApplicationInstance
217
+ def fetch
218
+
219
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
220
+
221
+
222
+
223
+
224
+
225
+ payload = @version.fetch('GET', @uri, headers: headers)
226
+ ApplicationInstance.new(
227
+ @version,
228
+ payload,
229
+ sid: @solution[:sid],
230
+ )
231
+ end
232
+
233
+
234
+ ##
235
+ # Provide a user friendly representation
236
+ def to_s
237
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
238
+ "#<Twilio.Numbers.V2.ApplicationContext #{context}>"
239
+ end
240
+
241
+ ##
242
+ # Provide a detailed, user friendly representation
243
+ def inspect
244
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
245
+ "#<Twilio.Numbers.V2.ApplicationContext #{context}>"
246
+ end
247
+ end
248
+
249
+ class ApplicationPage < Page
250
+ ##
251
+ # Initialize the ApplicationPage
252
+ # @param [Version] version Version that contains the resource
253
+ # @param [Response] response Response from the API
254
+ # @param [Hash] solution Path solution for the resource
255
+ # @return [ApplicationPage] ApplicationPage
256
+ def initialize(version, response, solution)
257
+ super(version, response)
258
+
259
+ # Path Solution
260
+ @solution = solution
261
+ end
262
+
263
+ ##
264
+ # Build an instance of ApplicationInstance
265
+ # @param [Hash] payload Payload response from the API
266
+ # @return [ApplicationInstance] ApplicationInstance
267
+ def get_instance(payload)
268
+ ApplicationInstance.new(@version, payload)
269
+ end
270
+
271
+ ##
272
+ # Provide a user friendly representation
273
+ def to_s
274
+ '<Twilio.Numbers.V2.ApplicationPage>'
275
+ end
276
+ end
277
+ class ApplicationInstance < InstanceResource
278
+ ##
279
+ # Initialize the ApplicationInstance
280
+ # @param [Version] version Version that contains the resource
281
+ # @param [Hash] payload payload that contains response from Twilio
282
+ # @param [String] account_sid The SID of the
283
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Application
284
+ # resource.
285
+ # @param [String] sid The SID of the Call resource to fetch.
286
+ # @return [ApplicationInstance] ApplicationInstance
287
+ def initialize(version, payload , sid: nil)
288
+ super(version)
289
+
290
+ # Marshaled Properties
291
+ @properties = {
292
+ 'sid' => payload['sid'],
293
+ 'bundle_sid' => payload['bundle_sid'],
294
+ 'application_requirements_sid' => payload['application_requirements_sid'],
295
+ 'friendly_name' => payload['friendly_name'],
296
+ 'iso_country' => payload['iso_country'],
297
+ 'state' => payload['state'],
298
+ }
299
+
300
+ # Context
301
+ @instance_context = nil
302
+ @params = { 'sid' => sid || @properties['sid'] , }
303
+ end
304
+
305
+ ##
306
+ # Generate an instance context for the instance, the context is capable of
307
+ # performing various actions. All instance actions are proxied to the context
308
+ # @return [ApplicationContext] CallContext for this CallInstance
309
+ def context
310
+ unless @instance_context
311
+ @instance_context = ApplicationContext.new(@version , @params['sid'])
312
+ end
313
+ @instance_context
314
+ end
315
+
316
+ ##
317
+ # @return [String] The unique identifier of the Short Code Application.
318
+ def sid
319
+ @properties['sid']
320
+ end
321
+
322
+ ##
323
+ # @return [String] The Bundle SID for regulatory compliance.
324
+ def bundle_sid
325
+ @properties['bundle_sid']
326
+ end
327
+
328
+ ##
329
+ # @return [String] The Application Requirements SID.
330
+ def application_requirements_sid
331
+ @properties['application_requirements_sid']
332
+ end
333
+
334
+ ##
335
+ # @return [String] The friendly name of the application.
336
+ def friendly_name
337
+ @properties['friendly_name']
338
+ end
339
+
340
+ ##
341
+ # @return [String] The ISO country code.
342
+ def iso_country
343
+ @properties['iso_country']
344
+ end
345
+
346
+ ##
347
+ # @return [String] The state of the application.
348
+ def state
349
+ @properties['state']
350
+ end
351
+
352
+ ##
353
+ # Fetch the ApplicationInstance
354
+ # @return [ApplicationInstance] Fetched ApplicationInstance
355
+ def fetch
356
+
357
+ context.fetch
358
+ end
359
+
360
+ ##
361
+ # Provide a user friendly representation
362
+ def to_s
363
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
364
+ "<Twilio.Numbers.V2.ApplicationInstance #{values}>"
365
+ end
366
+
367
+ ##
368
+ # Provide a detailed, user friendly representation
369
+ def inspect
370
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
371
+ "<Twilio.Numbers.V2.ApplicationInstance #{values}>"
372
+ end
373
+ end
374
+
375
+ end
376
+ end
377
+ end
378
+ end
@@ -21,6 +21,7 @@ module Twilio
21
21
  def initialize(domain)
22
22
  super
23
23
  @version = 'v2'
24
+ @applications = nil
24
25
  @authorization_documents = nil
25
26
  @bulk_hosted_number_orders = nil
26
27
  @bundle_clone = nil
@@ -28,6 +29,20 @@ module Twilio
28
29
  @regulatory_compliance = nil
29
30
  end
30
31
 
32
+ ##
33
+ # @param [String] sid The unique string that identifies the Short Code Application resource.
34
+ # @return [Twilio::REST::Numbers::V2::ApplicationContext] if sid was passed.
35
+ # @return [Twilio::REST::Numbers::V2::ApplicationList]
36
+ def applications(sid=:unset)
37
+ if sid.nil?
38
+ raise ArgumentError, 'sid cannot be nil'
39
+ end
40
+ if sid == :unset
41
+ @applications ||= ApplicationList.new self
42
+ else
43
+ ApplicationContext.new(self, sid)
44
+ end
45
+ end
31
46
  ##
32
47
  # @param [String] sid A 34 character string that uniquely identifies this AuthorizationDocument.
33
48
  # @return [Twilio::REST::Numbers::V2::AuthorizationDocumentContext] if sid was passed.
@@ -553,6 +553,30 @@ module Twilio
553
553
  yield(transcription) if block_given?
554
554
  append(transcription)
555
555
  end
556
+
557
+ ##
558
+ # Create a new <Recording> element
559
+ # recording_status_callback:: Recording Status Callback URL
560
+ # recording_status_callback_method:: Recording Status Callback URL method
561
+ # recording_status_callback_event:: Recording Status Callback Events
562
+ # trim:: Trim the recording
563
+ # track:: To indicate which audio track should be recorded
564
+ # channels:: The recording channels for the final recording
565
+ # keyword_args:: additional attributes
566
+ def recording(recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, trim: nil, track: nil, channels: nil, **keyword_args)
567
+ append(Recording.new(recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, trim: trim, track: track, channels: channels, **keyword_args))
568
+ end
569
+ end
570
+
571
+ ##
572
+ # <Recording> TwiML Noun
573
+ class Recording < TwiML
574
+ def initialize(**keyword_args)
575
+ super(**keyword_args)
576
+ @name = 'Recording'
577
+
578
+ yield(self) if block_given?
579
+ end
556
580
  end
557
581
 
558
582
  ##
@@ -2058,6 +2082,26 @@ module Twilio
2058
2082
  def ai_session(ai_connector: nil, ai_session_configuration: nil, **keyword_args)
2059
2083
  append(AiSession.new(ai_connector: ai_connector, ai_session_configuration: ai_session_configuration, **keyword_args))
2060
2084
  end
2085
+
2086
+ ##
2087
+ # Create a new <ConversationRelaySession> element
2088
+ # connector:: The unique name or installed add-on sid that identifies the installed addon resource for the ConversationRelaySession Connector
2089
+ # session_configuration:: The unique name or id of the ConversationRelaySession Configuration resource.
2090
+ # keyword_args:: additional attributes
2091
+ def conversation_relay_session(connector: nil, session_configuration: nil, **keyword_args)
2092
+ append(ConversationRelaySession.new(connector: connector, session_configuration: session_configuration, **keyword_args))
2093
+ end
2094
+ end
2095
+
2096
+ ##
2097
+ # <ConversationRelaySession> TwiML Noun
2098
+ class ConversationRelaySession < TwiML
2099
+ def initialize(**keyword_args)
2100
+ super(**keyword_args)
2101
+ @name = 'ConversationRelaySession'
2102
+
2103
+ yield(self) if block_given?
2104
+ end
2061
2105
  end
2062
2106
 
2063
2107
  ##
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '7.8.5'
2
+ VERSION = '7.8.7'
3
3
  end