twilio-ruby 5.58.1 → 5.60.0

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