twilio-ruby 7.10.6 → 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 +57 -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 +507 -0
  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 +61 -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 +87 -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 +46 -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 +34 -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,259 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # User OAuth API
8
+ # User OAuth 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 Oauth < OauthBase
19
+ class V2 < Version
20
+ class OauthAuthorizationServerList < ListResource
21
+
22
+ ##
23
+ # Initialize the OauthAuthorizationServerList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [OauthAuthorizationServerList] OauthAuthorizationServerList
26
+ def initialize(version)
27
+ super(version)
28
+
29
+ # Path Solution
30
+ @solution = { }
31
+ @uri = "/oauth-authorization-server"
32
+
33
+ end
34
+ ##
35
+ # Fetch the OauthAuthorizationServerInstance
36
+ # @return [OauthAuthorizationServerInstance] Fetched OauthAuthorizationServerInstance
37
+ def fetch
38
+
39
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
40
+
41
+
42
+
43
+
44
+
45
+ payload = @version.fetch('GET', @uri, headers: headers)
46
+ OauthAuthorizationServerInstance.new(
47
+ @version,
48
+ payload,
49
+ )
50
+ end
51
+
52
+ ##
53
+ # Fetch the OauthAuthorizationServerInstanceMetadata
54
+ # @return [OauthAuthorizationServerInstance] Fetched OauthAuthorizationServerInstance
55
+ def fetch_with_metadata
56
+
57
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
58
+
59
+
60
+
61
+
62
+
63
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
64
+ oauth_authorization_server_instance = OauthAuthorizationServerInstance.new(
65
+ @version,
66
+ response.body,
67
+ )
68
+ OauthAuthorizationServerInstanceMetadata.new(
69
+ @version,
70
+ oauth_authorization_server_instance,
71
+ response.headers,
72
+ response.status_code
73
+ )
74
+ end
75
+
76
+
77
+
78
+
79
+ # Provide a user friendly representation
80
+ def to_s
81
+ '#<Twilio.Oauth.V2.OauthAuthorizationServerList>'
82
+ end
83
+ end
84
+
85
+ class OauthAuthorizationServerPage < Page
86
+ ##
87
+ # Initialize the OauthAuthorizationServerPage
88
+ # @param [Version] version Version that contains the resource
89
+ # @param [Response] response Response from the API
90
+ # @param [Hash] solution Path solution for the resource
91
+ # @return [OauthAuthorizationServerPage] OauthAuthorizationServerPage
92
+ def initialize(version, response, solution)
93
+ super(version, response)
94
+
95
+
96
+ # Path Solution
97
+ @solution = solution
98
+ end
99
+
100
+ ##
101
+ # Build an instance of OauthAuthorizationServerInstance
102
+ # @param [Hash] payload Payload response from the API
103
+ # @return [OauthAuthorizationServerInstance] OauthAuthorizationServerInstance
104
+ def get_instance(payload)
105
+ OauthAuthorizationServerInstance.new(@version, payload)
106
+ end
107
+
108
+ ##
109
+ # Provide a user friendly representation
110
+ def to_s
111
+ '<Twilio.Oauth.V2.OauthAuthorizationServerPage>'
112
+ end
113
+ end
114
+
115
+ class OauthAuthorizationServerPageMetadata < PageMetadata
116
+ attr_reader :oauth_authorization_server_page
117
+
118
+ def initialize(version, response, solution, limit)
119
+ super(version, response)
120
+ @oauth_authorization_server_page = []
121
+ @limit = limit
122
+ key = get_key(response.body)
123
+ records = 0
124
+ while( limit != :unset && records < limit )
125
+ @oauth_authorization_server_page << OauthAuthorizationServerListResponse.new(version, @payload, key, limit - records)
126
+ @payload = self.next_page
127
+ break unless @payload
128
+ records += (@payload.body[key] || []).size
129
+ end
130
+ # Path Solution
131
+ @solution = solution
132
+ end
133
+
134
+ def each
135
+ @oauth_authorization_server_page.each do |record|
136
+ yield record
137
+ end
138
+ end
139
+
140
+ def to_s
141
+ '<Twilio::REST::Oauth::V2PageMetadata>';
142
+ end
143
+ end
144
+ class OauthAuthorizationServerListResponse < InstanceListResource
145
+
146
+ # @param [Array<OauthAuthorizationServerInstance>] instance
147
+ # @param [Hash{String => Object}] headers
148
+ # @param [Integer] status_code
149
+ def initialize(version, payload, key, limit = :unset)
150
+ data_list = payload.body[key] || []
151
+ if limit != :unset
152
+ data_list = data_list[0, limit]
153
+ end
154
+ @oauth_authorization_server = data_list.map do |data|
155
+ OauthAuthorizationServerInstance.new(version, data)
156
+ end
157
+ @headers = payload.headers
158
+ @status_code = payload.status_code
159
+ end
160
+
161
+ def oauth_authorization_server
162
+ @oauth_authorization_server
163
+ end
164
+
165
+ def headers
166
+ @headers
167
+ end
168
+
169
+ def status_code
170
+ @status_code
171
+ end
172
+ end
173
+
174
+ class OauthAuthorizationServerInstance < InstanceResource
175
+ ##
176
+ # Initialize the OauthAuthorizationServerInstance
177
+ # @param [Version] version Version that contains the resource
178
+ # @param [Hash] payload payload that contains response from Twilio
179
+ # @param [String] account_sid The SID of the
180
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this OauthAuthorizationServer
181
+ # resource.
182
+ # @param [String] sid The SID of the Call resource to fetch.
183
+ # @return [OauthAuthorizationServerInstance] OauthAuthorizationServerInstance
184
+ def initialize(version, payload )
185
+ super(version)
186
+
187
+
188
+ # Marshaled Properties
189
+ @properties = {
190
+ 'issuer' => payload['issuer'],
191
+ 'authorization_endpoint' => payload['authorization_endpoint'],
192
+ 'token_endpoint' => payload['token_endpoint'],
193
+ 'response_types_supported' => payload['response_types_supported'],
194
+ 'grant_types_supported' => payload['grant_types_supported'],
195
+ 'code_challenge_methods_supported' => payload['code_challenge_methods_supported'],
196
+ 'token_endpoint_auth_methods_supported' => payload['token_endpoint_auth_methods_supported'],
197
+ }
198
+ end
199
+
200
+
201
+ ##
202
+ # @return [String]
203
+ def issuer
204
+ @properties['issuer']
205
+ end
206
+
207
+ ##
208
+ # @return [String]
209
+ def authorization_endpoint
210
+ @properties['authorization_endpoint']
211
+ end
212
+
213
+ ##
214
+ # @return [String]
215
+ def token_endpoint
216
+ @properties['token_endpoint']
217
+ end
218
+
219
+ ##
220
+ # @return [Array<String>]
221
+ def response_types_supported
222
+ @properties['response_types_supported']
223
+ end
224
+
225
+ ##
226
+ # @return [Array<String>]
227
+ def grant_types_supported
228
+ @properties['grant_types_supported']
229
+ end
230
+
231
+ ##
232
+ # @return [Array<String>]
233
+ def code_challenge_methods_supported
234
+ @properties['code_challenge_methods_supported']
235
+ end
236
+
237
+ ##
238
+ # @return [Array<String>]
239
+ def token_endpoint_auth_methods_supported
240
+ @properties['token_endpoint_auth_methods_supported']
241
+ end
242
+
243
+ ##
244
+ # Provide a user friendly representation
245
+ def to_s
246
+ "<Twilio.Oauth.V2.OauthAuthorizationServerInstance>"
247
+ end
248
+
249
+ ##
250
+ # Provide a detailed, user friendly representation
251
+ def inspect
252
+ "<Twilio.Oauth.V2.OauthAuthorizationServerInstance>"
253
+ end
254
+ end
255
+
256
+ end
257
+ end
258
+ end
259
+ end
@@ -42,6 +42,7 @@ module Twilio
42
42
  # @param [String] audience The targeted audience uri
43
43
  # @param [String] refresh_token JWT token related to refresh access token.
44
44
  # @param [String] scope The scope of token
45
+ # @param [String] code_verifier The PKCE code verifier used to generate the code_challenge in the authorization request.
45
46
  # @return [TokenInstance] Created TokenInstance
46
47
  def create(
47
48
  account_sid: :unset,
@@ -52,7 +53,8 @@ module Twilio
52
53
  redirect_uri: :unset,
53
54
  audience: :unset,
54
55
  refresh_token: :unset,
55
- scope: :unset
56
+ scope: :unset,
57
+ code_verifier: :unset
56
58
  )
57
59
 
58
60
  params = Twilio::Values.of({
@@ -67,6 +69,7 @@ module Twilio
67
69
  'audience' => audience,
68
70
  'refresh_token' => refresh_token,
69
71
  'scope' => scope,
72
+ 'code_verifier' => code_verifier,
70
73
  })
71
74
 
72
75
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
@@ -93,6 +96,7 @@ module Twilio
93
96
  # @param [String] audience The targeted audience uri
94
97
  # @param [String] refresh_token JWT token related to refresh access token.
95
98
  # @param [String] scope The scope of token
99
+ # @param [String] code_verifier The PKCE code verifier used to generate the code_challenge in the authorization request.
96
100
  # @return [TokenInstance] Created TokenInstance
97
101
  def create_with_metadata(
98
102
  account_sid: :unset,
@@ -103,7 +107,8 @@ module Twilio
103
107
  redirect_uri: :unset,
104
108
  audience: :unset,
105
109
  refresh_token: :unset,
106
- scope: :unset
110
+ scope: :unset,
111
+ code_verifier: :unset
107
112
  )
108
113
 
109
114
  params = Twilio::Values.of({
@@ -118,6 +123,7 @@ module Twilio
118
123
  'audience' => audience,
119
124
  'refresh_token' => refresh_token,
120
125
  'scope' => scope,
126
+ 'code_verifier' => code_verifier,
121
127
  })
122
128
 
123
129
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
@@ -56,7 +56,6 @@ module Twilio
56
56
  @uri = "/#{@solution[:organization_sid]}"
57
57
 
58
58
  # Dependents
59
- @resource_types = nil
60
59
  @role_assignments = nil
61
60
  @accounts = nil
62
61
  @users = nil
@@ -105,17 +104,6 @@ module Twilio
105
104
  )
106
105
  end
107
106
 
108
- ##
109
- # Access the resource_types
110
- # @return [ResourceTypeList]
111
- # @return [ResourceTypeContext]
112
- def resource_types
113
- unless @resource_types
114
- @resource_types = ResourceTypeList.new(
115
- @version, )
116
- end
117
- @resource_types
118
- end
119
107
  ##
120
108
  # Access the role_assignments
121
109
  # @return [RoleAssignmentList]
@@ -364,13 +352,6 @@ module Twilio
364
352
  context.fetch
365
353
  end
366
354
 
367
- ##
368
- # Access the resource_types
369
- # @return [resource_types] resource_types
370
- def resource_types
371
- context.resource_types
372
- end
373
-
374
355
  ##
375
356
  # Access the role_assignments
376
357
  # @return [role_assignments] role_assignments