twilio-ruby 5.47.0 → 5.48.0

Sign up to get free protection for your applications and to get access to all the features.
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