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,412 @@
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 ConfigurationList < ListResource
21
+
22
+ class VoiceV2ConfigurationRequest
23
+ # @param [unique_name]: [String] The unique name
24
+ # @param [description]: [String] The description
25
+ # @param [configuration]: [Hash]
26
+ attr_accessor :unique_name, :description, :configuration
27
+ def initialize(payload)
28
+ @unique_name = payload["unique_name"]
29
+ @description = payload["description"]
30
+ @configuration = payload["configuration"]
31
+ end
32
+ def to_json(options = {})
33
+ {
34
+ "unique_name": @unique_name,
35
+ "description": @description,
36
+ "configuration": @configuration,
37
+ }.to_json(options)
38
+ end
39
+ end
40
+
41
+
42
+ ##
43
+ # Initialize the ConfigurationList
44
+ # @param [Version] version Version that contains the resource
45
+ # @return [ConfigurationList] ConfigurationList
46
+ def initialize(version)
47
+ super(version)
48
+
49
+ # Path Solution
50
+ @solution = { }
51
+
52
+
53
+ end
54
+
55
+
56
+
57
+ # Provide a user friendly representation
58
+ def to_s
59
+ '#<Twilio.Voice.V2.ConfigurationList>'
60
+ end
61
+ end
62
+
63
+
64
+ class ConfigurationContext < InstanceContext
65
+ ##
66
+ # Initialize the ConfigurationContext
67
+ # @param [Version] version Version that contains the resource
68
+ # @param [String] type
69
+ # @return [ConfigurationContext] ConfigurationContext
70
+ def initialize(version, type)
71
+ super(version)
72
+
73
+
74
+ # Path Solution
75
+ @solution = { type: type, }
76
+ @uri = "/Configurations/#{@solution[:type]}"
77
+
78
+ # Dependents
79
+ @default = nil
80
+ end
81
+ ##
82
+ # Create the ConfigurationInstance
83
+ # @param [VoiceV2ConfigurationRequest] voice_v2_configuration_request
84
+ # @return [ConfigurationInstance] Created ConfigurationInstance
85
+ def create(voice_v2_configuration_request: :unset
86
+ )
87
+
88
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
89
+ headers['Content-Type'] = 'application/json'
90
+
91
+
92
+
93
+
94
+ payload = @version.create('POST', @uri, headers: headers, data: voice_v2_configuration_request.to_json)
95
+ ConfigurationInstance.new(
96
+ @version,
97
+ payload,
98
+ type: @solution[:type],
99
+ )
100
+ end
101
+
102
+ ##
103
+ # Create the ConfigurationInstanceMetadata
104
+ # @param [VoiceV2ConfigurationRequest] voice_v2_configuration_request
105
+ # @return [ConfigurationInstance] Created ConfigurationInstance
106
+ def create_with_metadata(voice_v2_configuration_request: :unset
107
+ )
108
+
109
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
110
+ headers['Content-Type'] = 'application/json'
111
+
112
+
113
+
114
+
115
+ response = @version.create_with_metadata('POST', @uri, headers: headers, data: voice_v2_configuration_request.to_json)
116
+ configuration_instance = ConfigurationInstance.new(
117
+ @version,
118
+ response.body,
119
+ type: @solution[:type],
120
+ )
121
+ ConfigurationInstanceMetadata.new(
122
+ @version,
123
+ configuration_instance,
124
+ response.headers,
125
+ response.status_code
126
+ )
127
+ end
128
+
129
+ ##
130
+ # Access the default
131
+ # @return [DefaultList]
132
+ # @return [DefaultContext]
133
+ def default
134
+ unless @default
135
+ @default = DefaultList.new(
136
+ @version, )
137
+ end
138
+ @default
139
+ end
140
+
141
+ ##
142
+ # Provide a user friendly representation
143
+ def to_s
144
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
145
+ "#<Twilio.Voice.V2.ConfigurationContext #{context}>"
146
+ end
147
+
148
+ ##
149
+ # Provide a detailed, user friendly representation
150
+ def inspect
151
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
152
+ "#<Twilio.Voice.V2.ConfigurationContext #{context}>"
153
+ end
154
+ end
155
+
156
+ class ConfigurationInstanceMetadata < InstanceResourceMetadata
157
+ ##
158
+ # Initializes a new ConfigurationInstanceMetadata.
159
+ # @param [Version] version Version that contains the resource
160
+ # @param [}ConfigurationInstance] configuration_instance The instance associated with the metadata.
161
+ # @param [Hash] headers Header object with response headers.
162
+ # @param [Integer] status_code The HTTP status code of the response.
163
+ # @return [ConfigurationInstanceMetadata] The initialized instance with metadata.
164
+ def initialize(version, configuration_instance, headers, status_code)
165
+ super(version, headers, status_code)
166
+ @configuration_instance = configuration_instance
167
+ end
168
+
169
+ def configuration
170
+ @configuration_instance
171
+ end
172
+
173
+ def headers
174
+ @headers
175
+ end
176
+
177
+ def status_code
178
+ @status_code
179
+ end
180
+
181
+ def to_s
182
+ "<Twilio.Api.V2010.ConfigurationInstanceMetadata status=#{@status_code}>"
183
+ end
184
+ end
185
+
186
+ class ConfigurationListResponse < InstanceListResource
187
+ # @param [Array<ConfigurationInstance>] instance
188
+ # @param [Hash{String => Object}] headers
189
+ # @param [Integer] status_code
190
+ def initialize(version, payload, key)
191
+ @configuration_instance = payload.body[key].map do |data|
192
+ ConfigurationInstance.new(version, data)
193
+ end
194
+ @headers = payload.headers
195
+ @status_code = payload.status_code
196
+ end
197
+
198
+ def configuration_instance
199
+ @instance
200
+ end
201
+ end
202
+
203
+ class ConfigurationPage < Page
204
+ ##
205
+ # Initialize the ConfigurationPage
206
+ # @param [Version] version Version that contains the resource
207
+ # @param [Response] response Response from the API
208
+ # @param [Hash] solution Path solution for the resource
209
+ # @return [ConfigurationPage] ConfigurationPage
210
+ def initialize(version, response, solution)
211
+ super(version, response)
212
+
213
+
214
+ # Path Solution
215
+ @solution = solution
216
+ end
217
+
218
+ ##
219
+ # Build an instance of ConfigurationInstance
220
+ # @param [Hash] payload Payload response from the API
221
+ # @return [ConfigurationInstance] ConfigurationInstance
222
+ def get_instance(payload)
223
+ ConfigurationInstance.new(@version, payload)
224
+ end
225
+
226
+ ##
227
+ # Provide a user friendly representation
228
+ def to_s
229
+ '<Twilio.Voice.V2.ConfigurationPage>'
230
+ end
231
+ end
232
+
233
+ class ConfigurationPageMetadata < PageMetadata
234
+ attr_reader :configuration_page
235
+
236
+ def initialize(version, response, solution, limit)
237
+ super(version, response)
238
+ @configuration_page = []
239
+ @limit = limit
240
+ key = get_key(response.body)
241
+ records = 0
242
+ while( limit != :unset && records < limit )
243
+ @configuration_page << ConfigurationListResponse.new(version, @payload, key, limit - records)
244
+ @payload = self.next_page
245
+ break unless @payload
246
+ records += (@payload.body[key] || []).size
247
+ end
248
+ # Path Solution
249
+ @solution = solution
250
+ end
251
+
252
+ def each
253
+ @configuration_page.each do |record|
254
+ yield record
255
+ end
256
+ end
257
+
258
+ def to_s
259
+ '<Twilio::REST::Voice::V2PageMetadata>';
260
+ end
261
+ end
262
+ class ConfigurationListResponse < InstanceListResource
263
+
264
+ # @param [Array<ConfigurationInstance>] instance
265
+ # @param [Hash{String => Object}] headers
266
+ # @param [Integer] status_code
267
+ def initialize(version, payload, key, limit = :unset)
268
+ data_list = payload.body[key] || []
269
+ if limit != :unset
270
+ data_list = data_list[0, limit]
271
+ end
272
+ @configuration = data_list.map do |data|
273
+ ConfigurationInstance.new(version, data)
274
+ end
275
+ @headers = payload.headers
276
+ @status_code = payload.status_code
277
+ end
278
+
279
+ def configuration
280
+ @configuration
281
+ end
282
+
283
+ def headers
284
+ @headers
285
+ end
286
+
287
+ def status_code
288
+ @status_code
289
+ end
290
+ end
291
+
292
+ class ConfigurationInstance < InstanceResource
293
+ ##
294
+ # Initialize the ConfigurationInstance
295
+ # @param [Version] version Version that contains the resource
296
+ # @param [Hash] payload payload that contains response from Twilio
297
+ # @param [String] account_sid The SID of the
298
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Configuration
299
+ # resource.
300
+ # @param [String] sid The SID of the Call resource to fetch.
301
+ # @return [ConfigurationInstance] ConfigurationInstance
302
+ def initialize(version, payload , type: nil)
303
+ super(version)
304
+
305
+
306
+ # Marshaled Properties
307
+ @properties = {
308
+ 'id' => payload['id'],
309
+ 'account_sid' => payload['account_sid'],
310
+ 'unique_name' => payload['unique_name'],
311
+ 'description' => payload['description'],
312
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
313
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
314
+ 'configuration' => payload['configuration'],
315
+ }
316
+
317
+ # Context
318
+ @instance_context = nil
319
+ @params = { 'type' => type || @properties['type'] , }
320
+ end
321
+
322
+ ##
323
+ # Generate an instance context for the instance, the context is capable of
324
+ # performing various actions. All instance actions are proxied to the context
325
+ # @return [ConfigurationContext] CallContext for this CallInstance
326
+ def context
327
+ unless @instance_context
328
+ @instance_context = ConfigurationContext.new(@version , @params['type'])
329
+ end
330
+ @instance_context
331
+ end
332
+
333
+ ##
334
+ # @return [String] Configuration Identifier
335
+ def id
336
+ @properties['id']
337
+ end
338
+
339
+ ##
340
+ # @return [String] Account sid
341
+ def account_sid
342
+ @properties['account_sid']
343
+ end
344
+
345
+ ##
346
+ # @return [String] The unique name
347
+ def unique_name
348
+ @properties['unique_name']
349
+ end
350
+
351
+ ##
352
+ # @return [String] The description
353
+ def description
354
+ @properties['description']
355
+ end
356
+
357
+ ##
358
+ # @return [Time]
359
+ def date_created
360
+ @properties['date_created']
361
+ end
362
+
363
+ ##
364
+ # @return [Time]
365
+ def date_updated
366
+ @properties['date_updated']
367
+ end
368
+
369
+ ##
370
+ # @return [Hash]
371
+ def configuration
372
+ @properties['configuration']
373
+ end
374
+
375
+ ##
376
+ # Create the ConfigurationInstance
377
+ # @param [VoiceV2ConfigurationRequest] voice_v2_configuration_request
378
+ # @return [ConfigurationInstance] Created ConfigurationInstance
379
+ def create(voice_v2_configuration_request: :unset
380
+ )
381
+
382
+ context.create(
383
+ voice_v2_configuration_request: voice_v2_configuration_request,
384
+ )
385
+ end
386
+
387
+ ##
388
+ # Access the default
389
+ # @return [default] default
390
+ def default
391
+ context.default
392
+ end
393
+
394
+ ##
395
+ # Provide a user friendly representation
396
+ def to_s
397
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
398
+ "<Twilio.Voice.V2.ConfigurationInstance #{values}>"
399
+ end
400
+
401
+ ##
402
+ # Provide a detailed, user friendly representation
403
+ def inspect
404
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
405
+ "<Twilio.Voice.V2.ConfigurationInstance #{values}>"
406
+ end
407
+ end
408
+
409
+ end
410
+ end
411
+ end
412
+ end