twilio-ruby 5.47.0 → 5.48.0

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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +17 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/client.rb +7 -0
  5. data/lib/twilio-ruby/rest/events/v1/subscription.rb +2 -2
  6. data/lib/twilio-ruby/rest/messaging.rb +0 -14
  7. data/lib/twilio-ruby/rest/messaging/v1.rb +0 -22
  8. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  9. data/lib/twilio-ruby/rest/trusthub/v1.rb +139 -0
  10. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  11. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  12. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  13. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  14. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  15. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  16. data/lib/twilio-ruby/rest/{messaging/v1/use_case.rb → trusthub/v1/policies.rb} +110 -46
  17. data/lib/twilio-ruby/rest/{messaging/v1/campaign.rb → trusthub/v1/supporting_document.rb} +125 -143
  18. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  19. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  20. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  21. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  22. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  23. data/lib/twilio-ruby/rest/verify.rb +9 -0
  24. data/lib/twilio-ruby/rest/verify/v2.rb +15 -0
  25. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  26. data/lib/twilio-ruby/version.rb +1 -1
  27. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +4 -16
  28. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment_spec.rb +192 -0
  29. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_entity_assignments_spec.rb +186 -0
  30. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_evaluations_spec.rb +615 -0
  31. data/spec/integration/trusthub/v1/customer_profiles_spec.rb +255 -0
  32. data/spec/integration/trusthub/v1/end_user_spec.rb +247 -0
  33. data/spec/integration/trusthub/v1/end_user_type_spec.rb +176 -0
  34. data/spec/integration/trusthub/v1/policies_spec.rb +252 -0
  35. data/spec/integration/trusthub/v1/supporting_document_spec.rb +235 -0
  36. data/spec/integration/trusthub/v1/supporting_document_type_spec.rb +159 -0
  37. data/spec/integration/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment_spec.rb +192 -0
  38. data/spec/integration/trusthub/v1/trust_products/trust_products_entity_assignments_spec.rb +186 -0
  39. data/spec/integration/trusthub/v1/trust_products/trust_products_evaluations_spec.rb +615 -0
  40. data/spec/integration/trusthub/v1/trust_products_spec.rb +255 -0
  41. data/spec/integration/verify/v2/verification_attempt_spec.rb +146 -0
  42. metadata +46 -8
  43. data/spec/integration/messaging/v1/campaign_spec.rb +0 -194
  44. data/spec/integration/messaging/v1/use_case_spec.rb +0 -55
@@ -8,25 +8,43 @@
8
8
 
9
9
  module Twilio
10
10
  module REST
11
- class Messaging < Domain
11
+ class Trusthub < Domain
12
12
  class V1 < Version
13
- ##
14
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
15
- class CampaignList < ListResource
13
+ class SupportingDocumentList < ListResource
16
14
  ##
17
- # Initialize the CampaignList
15
+ # Initialize the SupportingDocumentList
18
16
  # @param [Version] version Version that contains the resource
19
- # @return [CampaignList] CampaignList
17
+ # @return [SupportingDocumentList] SupportingDocumentList
20
18
  def initialize(version)
21
19
  super(version)
22
20
 
23
21
  # Path Solution
24
22
  @solution = {}
25
- @uri = "/a2p/Campaigns"
23
+ @uri = "/SupportingDocuments"
26
24
  end
27
25
 
28
26
  ##
29
- # Lists CampaignInstance records from the API as a list.
27
+ # Create the SupportingDocumentInstance
28
+ # @param [String] friendly_name The string that you assigned to describe the
29
+ # resource.
30
+ # @param [String] type The type of the Supporting Document.
31
+ # @param [Hash] attributes The set of parameters that are the attributes of the
32
+ # Supporting Documents resource which are derived Supporting Document Types.
33
+ # @return [SupportingDocumentInstance] Created SupportingDocumentInstance
34
+ def create(friendly_name: nil, type: nil, attributes: :unset)
35
+ data = Twilio::Values.of({
36
+ 'FriendlyName' => friendly_name,
37
+ 'Type' => type,
38
+ 'Attributes' => Twilio.serialize_object(attributes),
39
+ })
40
+
41
+ payload = @version.create('POST', @uri, data: data)
42
+
43
+ SupportingDocumentInstance.new(@version, payload, )
44
+ end
45
+
46
+ ##
47
+ # Lists SupportingDocumentInstance records from the API as a list.
30
48
  # Unlike stream(), this operation is eager and will load `limit` records into
31
49
  # memory before returning.
32
50
  # @param [Integer] limit Upper limit for the number of records to return. stream()
@@ -41,7 +59,7 @@ module Twilio
41
59
  end
42
60
 
43
61
  ##
44
- # Streams CampaignInstance records from the API as an Enumerable.
62
+ # Streams SupportingDocumentInstance records from the API as an Enumerable.
45
63
  # This operation lazily loads records as efficiently as possible until the limit
46
64
  # is reached.
47
65
  # @param [Integer] limit Upper limit for the number of records to return. stream()
@@ -60,7 +78,7 @@ module Twilio
60
78
  end
61
79
 
62
80
  ##
63
- # When passed a block, yields CampaignInstance records from the API.
81
+ # When passed a block, yields SupportingDocumentInstance records from the API.
64
82
  # This operation lazily loads records as efficiently as possible until the limit
65
83
  # is reached.
66
84
  def each
@@ -74,12 +92,12 @@ module Twilio
74
92
  end
75
93
 
76
94
  ##
77
- # Retrieve a single page of CampaignInstance records from the API.
95
+ # Retrieve a single page of SupportingDocumentInstance records from the API.
78
96
  # Request is executed immediately.
79
97
  # @param [String] page_token PageToken provided by the API
80
98
  # @param [Integer] page_number Page Number, this value is simply for client state
81
99
  # @param [Integer] page_size Number of records to return, defaults to 50
82
- # @return [Page] Page of CampaignInstance
100
+ # @return [Page] Page of SupportingDocumentInstance
83
101
  def page(page_token: :unset, page_number: :unset, page_size: :unset)
84
102
  params = Twilio::Values.of({
85
103
  'PageToken' => page_token,
@@ -89,71 +107,36 @@ module Twilio
89
107
 
90
108
  response = @version.page('GET', @uri, params: params)
91
109
 
92
- CampaignPage.new(@version, response, @solution)
110
+ SupportingDocumentPage.new(@version, response, @solution)
93
111
  end
94
112
 
95
113
  ##
96
- # Retrieve a single page of CampaignInstance records from the API.
114
+ # Retrieve a single page of SupportingDocumentInstance records from the API.
97
115
  # Request is executed immediately.
98
116
  # @param [String] target_url API-generated URL for the requested results page
99
- # @return [Page] Page of CampaignInstance
117
+ # @return [Page] Page of SupportingDocumentInstance
100
118
  def get_page(target_url)
101
119
  response = @version.domain.request(
102
120
  'GET',
103
121
  target_url
104
122
  )
105
- CampaignPage.new(@version, response, @solution)
106
- end
107
-
108
- ##
109
- # Create the CampaignInstance
110
- # @param [String] brand_registration_sid A2P BrandRegistration Sid
111
- # @param [String] use_case A2P Campaign UseCase. One of [ 2FA, EMERGENCY,
112
- # MARKETING ]
113
- # @param [String] description A short description of what this SMS campaign does.
114
- # @param [Array[String]] message_samples Message samples, up to 5 sample messages,
115
- # <=255 chars each. Example: [ "EXPRESS: Denim Days Event is ON", "LAST CHANCE:
116
- # Book your next flight for just 1 (ONE) EUR" ]
117
- # @param [Boolean] has_embedded_links Indicate that this SMS campaign will send
118
- # messages that contain links.
119
- # @param [Boolean] has_embedded_phone Indicates that this SMS campaign will send
120
- # messages that contain phone numbers.
121
- # @param [String] messaging_service_sid The SID of the
122
- # {Service}[https://www.twilio.com/docs/chat/rest/service-resource] to read the
123
- # resources from.
124
- # @return [CampaignInstance] Created CampaignInstance
125
- def create(brand_registration_sid: nil, use_case: nil, description: nil, message_samples: nil, has_embedded_links: nil, has_embedded_phone: nil, messaging_service_sid: nil)
126
- data = Twilio::Values.of({
127
- 'BrandRegistrationSid' => brand_registration_sid,
128
- 'UseCase' => use_case,
129
- 'Description' => description,
130
- 'MessageSamples' => Twilio.serialize_list(message_samples) { |e| e },
131
- 'HasEmbeddedLinks' => has_embedded_links,
132
- 'HasEmbeddedPhone' => has_embedded_phone,
133
- 'MessagingServiceSid' => messaging_service_sid,
134
- })
135
-
136
- payload = @version.create('POST', @uri, data: data)
137
-
138
- CampaignInstance.new(@version, payload, )
123
+ SupportingDocumentPage.new(@version, response, @solution)
139
124
  end
140
125
 
141
126
  ##
142
127
  # Provide a user friendly representation
143
128
  def to_s
144
- '#<Twilio.Messaging.V1.CampaignList>'
129
+ '#<Twilio.Trusthub.V1.SupportingDocumentList>'
145
130
  end
146
131
  end
147
132
 
148
- ##
149
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
150
- class CampaignPage < Page
133
+ class SupportingDocumentPage < Page
151
134
  ##
152
- # Initialize the CampaignPage
135
+ # Initialize the SupportingDocumentPage
153
136
  # @param [Version] version Version that contains the resource
154
137
  # @param [Response] response Response from the API
155
138
  # @param [Hash] solution Path solution for the resource
156
- # @return [CampaignPage] CampaignPage
139
+ # @return [SupportingDocumentPage] SupportingDocumentPage
157
140
  def initialize(version, response, solution)
158
141
  super(version, response)
159
142
 
@@ -162,47 +145,64 @@ module Twilio
162
145
  end
163
146
 
164
147
  ##
165
- # Build an instance of CampaignInstance
148
+ # Build an instance of SupportingDocumentInstance
166
149
  # @param [Hash] payload Payload response from the API
167
- # @return [CampaignInstance] CampaignInstance
150
+ # @return [SupportingDocumentInstance] SupportingDocumentInstance
168
151
  def get_instance(payload)
169
- CampaignInstance.new(@version, payload, )
152
+ SupportingDocumentInstance.new(@version, payload, )
170
153
  end
171
154
 
172
155
  ##
173
156
  # Provide a user friendly representation
174
157
  def to_s
175
- '<Twilio.Messaging.V1.CampaignPage>'
158
+ '<Twilio.Trusthub.V1.SupportingDocumentPage>'
176
159
  end
177
160
  end
178
161
 
179
- ##
180
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
181
- class CampaignContext < InstanceContext
162
+ class SupportingDocumentContext < InstanceContext
182
163
  ##
183
- # Initialize the CampaignContext
164
+ # Initialize the SupportingDocumentContext
184
165
  # @param [Version] version Version that contains the resource
185
- # @param [String] sid The SID of the Campaign resource to fetch.
186
- # @return [CampaignContext] CampaignContext
166
+ # @param [String] sid The unique string created by Twilio to identify the
167
+ # Supporting Document resource.
168
+ # @return [SupportingDocumentContext] SupportingDocumentContext
187
169
  def initialize(version, sid)
188
170
  super(version)
189
171
 
190
172
  # Path Solution
191
173
  @solution = {sid: sid, }
192
- @uri = "/a2p/Campaigns/#{@solution[:sid]}"
174
+ @uri = "/SupportingDocuments/#{@solution[:sid]}"
193
175
  end
194
176
 
195
177
  ##
196
- # Fetch the CampaignInstance
197
- # @return [CampaignInstance] Fetched CampaignInstance
178
+ # Fetch the SupportingDocumentInstance
179
+ # @return [SupportingDocumentInstance] Fetched SupportingDocumentInstance
198
180
  def fetch
199
181
  payload = @version.fetch('GET', @uri)
200
182
 
201
- CampaignInstance.new(@version, payload, sid: @solution[:sid], )
183
+ SupportingDocumentInstance.new(@version, payload, sid: @solution[:sid], )
202
184
  end
203
185
 
204
186
  ##
205
- # Delete the CampaignInstance
187
+ # Update the SupportingDocumentInstance
188
+ # @param [String] friendly_name The string that you assigned to describe the
189
+ # resource.
190
+ # @param [Hash] attributes The set of parameters that are the attributes of the
191
+ # Supporting Document resource which are derived Supporting Document Types.
192
+ # @return [SupportingDocumentInstance] Updated SupportingDocumentInstance
193
+ def update(friendly_name: :unset, attributes: :unset)
194
+ data = Twilio::Values.of({
195
+ 'FriendlyName' => friendly_name,
196
+ 'Attributes' => Twilio.serialize_object(attributes),
197
+ })
198
+
199
+ payload = @version.update('POST', @uri, data: data)
200
+
201
+ SupportingDocumentInstance.new(@version, payload, sid: @solution[:sid], )
202
+ end
203
+
204
+ ##
205
+ # Delete the SupportingDocumentInstance
206
206
  # @return [Boolean] true if delete succeeds, false otherwise
207
207
  def delete
208
208
  @version.delete('DELETE', @uri)
@@ -212,44 +212,39 @@ module Twilio
212
212
  # Provide a user friendly representation
213
213
  def to_s
214
214
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
215
- "#<Twilio.Messaging.V1.CampaignContext #{context}>"
215
+ "#<Twilio.Trusthub.V1.SupportingDocumentContext #{context}>"
216
216
  end
217
217
 
218
218
  ##
219
219
  # Provide a detailed, user friendly representation
220
220
  def inspect
221
221
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
222
- "#<Twilio.Messaging.V1.CampaignContext #{context}>"
222
+ "#<Twilio.Trusthub.V1.SupportingDocumentContext #{context}>"
223
223
  end
224
224
  end
225
225
 
226
- ##
227
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
228
- class CampaignInstance < InstanceResource
226
+ class SupportingDocumentInstance < InstanceResource
229
227
  ##
230
- # Initialize the CampaignInstance
228
+ # Initialize the SupportingDocumentInstance
231
229
  # @param [Version] version Version that contains the resource
232
230
  # @param [Hash] payload payload that contains response from Twilio
233
- # @param [String] sid The SID of the Campaign resource to fetch.
234
- # @return [CampaignInstance] CampaignInstance
231
+ # @param [String] sid The unique string created by Twilio to identify the
232
+ # Supporting Document resource.
233
+ # @return [SupportingDocumentInstance] SupportingDocumentInstance
235
234
  def initialize(version, payload, sid: nil)
236
235
  super(version)
237
236
 
238
237
  # Marshaled Properties
239
238
  @properties = {
240
- 'account_sid' => payload['account_sid'],
241
- 'messaging_service_sid' => payload['messaging_service_sid'],
242
- 'brand_registration_sid' => payload['brand_registration_sid'],
243
239
  'sid' => payload['sid'],
240
+ 'account_sid' => payload['account_sid'],
241
+ 'friendly_name' => payload['friendly_name'],
242
+ 'mime_type' => payload['mime_type'],
243
+ 'status' => payload['status'],
244
+ 'type' => payload['type'],
245
+ 'attributes' => payload['attributes'],
244
246
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
245
247
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
246
- 'description' => payload['description'],
247
- 'message_samples' => payload['message_samples'],
248
- 'status' => payload['status'],
249
- 'failure_reason' => payload['failure_reason'],
250
- 'use_case' => payload['use_case'],
251
- 'has_embedded_links' => payload['has_embedded_links'],
252
- 'has_embedded_phone' => payload['has_embedded_phone'],
253
248
  'url' => payload['url'],
254
249
  }
255
250
 
@@ -261,107 +256,94 @@ module Twilio
261
256
  ##
262
257
  # Generate an instance context for the instance, the context is capable of
263
258
  # performing various actions. All instance actions are proxied to the context
264
- # @return [CampaignContext] CampaignContext for this CampaignInstance
259
+ # @return [SupportingDocumentContext] SupportingDocumentContext for this SupportingDocumentInstance
265
260
  def context
266
261
  unless @instance_context
267
- @instance_context = CampaignContext.new(@version, @params['sid'], )
262
+ @instance_context = SupportingDocumentContext.new(@version, @params['sid'], )
268
263
  end
269
264
  @instance_context
270
265
  end
271
266
 
272
267
  ##
273
- # @return [String] The SID of the Account that created the resource
274
- def account_sid
275
- @properties['account_sid']
276
- end
277
-
278
- ##
279
- # @return [String] MessagingService SID
280
- def messaging_service_sid
281
- @properties['messaging_service_sid']
282
- end
283
-
284
- ##
285
- # @return [String] A2P BrandRegistration Sid
286
- def brand_registration_sid
287
- @properties['brand_registration_sid']
288
- end
289
-
290
- ##
291
- # @return [String] Campaign sid
268
+ # @return [String] The unique string that identifies the resource
292
269
  def sid
293
270
  @properties['sid']
294
271
  end
295
272
 
296
273
  ##
297
- # @return [Time] The ISO 8601 date and time in GMT when the resource was created
298
- def date_created
299
- @properties['date_created']
300
- end
301
-
302
- ##
303
- # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
304
- def date_updated
305
- @properties['date_updated']
274
+ # @return [String] The SID of the Account that created the resource
275
+ def account_sid
276
+ @properties['account_sid']
306
277
  end
307
278
 
308
279
  ##
309
- # @return [String] A short description of what this SMS campaign does
310
- def description
311
- @properties['description']
280
+ # @return [String] The string that you assigned to describe the resource
281
+ def friendly_name
282
+ @properties['friendly_name']
312
283
  end
313
284
 
314
285
  ##
315
- # @return [Array[String]] Message samples
316
- def message_samples
317
- @properties['message_samples']
286
+ # @return [String] The image type of the file
287
+ def mime_type
288
+ @properties['mime_type']
318
289
  end
319
290
 
320
291
  ##
321
- # @return [campaign.Status] Campaign status
292
+ # @return [supporting_document.Status] The verification status of the Supporting Document resource
322
293
  def status
323
294
  @properties['status']
324
295
  end
325
296
 
326
297
  ##
327
- # @return [String] A reason why campaign registration has failed
328
- def failure_reason
329
- @properties['failure_reason']
298
+ # @return [String] The type of the Supporting Document
299
+ def type
300
+ @properties['type']
330
301
  end
331
302
 
332
303
  ##
333
- # @return [String] A2P Campaign UseCase.
334
- def use_case
335
- @properties['use_case']
304
+ # @return [Hash] The set of parameters that compose the Supporting Documents resource
305
+ def attributes
306
+ @properties['attributes']
336
307
  end
337
308
 
338
309
  ##
339
- # @return [Boolean] Indicate that this SMS campaign will send messages that contain links
340
- def has_embedded_links
341
- @properties['has_embedded_links']
310
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
311
+ def date_created
312
+ @properties['date_created']
342
313
  end
343
314
 
344
315
  ##
345
- # @return [Boolean] Indicates that this SMS campaign will send messages that contain phone numbers
346
- def has_embedded_phone
347
- @properties['has_embedded_phone']
316
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
317
+ def date_updated
318
+ @properties['date_updated']
348
319
  end
349
320
 
350
321
  ##
351
- # @return [String] The absolute URL of the Campaign resource
322
+ # @return [String] The absolute URL of the Supporting Document resource
352
323
  def url
353
324
  @properties['url']
354
325
  end
355
326
 
356
327
  ##
357
- # Fetch the CampaignInstance
358
- # @return [CampaignInstance] Fetched CampaignInstance
328
+ # Fetch the SupportingDocumentInstance
329
+ # @return [SupportingDocumentInstance] Fetched SupportingDocumentInstance
359
330
  def fetch
360
331
  context.fetch
361
332
  end
362
333
 
363
334
  ##
364
- # Delete the CampaignInstance
335
+ # Update the SupportingDocumentInstance
336
+ # @param [String] friendly_name The string that you assigned to describe the
337
+ # resource.
338
+ # @param [Hash] attributes The set of parameters that are the attributes of the
339
+ # Supporting Document resource which are derived Supporting Document Types.
340
+ # @return [SupportingDocumentInstance] Updated SupportingDocumentInstance
341
+ def update(friendly_name: :unset, attributes: :unset)
342
+ context.update(friendly_name: friendly_name, attributes: attributes, )
343
+ end
344
+
345
+ ##
346
+ # Delete the SupportingDocumentInstance
365
347
  # @return [Boolean] true if delete succeeds, false otherwise
366
348
  def delete
367
349
  context.delete
@@ -371,14 +353,14 @@ module Twilio
371
353
  # Provide a user friendly representation
372
354
  def to_s
373
355
  values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
374
- "<Twilio.Messaging.V1.CampaignInstance #{values}>"
356
+ "<Twilio.Trusthub.V1.SupportingDocumentInstance #{values}>"
375
357
  end
376
358
 
377
359
  ##
378
360
  # Provide a detailed, user friendly representation
379
361
  def inspect
380
362
  values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
381
- "<Twilio.Messaging.V1.CampaignInstance #{values}>"
363
+ "<Twilio.Trusthub.V1.SupportingDocumentInstance #{values}>"
382
364
  end
383
365
  end
384
366
  end