twilio-ruby 7.10.7 → 7.11.1

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.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +43 -67
  3. data/.gitignore +0 -1
  4. data/CHANGES.md +46 -0
  5. data/Gemfile +2 -0
  6. data/Gemfile.lock +154 -0
  7. data/README.md +3 -3
  8. data/Rakefile +1 -1
  9. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +25 -6
  10. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +48 -12
  11. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +6 -0
  12. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +56 -2
  13. data/lib/twilio-ruby/rest/client.rb +0 -5
  14. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +11 -1
  15. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +10 -10
  16. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +10 -10
  17. data/lib/twilio-ruby/rest/conversations/v2/action.rb +2 -2
  18. data/lib/twilio-ruby/rest/conversations/v2/communication.rb +43 -21
  19. data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +59 -21
  20. data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +28 -28
  21. data/lib/twilio-ruby/rest/conversations/v2/operation.rb +10 -10
  22. data/lib/twilio-ruby/rest/conversations/v2/participant.rb +58 -58
  23. data/lib/twilio-ruby/rest/conversations/v2.rb +45 -45
  24. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +2 -2
  25. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +15 -2
  26. data/lib/twilio-ruby/rest/iam_base.rb +6 -1
  27. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +7 -0
  28. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +7 -0
  29. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +7 -0
  30. data/lib/twilio-ruby/rest/insights/v3/metadata.rb +1 -1
  31. data/lib/twilio-ruby/rest/insights/v3/query.rb +1 -1
  32. data/lib/twilio-ruby/rest/insights/v3.rb +1 -1
  33. data/lib/twilio-ruby/rest/intelligence/v3/conversation.rb +8 -8
  34. data/lib/twilio-ruby/rest/intelligence/v3/rule_execution.rb +502 -0
  35. data/lib/twilio-ruby/rest/intelligence/v3.rb +6 -0
  36. data/lib/twilio-ruby/rest/knowledge/v2/chunk.rb +28 -0
  37. data/lib/twilio-ruby/rest/knowledge/v2/knowledge.rb +38 -0
  38. data/lib/twilio-ruby/rest/knowledge/v2/search.rb +8 -117
  39. data/lib/twilio-ruby/rest/knowledge/v2.rb +1 -2
  40. data/lib/twilio-ruby/rest/memory/v1/bulk.rb +9 -118
  41. data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +13 -5
  42. data/lib/twilio-ruby/rest/memory/v1/data_mapping.rb +6 -12
  43. data/lib/twilio-ruby/rest/memory/v1/identifier.rb +1 -1
  44. data/lib/twilio-ruby/rest/memory/v1/identity_resolution_setting.rb +11 -132
  45. data/lib/twilio-ruby/rest/memory/v1/import.rb +28 -5
  46. data/lib/twilio-ruby/rest/memory/v1/lookup.rb +1 -1
  47. data/lib/twilio-ruby/rest/memory/v1/observation.rb +70 -18
  48. data/lib/twilio-ruby/rest/memory/v1/operation.rb +1 -1
  49. data/lib/twilio-ruby/rest/memory/v1/profile.rb +2 -2
  50. data/lib/twilio-ruby/rest/memory/v1/recall.rb +1 -1
  51. data/lib/twilio-ruby/rest/memory/v1/revision.rb +1 -1
  52. data/lib/twilio-ruby/rest/memory/v1/store.rb +1 -1
  53. data/lib/twilio-ruby/rest/memory/v1/trait.rb +1 -1
  54. data/lib/twilio-ruby/rest/memory/v1/trait_group.rb +56 -6
  55. data/lib/twilio-ruby/rest/memory/v1.rb +3 -46
  56. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +0 -18
  57. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +23 -4
  58. data/lib/twilio-ruby/rest/messaging/v3/typing_indicator.rb +4 -4
  59. data/lib/twilio-ruby/rest/numbers/v1/sms_verification.rb +231 -0
  60. data/lib/twilio-ruby/rest/numbers/v1/sms_verification_check.rb +238 -0
  61. data/lib/twilio-ruby/rest/numbers/v1/voice_verification.rb +245 -0
  62. data/lib/twilio-ruby/rest/numbers/v1/voice_verification_check.rb +224 -0
  63. data/lib/twilio-ruby/rest/numbers/v1.rb +24 -0
  64. data/lib/twilio-ruby/rest/{assistants/v1/session.rb → numbers/v2/caller_id.rb} +141 -127
  65. data/lib/twilio-ruby/rest/numbers/v2.rb +16 -0
  66. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +14 -2
  67. data/lib/twilio-ruby/rest/oauth/v2/oauth_authorization_server.rb +259 -0
  68. data/lib/twilio-ruby/rest/oauth/v2/token.rb +8 -2
  69. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +0 -19
  70. data/lib/twilio-ruby/rest/routes/v3/phone_number.rb +465 -0
  71. data/lib/twilio-ruby/rest/routes/v3.rb +50 -0
  72. data/lib/twilio-ruby/rest/routes_base.rb +6 -1
  73. data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration.rb +330 -0
  74. data/lib/twilio-ruby/rest/trusthub/v1/a2p_brand_registration_embedded_session.rb +233 -0
  75. data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration.rb +321 -0
  76. data/lib/twilio-ruby/rest/trusthub/v1/a2p_campaign_registration_embedded_session.rb +233 -0
  77. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles_provisional_copy.rb +445 -0
  78. data/lib/twilio-ruby/rest/trusthub/v1/trust_products_provisional_copy.rb +445 -0
  79. data/lib/twilio-ruby/rest/trusthub/v1.rb +74 -0
  80. data/lib/twilio-ruby/rest/voice/v2/account_default_configuration.rb +556 -0
  81. data/lib/twilio-ruby/rest/voice/v2/configuration/default.rb +356 -0
  82. data/lib/twilio-ruby/rest/voice/v2/configuration.rb +412 -0
  83. data/lib/twilio-ruby/rest/voice/v2/recording.rb +616 -0
  84. data/lib/twilio-ruby/rest/voice/v2/transcription.rb +591 -0
  85. data/lib/twilio-ruby/rest/voice/v2/type.rb +518 -0
  86. data/lib/twilio-ruby/rest/voice/v2.rb +141 -0
  87. data/lib/twilio-ruby/rest/voice_base.rb +5 -0
  88. data/lib/twilio-ruby/twiml/voice_response.rb +6 -68
  89. data/lib/twilio-ruby/version.rb +1 -1
  90. data/twilio-ruby.gemspec +1 -1
  91. metadata +33 -21
  92. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +0 -558
  93. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +0 -558
  94. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +0 -431
  95. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +0 -296
  96. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +0 -927
  97. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +0 -325
  98. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +0 -349
  99. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +0 -871
  100. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +0 -364
  101. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +0 -360
  102. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +0 -847
  103. data/lib/twilio-ruby/rest/assistants/v1.rb +0 -104
  104. data/lib/twilio-ruby/rest/assistants.rb +0 -6
  105. data/lib/twilio-ruby/rest/assistants_base.rb +0 -38
@@ -0,0 +1,591 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio API definition for public-api voice
8
+ # Powers Twilio public-api voice
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 Voice < VoiceBase
19
+ class V2 < Version
20
+ class TranscriptionList < ListResource
21
+
22
+ class VoiceV2ConfigurationTranscriptionParticipantDefault
23
+ # @param [audio_channel_index]: [String] One-based index of the audio channel in a multi-channel recording associated with this role.
24
+ # @param [type]: [String] The participant role to apply when inferring participants.
25
+ attr_accessor :audio_channel_index, :type
26
+ def initialize(payload)
27
+ @audio_channel_index = payload["audio_channel_index"]
28
+ @type = payload["type"]
29
+ end
30
+ def to_json(options = {})
31
+ {
32
+ "audioChannelIndex": @audio_channel_index,
33
+ "type": @type,
34
+ }.to_json(options)
35
+ end
36
+ end
37
+
38
+ class VoiceV2ConfigurationTranscriptionRequest
39
+ # @param [unique_name]: [String] The unique name.
40
+ # @param [description]: [String] The description.
41
+ # @param [configuration]: [TranscriptionList.VoiceV2ConfigurationTranscriptionConfiguration]
42
+ attr_accessor :unique_name, :description, :configuration
43
+ def initialize(payload)
44
+ @unique_name = payload["unique_name"]
45
+ @description = payload["description"]
46
+ @configuration = payload["configuration"]
47
+ end
48
+ def to_json(options = {})
49
+ {
50
+ "unique_name": @unique_name,
51
+ "description": @description,
52
+ "configuration": @configuration,
53
+ }.to_json(options)
54
+ end
55
+ end
56
+
57
+ class VoiceV2ConfigurationTranscriptionStatusCallback
58
+ # @param [url]: [String] The webhook callback URL.
59
+ # @param [method]: [String] The HTTP method to use for the webhook callback.
60
+ attr_accessor :url, :method
61
+ def initialize(payload)
62
+ @url = payload["url"]
63
+ @method = payload["method"]
64
+ end
65
+ def to_json(options = {})
66
+ {
67
+ "url": @url,
68
+ "method": @method,
69
+ }.to_json(options)
70
+ end
71
+ end
72
+
73
+
74
+ ##
75
+ # Initialize the TranscriptionList
76
+ # @param [Version] version Version that contains the resource
77
+ # @return [TranscriptionList] TranscriptionList
78
+ def initialize(version)
79
+ super(version)
80
+
81
+ # Path Solution
82
+ @solution = { }
83
+ @uri = "/Configurations/Transcription"
84
+
85
+ end
86
+ ##
87
+ # Create the TranscriptionInstance
88
+ # @param [VoiceV2ConfigurationTranscriptionRequest] voice_v2_configuration_transcription_request
89
+ # @return [TranscriptionInstance] Created TranscriptionInstance
90
+ def create(voice_v2_configuration_transcription_request: :unset
91
+ )
92
+
93
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
94
+ headers['Content-Type'] = 'application/json'
95
+
96
+
97
+
98
+
99
+ payload = @version.create('POST', @uri, headers: headers, data: voice_v2_configuration_transcription_request.to_json)
100
+ TranscriptionInstance.new(
101
+ @version,
102
+ payload,
103
+ )
104
+ end
105
+
106
+ ##
107
+ # Create the TranscriptionInstanceMetadata
108
+ # @param [VoiceV2ConfigurationTranscriptionRequest] voice_v2_configuration_transcription_request
109
+ # @return [TranscriptionInstance] Created TranscriptionInstance
110
+ def create_with_metadata(voice_v2_configuration_transcription_request: :unset
111
+ )
112
+
113
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
114
+ headers['Content-Type'] = 'application/json'
115
+
116
+
117
+
118
+
119
+ response = @version.create_with_metadata('POST', @uri, headers: headers, data: voice_v2_configuration_transcription_request.to_json)
120
+ transcription_instance = TranscriptionInstance.new(
121
+ @version,
122
+ response.body,
123
+ )
124
+ TranscriptionInstanceMetadata.new(
125
+ @version,
126
+ transcription_instance,
127
+ response.headers,
128
+ response.status_code
129
+ )
130
+ end
131
+
132
+
133
+
134
+
135
+ # Provide a user friendly representation
136
+ def to_s
137
+ '#<Twilio.Voice.V2.TranscriptionList>'
138
+ end
139
+ end
140
+
141
+
142
+ class TranscriptionContext < InstanceContext
143
+ ##
144
+ # Initialize the TranscriptionContext
145
+ # @param [Version] version Version that contains the resource
146
+ # @param [String] id_or_unique_name
147
+ # @return [TranscriptionContext] TranscriptionContext
148
+ def initialize(version, id_or_unique_name)
149
+ super(version)
150
+
151
+
152
+ # Path Solution
153
+ @solution = { id_or_unique_name: id_or_unique_name, }
154
+ @uri = "/Configurations/Transcription/#{@solution[:id_or_unique_name]}"
155
+
156
+
157
+ end
158
+ ##
159
+ # Delete the TranscriptionInstance
160
+ # @return [Boolean] True if delete succeeds, false otherwise
161
+ def delete
162
+
163
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
164
+
165
+
166
+
167
+
168
+ @version.delete('DELETE', @uri, headers: headers)
169
+ end
170
+
171
+ ##
172
+ # Delete the TranscriptionInstanceMetadata
173
+ # @return [Boolean] True if delete succeeds, false otherwise
174
+ def delete_with_metadata
175
+
176
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
177
+
178
+
179
+
180
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
181
+ transcription_instance = TranscriptionInstance.new(
182
+ @version,
183
+ response.body,
184
+ account_sid: @solution[:account_sid],
185
+ sid: @solution[:sid],
186
+ )
187
+ TranscriptionInstanceMetadata.new(@version, transcription_instance, response.headers, response.status_code)
188
+ end
189
+
190
+ ##
191
+ # Fetch the TranscriptionInstance
192
+ # @return [TranscriptionInstance] Fetched TranscriptionInstance
193
+ def fetch
194
+
195
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
196
+
197
+
198
+
199
+
200
+
201
+ payload = @version.fetch('GET', @uri, headers: headers)
202
+ TranscriptionInstance.new(
203
+ @version,
204
+ payload,
205
+ id_or_unique_name: @solution[:id_or_unique_name],
206
+ )
207
+ end
208
+
209
+ ##
210
+ # Fetch the TranscriptionInstanceMetadata
211
+ # @return [TranscriptionInstance] Fetched TranscriptionInstance
212
+ def fetch_with_metadata
213
+
214
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
215
+
216
+
217
+
218
+
219
+
220
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
221
+ transcription_instance = TranscriptionInstance.new(
222
+ @version,
223
+ response.body,
224
+ id_or_unique_name: @solution[:id_or_unique_name],
225
+ )
226
+ TranscriptionInstanceMetadata.new(
227
+ @version,
228
+ transcription_instance,
229
+ response.headers,
230
+ response.status_code
231
+ )
232
+ end
233
+
234
+ ##
235
+ # Update the TranscriptionInstance
236
+ # @param [VoiceV2ConfigurationTranscriptionRequest] voice_v2_configuration_transcription_request
237
+ # @return [TranscriptionInstance] Updated TranscriptionInstance
238
+ def update(voice_v2_configuration_transcription_request: :unset
239
+ )
240
+
241
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
242
+ headers['Content-Type'] = 'application/json'
243
+
244
+
245
+
246
+
247
+ payload = @version.update('PUT', @uri, headers: headers, data: voice_v2_configuration_transcription_request.to_json)
248
+ TranscriptionInstance.new(
249
+ @version,
250
+ payload,
251
+ id_or_unique_name: @solution[:id_or_unique_name],
252
+ )
253
+ end
254
+
255
+ ##
256
+ # Update the TranscriptionInstanceMetadata
257
+ # @param [VoiceV2ConfigurationTranscriptionRequest] voice_v2_configuration_transcription_request
258
+ # @return [TranscriptionInstance] Updated TranscriptionInstance
259
+ def update_with_metadata(voice_v2_configuration_transcription_request: :unset
260
+ )
261
+
262
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
263
+ headers['Content-Type'] = 'application/json'
264
+
265
+
266
+
267
+
268
+ response = @version.update_with_metadata('PUT', @uri, headers: headers, data: voice_v2_configuration_transcription_request.to_json)
269
+ transcription_instance = TranscriptionInstance.new(
270
+ @version,
271
+ response.body,
272
+ id_or_unique_name: @solution[:id_or_unique_name],
273
+ )
274
+ TranscriptionInstanceMetadata.new(
275
+ @version,
276
+ transcription_instance,
277
+ response.headers,
278
+ response.status_code
279
+ )
280
+ end
281
+
282
+
283
+ ##
284
+ # Provide a user friendly representation
285
+ def to_s
286
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
287
+ "#<Twilio.Voice.V2.TranscriptionContext #{context}>"
288
+ end
289
+
290
+ ##
291
+ # Provide a detailed, user friendly representation
292
+ def inspect
293
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
294
+ "#<Twilio.Voice.V2.TranscriptionContext #{context}>"
295
+ end
296
+ end
297
+
298
+ class TranscriptionInstanceMetadata < InstanceResourceMetadata
299
+ ##
300
+ # Initializes a new TranscriptionInstanceMetadata.
301
+ # @param [Version] version Version that contains the resource
302
+ # @param [}TranscriptionInstance] transcription_instance The instance associated with the metadata.
303
+ # @param [Hash] headers Header object with response headers.
304
+ # @param [Integer] status_code The HTTP status code of the response.
305
+ # @return [TranscriptionInstanceMetadata] The initialized instance with metadata.
306
+ def initialize(version, transcription_instance, headers, status_code)
307
+ super(version, headers, status_code)
308
+ @transcription_instance = transcription_instance
309
+ end
310
+
311
+ def transcription
312
+ @transcription_instance
313
+ end
314
+
315
+ def headers
316
+ @headers
317
+ end
318
+
319
+ def status_code
320
+ @status_code
321
+ end
322
+
323
+ def to_s
324
+ "<Twilio.Api.V2010.TranscriptionInstanceMetadata status=#{@status_code}>"
325
+ end
326
+ end
327
+
328
+ class TranscriptionListResponse < InstanceListResource
329
+ # @param [Array<TranscriptionInstance>] instance
330
+ # @param [Hash{String => Object}] headers
331
+ # @param [Integer] status_code
332
+ def initialize(version, payload, key)
333
+ @transcription_instance = payload.body[key].map do |data|
334
+ TranscriptionInstance.new(version, data)
335
+ end
336
+ @headers = payload.headers
337
+ @status_code = payload.status_code
338
+ end
339
+
340
+ def transcription_instance
341
+ @instance
342
+ end
343
+ end
344
+
345
+ class TranscriptionPage < Page
346
+ ##
347
+ # Initialize the TranscriptionPage
348
+ # @param [Version] version Version that contains the resource
349
+ # @param [Response] response Response from the API
350
+ # @param [Hash] solution Path solution for the resource
351
+ # @return [TranscriptionPage] TranscriptionPage
352
+ def initialize(version, response, solution)
353
+ super(version, response)
354
+
355
+
356
+ # Path Solution
357
+ @solution = solution
358
+ end
359
+
360
+ ##
361
+ # Build an instance of TranscriptionInstance
362
+ # @param [Hash] payload Payload response from the API
363
+ # @return [TranscriptionInstance] TranscriptionInstance
364
+ def get_instance(payload)
365
+ TranscriptionInstance.new(@version, payload)
366
+ end
367
+
368
+ ##
369
+ # Provide a user friendly representation
370
+ def to_s
371
+ '<Twilio.Voice.V2.TranscriptionPage>'
372
+ end
373
+ end
374
+
375
+ class TranscriptionPageMetadata < PageMetadata
376
+ attr_reader :transcription_page
377
+
378
+ def initialize(version, response, solution, limit)
379
+ super(version, response)
380
+ @transcription_page = []
381
+ @limit = limit
382
+ key = get_key(response.body)
383
+ records = 0
384
+ while( limit != :unset && records < limit )
385
+ @transcription_page << TranscriptionListResponse.new(version, @payload, key, limit - records)
386
+ @payload = self.next_page
387
+ break unless @payload
388
+ records += (@payload.body[key] || []).size
389
+ end
390
+ # Path Solution
391
+ @solution = solution
392
+ end
393
+
394
+ def each
395
+ @transcription_page.each do |record|
396
+ yield record
397
+ end
398
+ end
399
+
400
+ def to_s
401
+ '<Twilio::REST::Voice::V2PageMetadata>';
402
+ end
403
+ end
404
+ class TranscriptionListResponse < InstanceListResource
405
+
406
+ # @param [Array<TranscriptionInstance>] instance
407
+ # @param [Hash{String => Object}] headers
408
+ # @param [Integer] status_code
409
+ def initialize(version, payload, key, limit = :unset)
410
+ data_list = payload.body[key] || []
411
+ if limit != :unset
412
+ data_list = data_list[0, limit]
413
+ end
414
+ @transcription = data_list.map do |data|
415
+ TranscriptionInstance.new(version, data)
416
+ end
417
+ @headers = payload.headers
418
+ @status_code = payload.status_code
419
+ end
420
+
421
+ def transcription
422
+ @transcription
423
+ end
424
+
425
+ def headers
426
+ @headers
427
+ end
428
+
429
+ def status_code
430
+ @status_code
431
+ end
432
+ end
433
+
434
+ class TranscriptionInstance < InstanceResource
435
+ ##
436
+ # Initialize the TranscriptionInstance
437
+ # @param [Version] version Version that contains the resource
438
+ # @param [Hash] payload payload that contains response from Twilio
439
+ # @param [String] account_sid The SID of the
440
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Transcription
441
+ # resource.
442
+ # @param [String] sid The SID of the Call resource to fetch.
443
+ # @return [TranscriptionInstance] TranscriptionInstance
444
+ def initialize(version, payload , id_or_unique_name: nil)
445
+ super(version)
446
+
447
+
448
+ # Marshaled Properties
449
+ @properties = {
450
+ 'id' => payload['id'],
451
+ 'account_sid' => payload['account_sid'],
452
+ 'unique_name' => payload['unique_name'],
453
+ 'description' => payload['description'],
454
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
455
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
456
+ 'configuration' => payload['configuration'],
457
+ 'message' => payload['message'],
458
+ 'code' => payload['code'],
459
+ 'status' => payload['status'],
460
+ 'more_info' => payload['more_info'],
461
+ }
462
+
463
+ # Context
464
+ @instance_context = nil
465
+ @params = { 'id_or_unique_name' => id_or_unique_name || @properties['id_or_unique_name'] , }
466
+ end
467
+
468
+ ##
469
+ # Generate an instance context for the instance, the context is capable of
470
+ # performing various actions. All instance actions are proxied to the context
471
+ # @return [TranscriptionContext] CallContext for this CallInstance
472
+ def context
473
+ unless @instance_context
474
+ @instance_context = TranscriptionContext.new(@version , @params['id_or_unique_name'])
475
+ end
476
+ @instance_context
477
+ end
478
+
479
+ ##
480
+ # @return [String] Configuration Identifier.
481
+ def id
482
+ @properties['id']
483
+ end
484
+
485
+ ##
486
+ # @return [String] Account sid.
487
+ def account_sid
488
+ @properties['account_sid']
489
+ end
490
+
491
+ ##
492
+ # @return [String] The unique name.
493
+ def unique_name
494
+ @properties['unique_name']
495
+ end
496
+
497
+ ##
498
+ # @return [String] The description.
499
+ def description
500
+ @properties['description']
501
+ end
502
+
503
+ ##
504
+ # @return [Time]
505
+ def date_created
506
+ @properties['date_created']
507
+ end
508
+
509
+ ##
510
+ # @return [Time]
511
+ def date_updated
512
+ @properties['date_updated']
513
+ end
514
+
515
+ ##
516
+ # @return [VoiceV2ConfigurationTranscriptionConfiguration]
517
+ def configuration
518
+ @properties['configuration']
519
+ end
520
+
521
+ ##
522
+ # @return [String] Error message
523
+ def message
524
+ @properties['message']
525
+ end
526
+
527
+ ##
528
+ # @return [String] Twilio error code
529
+ def code
530
+ @properties['code']
531
+ end
532
+
533
+ ##
534
+ # @return [String] status code
535
+ def status
536
+ @properties['status']
537
+ end
538
+
539
+ ##
540
+ # @return [String] More information about the error
541
+ def more_info
542
+ @properties['more_info']
543
+ end
544
+
545
+ ##
546
+ # Delete the TranscriptionInstance
547
+ # @return [Boolean] True if delete succeeds, false otherwise
548
+ def delete
549
+
550
+ context.delete
551
+ end
552
+
553
+ ##
554
+ # Fetch the TranscriptionInstance
555
+ # @return [TranscriptionInstance] Fetched TranscriptionInstance
556
+ def fetch
557
+
558
+ context.fetch
559
+ end
560
+
561
+ ##
562
+ # Update the TranscriptionInstance
563
+ # @param [VoiceV2ConfigurationTranscriptionRequest] voice_v2_configuration_transcription_request
564
+ # @return [TranscriptionInstance] Updated TranscriptionInstance
565
+ def update(voice_v2_configuration_transcription_request: :unset
566
+ )
567
+
568
+ context.update(
569
+ voice_v2_configuration_transcription_request: voice_v2_configuration_transcription_request,
570
+ )
571
+ end
572
+
573
+ ##
574
+ # Provide a user friendly representation
575
+ def to_s
576
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
577
+ "<Twilio.Voice.V2.TranscriptionInstance #{values}>"
578
+ end
579
+
580
+ ##
581
+ # Provide a detailed, user friendly representation
582
+ def inspect
583
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
584
+ "<Twilio.Voice.V2.TranscriptionInstance #{values}>"
585
+ end
586
+ end
587
+
588
+ end
589
+ end
590
+ end
591
+ end