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
@@ -1,360 +0,0 @@
1
- ##
2
- # This code was generated by
3
- # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
- # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
- # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
- #
7
- # Twilio - Assistants
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 Assistants < AssistantsBase
19
- class V1 < Version
20
- class Session < InstanceContext
21
-
22
- class MessageList < ListResource
23
-
24
- ##
25
- # Initialize the MessageList
26
- # @param [Version] version Version that contains the resource
27
- # @return [MessageList] MessageList
28
- def initialize(version, session_id: nil)
29
- super(version)
30
-
31
- # Path Solution
32
- @solution = { session_id: session_id }
33
- @uri = "/Sessions/#{@solution[:session_id]}/Messages"
34
-
35
- end
36
-
37
- ##
38
- # Lists MessageInstance records from the API as a list.
39
- # Unlike stream(), this operation is eager and will load `limit` records into
40
- # memory before returning.
41
- # @param [Integer] limit Upper limit for the number of records to return. stream()
42
- # guarantees to never return more than limit. Default is no limit
43
- # @param [Integer] page_size Number of records to fetch per request, when
44
- # not set will use the default value of 50 records. If no page_size is defined
45
- # but a limit is defined, stream() will attempt to read the limit with the most
46
- # efficient page size, i.e. min(limit, 1000)
47
- # @return [Array] Array of up to limit results
48
- def list(limit: nil, page_size: nil)
49
- self.stream(
50
- limit: limit,
51
- page_size: page_size
52
- ).entries
53
- end
54
-
55
- ##
56
- # Streams Instance records from the API as an Enumerable.
57
- # This operation lazily loads records as efficiently as possible until the limit
58
- # is reached.
59
- # @param [Integer] limit Upper limit for the number of records to return. stream()
60
- # guarantees to never return more than limit. Default is no limit
61
- # @param [Integer] page_size Number of records to fetch per request, when
62
- # not set will use the default value of 50 records. If no page_size is defined
63
- # but a limit is defined, stream() will attempt to read the limit with the most
64
- # efficient page size, i.e. min(limit, 1000)
65
- # @return [Enumerable] Enumerable that will yield up to limit results
66
- def stream(limit: nil, page_size: nil)
67
- limits = @version.read_limits(limit, page_size)
68
-
69
- page = self.page(
70
- page_size: limits[:page_size], )
71
-
72
- return [].each if page.nil?
73
-
74
- result = @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
75
- return [].each if result.nil?
76
- result
77
- end
78
-
79
- ##
80
- # Lists MessagePageMetadata records from the API as a list.
81
- # @param [Integer] limit Upper limit for the number of records to return. stream()
82
- # guarantees to never return more than limit. Default is no limit
83
- # @param [Integer] page_size Number of records to fetch per request, when
84
- # not set will use the default value of 50 records. If no page_size is defined
85
- # but a limit is defined, stream() will attempt to read the limit with the most
86
- # efficient page size, i.e. min(limit, 1000)
87
- # @return [Array] Array of up to limit results
88
- def list_with_metadata(limit: nil, page_size: nil)
89
- limits = @version.read_limits(limit, page_size)
90
- params = Twilio::Values.of({
91
-
92
- 'PageSize' => limits[:page_size],
93
- });
94
- headers = Twilio::Values.of({})
95
-
96
- response = @version.page('GET', @uri, params: params, headers: headers)
97
-
98
- MessagePageMetadata.new(@version, response, @solution, limits[:limit])
99
- end
100
-
101
- ##
102
- # When passed a block, yields MessageInstance records from the API.
103
- # This operation lazily loads records as efficiently as possible until the limit
104
- # is reached.
105
- def each
106
- limits = @version.read_limits
107
-
108
- page = self.page(page_size: limits[:page_size], )
109
-
110
- return [].each if page.nil?
111
-
112
- result = @version.stream(page,
113
- limit: limits[:limit],
114
- page_limit: limits[:page_limit])
115
- return [].each if result.nil?
116
- result.each {|x| yield x}
117
- end
118
-
119
- ##
120
- # Retrieve a single page of MessageInstance records from the API.
121
- # Request is executed immediately.
122
- # @param [String] page_token PageToken provided by the API
123
- # @param [Integer] page_number Page Number, this value is simply for client state
124
- # @param [Integer] page_size Number of records to return, defaults to 50
125
- # @return [Page] Page of MessageInstance
126
- def page(page_token: :unset, page_number: :unset,page_size: :unset)
127
- params = Twilio::Values.of({
128
- 'PageToken' => page_token,
129
- 'Page' => page_number,
130
- 'PageSize' => page_size,
131
- })
132
- headers = Twilio::Values.of({})
133
-
134
-
135
-
136
- response = @version.page('GET', @uri, params: params, headers: headers)
137
-
138
- MessagePage.new(@version, response, @solution)
139
- end
140
-
141
- ##
142
- # Retrieve a single page of MessageInstance records from the API.
143
- # Request is executed immediately.
144
- # @param [String] target_url API-generated URL for the requested results page
145
- # @return [Page] Page of MessageInstance
146
- def get_page(target_url)
147
- response = @version.domain.request(
148
- 'GET',
149
- target_url
150
- )
151
- MessagePage.new(@version, response, @solution)
152
- end
153
-
154
-
155
-
156
- # Provide a user friendly representation
157
- def to_s
158
- '#<Twilio.Assistants.V1.MessageList>'
159
- end
160
- end
161
-
162
- class MessagePage < Page
163
- ##
164
- # Initialize the MessagePage
165
- # @param [Version] version Version that contains the resource
166
- # @param [Response] response Response from the API
167
- # @param [Hash] solution Path solution for the resource
168
- # @return [MessagePage] MessagePage
169
- def initialize(version, response, solution)
170
- super(version, response)
171
-
172
-
173
- # Path Solution
174
- @solution = solution
175
- end
176
-
177
- ##
178
- # Build an instance of MessageInstance
179
- # @param [Hash] payload Payload response from the API
180
- # @return [MessageInstance] MessageInstance
181
- def get_instance(payload)
182
- MessageInstance.new(@version, payload, session_id: @solution[:session_id])
183
- end
184
-
185
- ##
186
- # Provide a user friendly representation
187
- def to_s
188
- '<Twilio.Assistants.V1.MessagePage>'
189
- end
190
- end
191
-
192
- class MessagePageMetadata < PageMetadata
193
- attr_reader :message_page
194
-
195
- def initialize(version, response, solution, limit)
196
- super(version, response)
197
- @message_page = []
198
- @limit = limit
199
- key = get_key(response.body)
200
- records = 0
201
- while( limit != :unset && records < limit )
202
- @message_page << MessageListResponse.new(version, @payload, key, limit - records)
203
- @payload = self.next_page
204
- break unless @payload
205
- records += (@payload.body[key] || []).size
206
- end
207
- # Path Solution
208
- @solution = solution
209
- end
210
-
211
- def each
212
- @message_page.each do |record|
213
- yield record
214
- end
215
- end
216
-
217
- def to_s
218
- '<Twilio::REST::Assistants::V1PageMetadata>';
219
- end
220
- end
221
- class MessageListResponse < InstanceListResource
222
-
223
- # @param [Array<MessageInstance>] instance
224
- # @param [Hash{String => Object}] headers
225
- # @param [Integer] status_code
226
- def initialize(version, payload, key, limit = :unset)
227
- data_list = payload.body[key] || []
228
- if limit != :unset
229
- data_list = data_list[0, limit]
230
- end
231
- @message = data_list.map do |data|
232
- MessageInstance.new(version, data)
233
- end
234
- @headers = payload.headers
235
- @status_code = payload.status_code
236
- end
237
-
238
- def message
239
- @message
240
- end
241
-
242
- def headers
243
- @headers
244
- end
245
-
246
- def status_code
247
- @status_code
248
- end
249
- end
250
-
251
- class MessageInstance < InstanceResource
252
- ##
253
- # Initialize the MessageInstance
254
- # @param [Version] version Version that contains the resource
255
- # @param [Hash] payload payload that contains response from Twilio
256
- # @param [String] account_sid The SID of the
257
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Message
258
- # resource.
259
- # @param [String] sid The SID of the Call resource to fetch.
260
- # @return [MessageInstance] MessageInstance
261
- def initialize(version, payload , session_id: nil)
262
- super(version)
263
-
264
-
265
- # Marshaled Properties
266
- @properties = {
267
- 'id' => payload['id'],
268
- 'account_sid' => payload['account_sid'],
269
- 'assistant_id' => payload['assistant_id'],
270
- 'session_id' => payload['session_id'],
271
- 'identity' => payload['identity'],
272
- 'role' => payload['role'],
273
- 'content' => payload['content'],
274
- 'meta' => payload['meta'],
275
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
276
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
277
- }
278
- end
279
-
280
-
281
- ##
282
- # @return [String] The message ID.
283
- def id
284
- @properties['id']
285
- end
286
-
287
- ##
288
- # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Message resource.
289
- def account_sid
290
- @properties['account_sid']
291
- end
292
-
293
- ##
294
- # @return [String] The Assistant ID.
295
- def assistant_id
296
- @properties['assistant_id']
297
- end
298
-
299
- ##
300
- # @return [String] The Session ID.
301
- def session_id
302
- @properties['session_id']
303
- end
304
-
305
- ##
306
- # @return [String] The identity of the user.
307
- def identity
308
- @properties['identity']
309
- end
310
-
311
- ##
312
- # @return [String] The role of the user associated with the message.
313
- def role
314
- @properties['role']
315
- end
316
-
317
- ##
318
- # @return [Hash] The content of the message.
319
- def content
320
- @properties['content']
321
- end
322
-
323
- ##
324
- # @return [Hash] The metadata of the message.
325
- def meta
326
- @properties['meta']
327
- end
328
-
329
- ##
330
- # @return [Time] The date and time in GMT when the Message was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
331
- def date_created
332
- @properties['date_created']
333
- end
334
-
335
- ##
336
- # @return [Time] The date and time in GMT when the Message was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
337
- def date_updated
338
- @properties['date_updated']
339
- end
340
-
341
- ##
342
- # Provide a user friendly representation
343
- def to_s
344
- "<Twilio.Assistants.V1.MessageInstance>"
345
- end
346
-
347
- ##
348
- # Provide a detailed, user friendly representation
349
- def inspect
350
- "<Twilio.Assistants.V1.MessageInstance>"
351
- end
352
- end
353
-
354
- end
355
- end
356
- end
357
- end
358
- end
359
-
360
-