twilio-ruby 5.58.1 → 5.60.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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGES.md +83 -0
  4. data/README.md +3 -3
  5. data/lib/twilio-ruby/http/http_client.rb +1 -1
  6. data/lib/twilio-ruby/jwt/access_token.rb +13 -0
  7. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +667 -0
  8. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +27 -1
  9. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +11 -4
  10. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +11 -4
  11. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +11 -4
  12. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +17 -10
  13. data/lib/twilio-ruby/rest/client.rb +7 -0
  14. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
  15. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +7 -0
  16. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +35 -35
  17. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +384 -0
  18. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  19. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +390 -0
  20. data/lib/twilio-ruby/rest/media/v1.rb +60 -0
  21. data/lib/twilio-ruby/rest/media.rb +56 -0
  22. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +272 -0
  23. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +79 -1
  24. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +9 -2
  25. data/lib/twilio-ruby/rest/messaging/v1/service.rb +29 -3
  26. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +188 -0
  27. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  28. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +59 -14
  29. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +1 -1
  30. data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
  31. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +7 -3
  32. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +7 -3
  33. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +23 -11
  34. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +30 -20
  35. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +19 -3
  36. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +6 -2
  37. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +10 -6
  38. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +11 -9
  39. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +8 -8
  40. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +7 -3
  41. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +7 -5
  42. data/lib/twilio-ruby/rest/verify/v2/template.rb +206 -0
  43. data/lib/twilio-ruby/rest/verify/v2.rb +7 -0
  44. data/lib/twilio-ruby/rest/verify.rb +6 -0
  45. data/lib/twilio-ruby/rest/video/v1/room.rb +12 -1
  46. data/lib/twilio-ruby/version.rb +1 -1
  47. metadata +13 -3
@@ -299,18 +299,22 @@ module Twilio
299
299
  # Worker. Defaults to {}.
300
300
  # @param [String] friendly_name A descriptive string that you create to describe
301
301
  # the Worker. It can be up to 64 characters long.
302
- # @param [Boolean] reject_pending_reservations Whether to reject pending
303
- # reservations.
302
+ # @param [Boolean] reject_pending_reservations Whether to reject the Worker's
303
+ # pending reservations. This option is only valid if the Worker's new
304
+ # {Activity}[https://www.twilio.com/docs/taskrouter/api/activity] resource has its
305
+ # `availability` property set to `False`.
306
+ # @param [String] if_match The If-Match HTTP request header
304
307
  # @return [WorkerInstance] Updated WorkerInstance
305
- def update(activity_sid: :unset, attributes: :unset, friendly_name: :unset, reject_pending_reservations: :unset)
308
+ def update(activity_sid: :unset, attributes: :unset, friendly_name: :unset, reject_pending_reservations: :unset, if_match: :unset)
306
309
  data = Twilio::Values.of({
307
310
  'ActivitySid' => activity_sid,
308
311
  'Attributes' => attributes,
309
312
  'FriendlyName' => friendly_name,
310
313
  'RejectPendingReservations' => reject_pending_reservations,
311
314
  })
315
+ headers = Twilio::Values.of({'If-Match' => if_match, })
312
316
 
313
- payload = @version.update('POST', @uri, data: data)
317
+ payload = @version.update('POST', @uri, data: data, headers: headers)
314
318
 
315
319
  WorkerInstance.new(
316
320
  @version,
@@ -322,9 +326,12 @@ module Twilio
322
326
 
323
327
  ##
324
328
  # Delete the WorkerInstance
329
+ # @param [String] if_match The If-Match HTTP request header
325
330
  # @return [Boolean] true if delete succeeds, false otherwise
326
- def delete
327
- @version.delete('DELETE', @uri)
331
+ def delete(if_match: :unset)
332
+ headers = Twilio::Values.of({'If-Match' => if_match, })
333
+
334
+ @version.delete('DELETE', @uri, headers: headers)
328
335
  end
329
336
 
330
337
  ##
@@ -551,23 +558,28 @@ module Twilio
551
558
  # Worker. Defaults to {}.
552
559
  # @param [String] friendly_name A descriptive string that you create to describe
553
560
  # the Worker. It can be up to 64 characters long.
554
- # @param [Boolean] reject_pending_reservations Whether to reject pending
555
- # reservations.
561
+ # @param [Boolean] reject_pending_reservations Whether to reject the Worker's
562
+ # pending reservations. This option is only valid if the Worker's new
563
+ # {Activity}[https://www.twilio.com/docs/taskrouter/api/activity] resource has its
564
+ # `availability` property set to `False`.
565
+ # @param [String] if_match The If-Match HTTP request header
556
566
  # @return [WorkerInstance] Updated WorkerInstance
557
- def update(activity_sid: :unset, attributes: :unset, friendly_name: :unset, reject_pending_reservations: :unset)
567
+ def update(activity_sid: :unset, attributes: :unset, friendly_name: :unset, reject_pending_reservations: :unset, if_match: :unset)
558
568
  context.update(
559
569
  activity_sid: activity_sid,
560
570
  attributes: attributes,
561
571
  friendly_name: friendly_name,
562
572
  reject_pending_reservations: reject_pending_reservations,
573
+ if_match: if_match,
563
574
  )
564
575
  end
565
576
 
566
577
  ##
567
578
  # Delete the WorkerInstance
579
+ # @param [String] if_match The If-Match HTTP request header
568
580
  # @return [Boolean] true if delete succeeds, false otherwise
569
- def delete
570
- context.delete
581
+ def delete(if_match: :unset)
582
+ context.delete(if_match: if_match, )
571
583
  end
572
584
 
573
585
  ##
@@ -124,12 +124,14 @@ module Twilio
124
124
  # worker.activity.update`, then TaskRouter will call event_callback_url only when
125
125
  # a task is created, canceled, or a Worker activity is updated.
126
126
  # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
127
- # `true` to enable multi-tasking, or `false` to disable it. The default is
128
- # `false`. Multi-tasking allows Workers to handle multiple Tasks simultaneously.
129
- # When enabled (`true`), each Worker can receive parallel reservations up to the
130
- # per-channel maximums defined in the Workers section. Otherwise, each Worker will
131
- # only receive a new reservation when the previous task is completed. Learn more
132
- # at {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
127
+ # `true` to enable multi-tasking, or `false` to disable it. However, all
128
+ # workspaces should be created as multi-tasking. The default is `true`.
129
+ # Multi-tasking allows Workers to handle multiple Tasks simultaneously. When
130
+ # enabled (`true`), each Worker can receive parallel reservations up to the
131
+ # per-channel maximums defined in the Workers section. In single-tasking mode
132
+ # (legacy mode), each Worker will only receive a new reservation when the previous
133
+ # task is completed. Learn more at
134
+ # {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
133
135
  # @param [String] template An available template name. Can be: `NONE` or `FIFO`
134
136
  # and the default is `NONE`. Pre-configures the Workspace with the Workflow and
135
137
  # Activities specified in the template. `NONE` will create a Workspace with only a
@@ -243,17 +245,21 @@ module Twilio
243
245
  # the Workspace resource. For example: `Sales Call Center` or `Customer Support
244
246
  # Team`.
245
247
  # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
246
- # `true` to enable multi-tasking, or `false` to disable it. The default is
247
- # `false`. Multi-tasking allows Workers to handle multiple Tasks simultaneously.
248
- # When enabled (`true`), each Worker can receive parallel reservations up to the
249
- # per-channel maximums defined in the Workers section. Otherwise, each Worker will
250
- # only receive a new reservation when the previous task is completed. Learn more
251
- # at {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
248
+ # `true` to enable multi-tasking, or `false` to disable it. However, all
249
+ # workspaces should be maintained as multi-tasking. There is no default when
250
+ # omitting this parameter. A multi-tasking Workspace can't be updated to
251
+ # single-tasking unless it is not a Flex Project and another (legacy)
252
+ # single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple
253
+ # Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel
254
+ # reservations up to the per-channel maximums defined in the Workers section. In
255
+ # single-tasking mode (legacy mode), each Worker will only receive a new
256
+ # reservation when the previous task is completed. Learn more at
257
+ # {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
252
258
  # @param [String] timeout_activity_sid The SID of the Activity that will be
253
259
  # assigned to a Worker when a Task reservation times out without a response.
254
260
  # @param [workspace.QueueOrder] prioritize_queue_order The type of TaskQueue to
255
261
  # prioritize when Workers are receiving Tasks from both types of TaskQueues. Can
256
- # be: `LIFO` or `FIFO` and the default is `FIFO`. For more information, see {Queue
262
+ # be: `LIFO` or `FIFO`. For more information, see {Queue
257
263
  # Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
258
264
  # @return [WorkspaceInstance] Updated WorkspaceInstance
259
265
  def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
@@ -602,17 +608,21 @@ module Twilio
602
608
  # the Workspace resource. For example: `Sales Call Center` or `Customer Support
603
609
  # Team`.
604
610
  # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
605
- # `true` to enable multi-tasking, or `false` to disable it. The default is
606
- # `false`. Multi-tasking allows Workers to handle multiple Tasks simultaneously.
607
- # When enabled (`true`), each Worker can receive parallel reservations up to the
608
- # per-channel maximums defined in the Workers section. Otherwise, each Worker will
609
- # only receive a new reservation when the previous task is completed. Learn more
610
- # at {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
611
+ # `true` to enable multi-tasking, or `false` to disable it. However, all
612
+ # workspaces should be maintained as multi-tasking. There is no default when
613
+ # omitting this parameter. A multi-tasking Workspace can't be updated to
614
+ # single-tasking unless it is not a Flex Project and another (legacy)
615
+ # single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple
616
+ # Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel
617
+ # reservations up to the per-channel maximums defined in the Workers section. In
618
+ # single-tasking mode (legacy mode), each Worker will only receive a new
619
+ # reservation when the previous task is completed. Learn more at
620
+ # {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
611
621
  # @param [String] timeout_activity_sid The SID of the Activity that will be
612
622
  # assigned to a Worker when a Task reservation times out without a response.
613
623
  # @param [workspace.QueueOrder] prioritize_queue_order The type of TaskQueue to
614
624
  # prioritize when Workers are receiving Tasks from both types of TaskQueues. Can
615
- # be: `LIFO` or `FIFO` and the default is `FIFO`. For more information, see {Queue
625
+ # be: `LIFO` or `FIFO`. For more information, see {Queue
616
626
  # Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
617
627
  # @return [WorkspaceInstance] Updated WorkspaceInstance
618
628
  def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
@@ -54,8 +54,10 @@ module Twilio
54
54
  # the United States and Canada automatically perform a CNAM Lookup and display
55
55
  # Caller ID data on your phone. See {CNAM
56
56
  # Lookups}[https://www.twilio.com/docs/sip-trunking#CNAM] for more information.
57
+ # @param [trunk.TransferCallerId] transfer_caller_id Caller Id for transfer
58
+ # target. Can be: `from-transferee` (default) or `from-transferor`.
57
59
  # @return [TrunkInstance] Created TrunkInstance
58
- def create(friendly_name: :unset, domain_name: :unset, disaster_recovery_url: :unset, disaster_recovery_method: :unset, transfer_mode: :unset, secure: :unset, cnam_lookup_enabled: :unset)
60
+ def create(friendly_name: :unset, domain_name: :unset, disaster_recovery_url: :unset, disaster_recovery_method: :unset, transfer_mode: :unset, secure: :unset, cnam_lookup_enabled: :unset, transfer_caller_id: :unset)
59
61
  data = Twilio::Values.of({
60
62
  'FriendlyName' => friendly_name,
61
63
  'DomainName' => domain_name,
@@ -64,6 +66,7 @@ module Twilio
64
66
  'TransferMode' => transfer_mode,
65
67
  'Secure' => secure,
66
68
  'CnamLookupEnabled' => cnam_lookup_enabled,
69
+ 'TransferCallerId' => transfer_caller_id,
67
70
  })
68
71
 
69
72
  payload = @version.create('POST', @uri, data: data)
@@ -256,8 +259,10 @@ module Twilio
256
259
  # the United States and Canada automatically perform a CNAM Lookup and display
257
260
  # Caller ID data on your phone. See {CNAM
258
261
  # Lookups}[https://www.twilio.com/docs/sip-trunking#CNAM] for more information.
262
+ # @param [trunk.TransferCallerId] transfer_caller_id Caller Id for transfer
263
+ # target. Can be: `from-transferee` (default) or `from-transferor`.
259
264
  # @return [TrunkInstance] Updated TrunkInstance
260
- def update(friendly_name: :unset, domain_name: :unset, disaster_recovery_url: :unset, disaster_recovery_method: :unset, transfer_mode: :unset, secure: :unset, cnam_lookup_enabled: :unset)
265
+ def update(friendly_name: :unset, domain_name: :unset, disaster_recovery_url: :unset, disaster_recovery_method: :unset, transfer_mode: :unset, secure: :unset, cnam_lookup_enabled: :unset, transfer_caller_id: :unset)
261
266
  data = Twilio::Values.of({
262
267
  'FriendlyName' => friendly_name,
263
268
  'DomainName' => domain_name,
@@ -266,6 +271,7 @@ module Twilio
266
271
  'TransferMode' => transfer_mode,
267
272
  'Secure' => secure,
268
273
  'CnamLookupEnabled' => cnam_lookup_enabled,
274
+ 'TransferCallerId' => transfer_caller_id,
269
275
  })
270
276
 
271
277
  payload = @version.update('POST', @uri, data: data)
@@ -389,6 +395,7 @@ module Twilio
389
395
  'secure' => payload['secure'],
390
396
  'recording' => payload['recording'],
391
397
  'transfer_mode' => payload['transfer_mode'],
398
+ 'transfer_caller_id' => payload['transfer_caller_id'],
392
399
  'cnam_lookup_enabled' => payload['cnam_lookup_enabled'],
393
400
  'auth_type' => payload['auth_type'],
394
401
  'auth_type_set' => payload['auth_type_set'],
@@ -463,6 +470,12 @@ module Twilio
463
470
  @properties['transfer_mode']
464
471
  end
465
472
 
473
+ ##
474
+ # @return [trunk.TransferCallerId] Caller Id for transfer target
475
+ def transfer_caller_id
476
+ @properties['transfer_caller_id']
477
+ end
478
+
466
479
  ##
467
480
  # @return [Boolean] Whether Caller ID Name (CNAM) lookup is enabled for the trunk
468
481
  def cnam_lookup_enabled
@@ -556,8 +569,10 @@ module Twilio
556
569
  # the United States and Canada automatically perform a CNAM Lookup and display
557
570
  # Caller ID data on your phone. See {CNAM
558
571
  # Lookups}[https://www.twilio.com/docs/sip-trunking#CNAM] for more information.
572
+ # @param [trunk.TransferCallerId] transfer_caller_id Caller Id for transfer
573
+ # target. Can be: `from-transferee` (default) or `from-transferor`.
559
574
  # @return [TrunkInstance] Updated TrunkInstance
560
- def update(friendly_name: :unset, domain_name: :unset, disaster_recovery_url: :unset, disaster_recovery_method: :unset, transfer_mode: :unset, secure: :unset, cnam_lookup_enabled: :unset)
575
+ def update(friendly_name: :unset, domain_name: :unset, disaster_recovery_url: :unset, disaster_recovery_method: :unset, transfer_mode: :unset, secure: :unset, cnam_lookup_enabled: :unset, transfer_caller_id: :unset)
561
576
  context.update(
562
577
  friendly_name: friendly_name,
563
578
  domain_name: domain_name,
@@ -566,6 +581,7 @@ module Twilio
566
581
  transfer_mode: transfer_mode,
567
582
  secure: secure,
568
583
  cnam_lookup_enabled: cnam_lookup_enabled,
584
+ transfer_caller_id: transfer_caller_id,
569
585
  )
570
586
  end
571
587
 
@@ -21,7 +21,9 @@ module Twilio
21
21
  # @param [Version] version Version that contains the resource
22
22
  # @param [String] service_sid The unique SID identifier of the Service.
23
23
  # @param [String] identity Customer unique identity for the Entity owner of the
24
- # Challenge. This value must be between 8 and 64 characters long.
24
+ # Challenge. This identifier should be immutable, not PII, length between 8 and 64
25
+ # characters, and generated by your external system, such as your user's UUID,
26
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
25
27
  # @param [String] challenge_sid The unique SID identifier of the Challenge.
26
28
  # @return [NotificationList] NotificationList
27
29
  def initialize(version, service_sid: nil, identity: nil, challenge_sid: nil)
@@ -106,7 +108,9 @@ module Twilio
106
108
  # @param [Hash] payload payload that contains response from Twilio
107
109
  # @param [String] service_sid The unique SID identifier of the Service.
108
110
  # @param [String] identity Customer unique identity for the Entity owner of the
109
- # Challenge. This value must be between 8 and 64 characters long.
111
+ # Challenge. This identifier should be immutable, not PII, length between 8 and 64
112
+ # characters, and generated by your external system, such as your user's UUID,
113
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
110
114
  # @param [String] challenge_sid The unique SID identifier of the Challenge.
111
115
  # @return [NotificationInstance] NotificationInstance
112
116
  def initialize(version, payload, service_sid: nil, identity: nil, challenge_sid: nil)
@@ -20,7 +20,9 @@ module Twilio
20
20
  # @param [Version] version Version that contains the resource
21
21
  # @param [String] service_sid The unique SID identifier of the Service.
22
22
  # @param [String] identity Customer unique identity for the Entity owner of the
23
- # Challenge. This value must be between 8 and 64 characters long.
23
+ # Challenge. This identifier should be immutable, not PII, length between 8 and 64
24
+ # characters, and generated by your external system, such as your user's UUID,
25
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
24
26
  # @return [ChallengeList] ChallengeList
25
27
  def initialize(version, service_sid: nil, identity: nil)
26
28
  super(version)
@@ -236,10 +238,10 @@ module Twilio
236
238
  # Initialize the ChallengeContext
237
239
  # @param [Version] version Version that contains the resource
238
240
  # @param [String] service_sid The unique SID identifier of the Service.
239
- # @param [String] identity The unique external identifier for the Entity of the
240
- # Service. This identifier should be immutable, not PII, and generated by your
241
- # external system, such as your user's UUID, GUID, or SID. This value must be
242
- # between 8 and 64 characters long.
241
+ # @param [String] identity Customer unique identity for the Entity owner of the
242
+ # Challenges. This identifier should be immutable, not PII, length between 8 and
243
+ # 64 characters, and generated by your external system, such as your user's UUID,
244
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
243
245
  # @param [String] sid A 34 character string that uniquely identifies this
244
246
  # Challenge.
245
247
  # @return [ChallengeContext] ChallengeContext
@@ -331,7 +333,9 @@ module Twilio
331
333
  # @param [Hash] payload payload that contains response from Twilio
332
334
  # @param [String] service_sid The unique SID identifier of the Service.
333
335
  # @param [String] identity Customer unique identity for the Entity owner of the
334
- # Challenge. This value must be between 8 and 64 characters long.
336
+ # Challenge. This identifier should be immutable, not PII, length between 8 and 64
337
+ # characters, and generated by your external system, such as your user's UUID,
338
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
335
339
  # @param [String] sid A 34 character string that uniquely identifies this
336
340
  # Challenge.
337
341
  # @return [ChallengeInstance] ChallengeInstance
@@ -19,10 +19,10 @@ module Twilio
19
19
  # Initialize the FactorList
20
20
  # @param [Version] version Version that contains the resource
21
21
  # @param [String] service_sid The unique SID identifier of the Service.
22
- # @param [String] identity The unique external identifier for the Entity of the
23
- # Service. This identifier should be immutable, not PII, and generated by your
24
- # external system, such as your user's UUID, GUID, or SID. This value must be
25
- # between 8 and 64 characters long.
22
+ # @param [String] identity Customer unique identity for the Entity owner of the
23
+ # Factor. This identifier should be immutable, not PII, length between 8 and 64
24
+ # characters, and generated by your external system, such as your user's UUID,
25
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
26
26
  # @return [FactorList] FactorList
27
27
  def initialize(version, service_sid: nil, identity: nil)
28
28
  super(version)
@@ -163,7 +163,9 @@ module Twilio
163
163
  # @param [Version] version Version that contains the resource
164
164
  # @param [String] service_sid The unique SID identifier of the Service.
165
165
  # @param [String] identity Customer unique identity for the Entity owner of the
166
- # Factor. This value must be between 8 and 64 characters long.
166
+ # Factor. This identifier should be immutable, not PII, length between 8 and 64
167
+ # characters, and generated by your external system, such as your user's UUID,
168
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
167
169
  # @param [String] sid A 34 character string that uniquely identifies this Factor.
168
170
  # @return [FactorContext] FactorContext
169
171
  def initialize(version, service_sid, identity, sid)
@@ -264,10 +266,10 @@ module Twilio
264
266
  # @param [Version] version Version that contains the resource
265
267
  # @param [Hash] payload payload that contains response from Twilio
266
268
  # @param [String] service_sid The unique SID identifier of the Service.
267
- # @param [String] identity The unique external identifier for the Entity of the
268
- # Service. This identifier should be immutable, not PII, and generated by your
269
- # external system, such as your user's UUID, GUID, or SID. This value must be
270
- # between 8 and 64 characters long.
269
+ # @param [String] identity Customer unique identity for the Entity owner of the
270
+ # Factor. This identifier should be immutable, not PII, length between 8 and 64
271
+ # characters, and generated by your external system, such as your user's UUID,
272
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
271
273
  # @param [String] sid A 34 character string that uniquely identifies this Factor.
272
274
  # @return [FactorInstance] FactorInstance
273
275
  def initialize(version, payload, service_sid: nil, identity: nil, sid: nil)
@@ -19,10 +19,10 @@ module Twilio
19
19
  # Initialize the NewFactorList
20
20
  # @param [Version] version Version that contains the resource
21
21
  # @param [String] service_sid The unique SID identifier of the Service.
22
- # @param [String] identity The unique external identifier for the Entity of the
23
- # Service. This identifier should be immutable, not PII, and generated by your
24
- # external system, such as your user's UUID, GUID, or SID. This value must be
25
- # between 8 and 64 characters long.
22
+ # @param [String] identity Customer unique identity for the Entity owner of the
23
+ # Factor. This identifier should be immutable, not PII, length between 8 and 64
24
+ # characters, and generated by your external system, such as your user's UUID,
25
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
26
26
  # @return [NewFactorList] NewFactorList
27
27
  def initialize(version, service_sid: nil, identity: nil)
28
28
  super(version)
@@ -175,10 +175,10 @@ module Twilio
175
175
  # @param [Version] version Version that contains the resource
176
176
  # @param [Hash] payload payload that contains response from Twilio
177
177
  # @param [String] service_sid The unique SID identifier of the Service.
178
- # @param [String] identity The unique external identifier for the Entity of the
179
- # Service. This identifier should be immutable, not PII, and generated by your
180
- # external system, such as your user's UUID, GUID, or SID. This value must be
181
- # between 8 and 64 characters long.
178
+ # @param [String] identity Customer unique identity for the Entity owner of the
179
+ # Factor. This identifier should be immutable, not PII, length between 8 and 64
180
+ # characters, and generated by your external system, such as your user's UUID,
181
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
182
182
  # @return [NewFactorInstance] NewFactorInstance
183
183
  def initialize(version, payload, service_sid: nil, identity: nil)
184
184
  super(version)
@@ -32,7 +32,7 @@ module Twilio
32
32
  # @param [String] identity The unique external identifier for the Entity of the
33
33
  # Service. This identifier should be immutable, not PII, length between 8 and 64
34
34
  # characters, and generated by your external system, such as your user's UUID,
35
- # GUID, or SID.
35
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
36
36
  # @return [EntityInstance] Created EntityInstance
37
37
  def create(identity: nil)
38
38
  data = Twilio::Values.of({'Identity' => identity, })
@@ -168,7 +168,9 @@ module Twilio
168
168
  # @param [Version] version Version that contains the resource
169
169
  # @param [String] service_sid The unique SID identifier of the Service.
170
170
  # @param [String] identity The unique external identifier for the Entity of the
171
- # Service
171
+ # Service. This identifier should be immutable, not PII, length between 8 and 64
172
+ # characters, and generated by your external system, such as your user's UUID,
173
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
172
174
  # @return [EntityContext] EntityContext
173
175
  def initialize(version, service_sid, identity)
174
176
  super(version)
@@ -288,7 +290,9 @@ module Twilio
288
290
  # @param [Hash] payload payload that contains response from Twilio
289
291
  # @param [String] service_sid The unique SID identifier of the Service.
290
292
  # @param [String] identity The unique external identifier for the Entity of the
291
- # Service
293
+ # Service. This identifier should be immutable, not PII, length between 8 and 64
294
+ # characters, and generated by your external system, such as your user's UUID,
295
+ # GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
292
296
  # @return [EntityInstance] EntityInstance
293
297
  def initialize(version, payload, service_sid: nil, identity: nil)
294
298
  super(version)
@@ -33,7 +33,8 @@ module Twilio
33
33
  # {email}[https://www.twilio.com/docs/verify/email] to verify. Phone numbers must
34
34
  # be in {E.164 format}[https://www.twilio.com/docs/glossary/what-e164].
35
35
  # @param [String] channel The verification method to use. Can be:
36
- # {`email`}[https://www.twilio.com/docs/verify/email], `sms` or `call`.
36
+ # {`email`}[https://www.twilio.com/docs/verify/email], `sms`, `whatsapp` or
37
+ # `call`.
37
38
  # @param [String] custom_friendly_name A custom user defined friendly name that
38
39
  # overwrites the existing one in the verification message
39
40
  # @param [String] custom_message The text of a custom message to use for the
@@ -42,10 +43,11 @@ module Twilio
42
43
  # for example, to dial an extension. For more information, see the Programmable
43
44
  # Voice documentation of
44
45
  # {sendDigits}[https://www.twilio.com/docs/voice/twiml/number#attributes-sendDigits].
45
- # @param [String] locale The locale to use for the verification SMS or call. Can
46
- # be: `af`, `ar`, `ca`, `cs`, `da`, `de`, `el`, `en`, `en-GB`, `es`, `fi`, `fr`,
47
- # `he`, `hi`, `hr`, `hu`, `id`, `it`, `ja`, `ko`, `ms`, `nb`, `nl`, `pl`, `pt`,
48
- # `pr-BR`, `ro`, `ru`, `sv`, `th`, `tl`, `tr`, `vi`, `zh`, `zh-CN`, or `zh-HK.`
46
+ # @param [String] locale The locale to use for the verification SMS, WhatsApp or
47
+ # call. Can be: `af`, `ar`, `ca`, `cs`, `da`, `de`, `el`, `en`, `en-GB`, `es`,
48
+ # `fi`, `fr`, `he`, `hi`, `hr`, `hu`, `id`, `it`, `ja`, `ko`, `ms`, `nb`, `nl`,
49
+ # `pl`, `pt`, `pr-BR`, `ro`, `ru`, `sv`, `th`, `tl`, `tr`, `vi`, `zh`, `zh-CN`, or
50
+ # `zh-HK.`
49
51
  # @param [String] custom_code A pre-generated code to use for verification. The
50
52
  # code can be between 4 and 10 characters, inclusive.
51
53
  # @param [String] amount The amount of the associated PSD2 compliant transaction.
@@ -0,0 +1,206 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Verify < Domain
12
+ class V2 < Version
13
+ class TemplateList < ListResource
14
+ ##
15
+ # Initialize the TemplateList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [TemplateList] TemplateList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ @uri = "/Templates"
24
+ end
25
+
26
+ ##
27
+ # Lists TemplateInstance records from the API as a list.
28
+ # Unlike stream(), this operation is eager and will load `limit` records into
29
+ # memory before returning.
30
+ # @param [String] friendly_name String filter used to query templates with a given
31
+ # friendly name
32
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
33
+ # guarantees to never return more than limit. Default is no limit
34
+ # @param [Integer] page_size Number of records to fetch per request, when
35
+ # not set will use the default value of 50 records. If no page_size is defined
36
+ # but a limit is defined, stream() will attempt to read the limit with the most
37
+ # efficient page size, i.e. min(limit, 1000)
38
+ # @return [Array] Array of up to limit results
39
+ def list(friendly_name: :unset, limit: nil, page_size: nil)
40
+ self.stream(friendly_name: friendly_name, limit: limit, page_size: page_size).entries
41
+ end
42
+
43
+ ##
44
+ # Streams TemplateInstance records from the API as an Enumerable.
45
+ # This operation lazily loads records as efficiently as possible until the limit
46
+ # is reached.
47
+ # @param [String] friendly_name String filter used to query templates with a given
48
+ # friendly name
49
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
50
+ # guarantees to never return more than limit. Default is no limit.
51
+ # @param [Integer] page_size Number of records to fetch per request, when
52
+ # not set will use the default value of 50 records. If no page_size is defined
53
+ # but a limit is defined, stream() will attempt to read the limit with the most
54
+ # efficient page size, i.e. min(limit, 1000)
55
+ # @return [Enumerable] Enumerable that will yield up to limit results
56
+ def stream(friendly_name: :unset, limit: nil, page_size: nil)
57
+ limits = @version.read_limits(limit, page_size)
58
+
59
+ page = self.page(friendly_name: friendly_name, page_size: limits[:page_size], )
60
+
61
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
62
+ end
63
+
64
+ ##
65
+ # When passed a block, yields TemplateInstance records from the API.
66
+ # This operation lazily loads records as efficiently as possible until the limit
67
+ # is reached.
68
+ def each
69
+ limits = @version.read_limits
70
+
71
+ page = self.page(page_size: limits[:page_size], )
72
+
73
+ @version.stream(page,
74
+ limit: limits[:limit],
75
+ page_limit: limits[:page_limit]).each {|x| yield x}
76
+ end
77
+
78
+ ##
79
+ # Retrieve a single page of TemplateInstance records from the API.
80
+ # Request is executed immediately.
81
+ # @param [String] friendly_name String filter used to query templates with a given
82
+ # friendly name
83
+ # @param [String] page_token PageToken provided by the API
84
+ # @param [Integer] page_number Page Number, this value is simply for client state
85
+ # @param [Integer] page_size Number of records to return, defaults to 50
86
+ # @return [Page] Page of TemplateInstance
87
+ def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
88
+ params = Twilio::Values.of({
89
+ 'FriendlyName' => friendly_name,
90
+ 'PageToken' => page_token,
91
+ 'Page' => page_number,
92
+ 'PageSize' => page_size,
93
+ })
94
+
95
+ response = @version.page('GET', @uri, params: params)
96
+
97
+ TemplatePage.new(@version, response, @solution)
98
+ end
99
+
100
+ ##
101
+ # Retrieve a single page of TemplateInstance records from the API.
102
+ # Request is executed immediately.
103
+ # @param [String] target_url API-generated URL for the requested results page
104
+ # @return [Page] Page of TemplateInstance
105
+ def get_page(target_url)
106
+ response = @version.domain.request(
107
+ 'GET',
108
+ target_url
109
+ )
110
+ TemplatePage.new(@version, response, @solution)
111
+ end
112
+
113
+ ##
114
+ # Provide a user friendly representation
115
+ def to_s
116
+ '#<Twilio.Verify.V2.TemplateList>'
117
+ end
118
+ end
119
+
120
+ class TemplatePage < Page
121
+ ##
122
+ # Initialize the TemplatePage
123
+ # @param [Version] version Version that contains the resource
124
+ # @param [Response] response Response from the API
125
+ # @param [Hash] solution Path solution for the resource
126
+ # @return [TemplatePage] TemplatePage
127
+ def initialize(version, response, solution)
128
+ super(version, response)
129
+
130
+ # Path Solution
131
+ @solution = solution
132
+ end
133
+
134
+ ##
135
+ # Build an instance of TemplateInstance
136
+ # @param [Hash] payload Payload response from the API
137
+ # @return [TemplateInstance] TemplateInstance
138
+ def get_instance(payload)
139
+ TemplateInstance.new(@version, payload, )
140
+ end
141
+
142
+ ##
143
+ # Provide a user friendly representation
144
+ def to_s
145
+ '<Twilio.Verify.V2.TemplatePage>'
146
+ end
147
+ end
148
+
149
+ class TemplateInstance < InstanceResource
150
+ ##
151
+ # Initialize the TemplateInstance
152
+ # @param [Version] version Version that contains the resource
153
+ # @param [Hash] payload payload that contains response from Twilio
154
+ # @return [TemplateInstance] TemplateInstance
155
+ def initialize(version, payload)
156
+ super(version)
157
+
158
+ # Marshaled Properties
159
+ @properties = {
160
+ 'sid' => payload['sid'],
161
+ 'account_sid' => payload['account_sid'],
162
+ 'friendly_name' => payload['friendly_name'],
163
+ 'translations' => payload['translations'],
164
+ }
165
+ end
166
+
167
+ ##
168
+ # @return [String] A string that uniquely identifies this Template
169
+ def sid
170
+ @properties['sid']
171
+ end
172
+
173
+ ##
174
+ # @return [String] Account Sid
175
+ def account_sid
176
+ @properties['account_sid']
177
+ end
178
+
179
+ ##
180
+ # @return [String] A string to describe the verification template
181
+ def friendly_name
182
+ @properties['friendly_name']
183
+ end
184
+
185
+ ##
186
+ # @return [Hash] Ojbect with the template translations.
187
+ def translations
188
+ @properties['translations']
189
+ end
190
+
191
+ ##
192
+ # Provide a user friendly representation
193
+ def to_s
194
+ "<Twilio.Verify.V2.TemplateInstance>"
195
+ end
196
+
197
+ ##
198
+ # Provide a detailed, user friendly representation
199
+ def inspect
200
+ "<Twilio.Verify.V2.TemplateInstance>"
201
+ end
202
+ end
203
+ end
204
+ end
205
+ end
206
+ end