twilio-ruby 5.46.0 → 5.50.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +112 -0
  3. data/README.md +20 -6
  4. data/lib/twilio-ruby/rest/api.rb +1 -1
  5. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  6. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +10 -1
  7. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  8. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +4 -4
  9. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  10. data/lib/twilio-ruby/rest/bulkexports/v1.rb +10 -8
  11. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +14 -0
  12. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +14 -0
  13. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  14. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  15. data/lib/twilio-ruby/rest/client.rb +8 -1
  16. data/lib/twilio-ruby/rest/conversations/v1.rb +25 -20
  17. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  18. data/lib/twilio-ruby/rest/events/v1/event_type.rb +4 -4
  19. data/lib/twilio-ruby/rest/events/v1/schema.rb +4 -4
  20. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +4 -4
  21. data/lib/twilio-ruby/rest/events/v1/sink.rb +6 -5
  22. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  23. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  24. data/lib/twilio-ruby/rest/events/v1/subscription.rb +15 -8
  25. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +133 -6
  26. data/lib/twilio-ruby/rest/fax/v1.rb +5 -4
  27. data/lib/twilio-ruby/rest/flex_api/v1.rb +15 -12
  28. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +14 -0
  29. data/lib/twilio-ruby/rest/insights.rb +1 -1
  30. data/lib/twilio-ruby/rest/insights/v1.rb +11 -9
  31. data/lib/twilio-ruby/rest/insights/v1/room.rb +55 -43
  32. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +22 -22
  33. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  34. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  35. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  36. data/lib/twilio-ruby/rest/messaging.rb +8 -0
  37. data/lib/twilio-ruby/rest/messaging/v1.rb +21 -4
  38. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +328 -0
  39. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  40. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  41. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +10 -8
  42. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  43. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  44. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  45. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  46. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +4 -8
  47. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +5 -4
  48. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  49. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  50. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  51. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -1
  52. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  53. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +11 -1
  54. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  55. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  56. data/lib/twilio-ruby/rest/studio/v2/flow.rb +4 -12
  57. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +0 -8
  58. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -8
  59. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +0 -8
  60. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -8
  61. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -9
  62. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +10 -16
  63. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +6 -11
  64. data/lib/twilio-ruby/rest/supersim.rb +9 -0
  65. data/lib/twilio-ruby/rest/supersim/v1.rb +41 -20
  66. data/lib/twilio-ruby/rest/supersim/v1/command.rb +4 -4
  67. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +86 -13
  68. data/lib/twilio-ruby/rest/supersim/v1/network.rb +4 -4
  69. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +4 -4
  70. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +4 -4
  71. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +4 -4
  72. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  73. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +3 -3
  74. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  75. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -8
  76. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +13 -32
  77. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -8
  78. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +9 -23
  79. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +38 -45
  80. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -8
  81. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +9 -23
  82. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +38 -47
  83. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +0 -8
  84. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +9 -23
  85. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +0 -6
  86. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  87. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +12 -8
  88. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  89. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  90. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  91. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  92. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  93. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  94. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  95. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  96. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  97. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  98. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  99. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  100. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  101. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  102. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  103. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  104. data/lib/twilio-ruby/rest/verify.rb +9 -0
  105. data/lib/twilio-ruby/rest/verify/v2.rb +26 -8
  106. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +4 -3
  107. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +64 -13
  108. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  109. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  110. data/lib/twilio-ruby/rest/video/v1/room.rb +4 -1
  111. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -6
  112. data/lib/twilio-ruby/rest/voice/v1.rb +20 -16
  113. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  114. data/lib/twilio-ruby/twiml/voice_response.rb +38 -8
  115. data/lib/twilio-ruby/version.rb +1 -1
  116. data/spec/integration/api/v2010/account/conference_spec.rb +302 -44
  117. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +4 -16
  118. data/spec/integration/api/v2010/account/message_spec.rb +37 -0
  119. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +6 -2
  120. data/spec/integration/bulkexports/v1/export/job_spec.rb +3 -1
  121. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +134 -0
  122. data/spec/integration/flex_api/v1/configuration_spec.rb +24 -0
  123. data/spec/integration/messaging/v1/brand_registration_spec.rb +143 -0
  124. data/spec/integration/preview/sync/service/document_spec.rb +1 -3
  125. data/spec/integration/serverless/v1/service/build_spec.rb +12 -2
  126. data/spec/integration/supersim/v1/fleet_spec.rb +20 -0
  127. data/spec/integration/supersim/v1/sms_command_spec.rb +184 -0
  128. data/spec/integration/sync/v1/service/document_spec.rb +1 -3
  129. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +3 -1
  130. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment_spec.rb +192 -0
  131. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_entity_assignments_spec.rb +186 -0
  132. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_evaluations_spec.rb +615 -0
  133. data/spec/integration/trusthub/v1/customer_profiles_spec.rb +255 -0
  134. data/spec/integration/trusthub/v1/end_user_spec.rb +247 -0
  135. data/spec/integration/trusthub/v1/end_user_type_spec.rb +176 -0
  136. data/spec/integration/trusthub/v1/policies_spec.rb +252 -0
  137. data/spec/integration/trusthub/v1/supporting_document_spec.rb +235 -0
  138. data/spec/integration/trusthub/v1/supporting_document_type_spec.rb +159 -0
  139. data/spec/integration/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment_spec.rb +192 -0
  140. data/spec/integration/trusthub/v1/trust_products/trust_products_entity_assignments_spec.rb +186 -0
  141. data/spec/integration/trusthub/v1/trust_products/trust_products_evaluations_spec.rb +615 -0
  142. data/spec/integration/trusthub/v1/trust_products_spec.rb +255 -0
  143. data/spec/integration/verify/v2/service/entity/factor_spec.rb +3 -3
  144. data/spec/integration/verify/v2/verification_attempt_spec.rb +146 -0
  145. data/spec/integration/video/v1/room_spec.rb +39 -0
  146. metadata +52 -2
@@ -17,7 +17,7 @@ module Twilio
17
17
  ##
18
18
  # Initialize the ParticipantList
19
19
  # @param [Version] version Version that contains the resource
20
- # @param [String] room_sid The room_sid
20
+ # @param [String] room_sid Unique identifier for the room.
21
21
  # @return [ParticipantList] ParticipantList
22
22
  def initialize(version, room_sid: nil)
23
23
  super(version)
@@ -151,8 +151,8 @@ module Twilio
151
151
  ##
152
152
  # Initialize the ParticipantContext
153
153
  # @param [Version] version Version that contains the resource
154
- # @param [String] room_sid The room_sid
155
- # @param [String] participant_sid The participant_sid
154
+ # @param [String] room_sid The SID of the Room resource.
155
+ # @param [String] participant_sid The SID of the Participant resource.
156
156
  # @return [ParticipantContext] ParticipantContext
157
157
  def initialize(version, room_sid, participant_sid)
158
158
  super(version)
@@ -198,8 +198,8 @@ module Twilio
198
198
  # Initialize the ParticipantInstance
199
199
  # @param [Version] version Version that contains the resource
200
200
  # @param [Hash] payload payload that contains response from Twilio
201
- # @param [String] room_sid The room_sid
202
- # @param [String] participant_sid The participant_sid
201
+ # @param [String] room_sid Unique identifier for the room.
202
+ # @param [String] participant_sid The SID of the Participant resource.
203
203
  # @return [ParticipantInstance] ParticipantInstance
204
204
  def initialize(version, payload, room_sid: nil, participant_sid: nil)
205
205
  super(version)
@@ -249,103 +249,103 @@ module Twilio
249
249
  end
250
250
 
251
251
  ##
252
- # @return [String] The participant_sid
252
+ # @return [String] Unique identifier for the participant.
253
253
  def participant_sid
254
254
  @properties['participant_sid']
255
255
  end
256
256
 
257
257
  ##
258
- # @return [String] The participant_identity
258
+ # @return [String] The application-defined string that uniquely identifies the participant within a Room.
259
259
  def participant_identity
260
260
  @properties['participant_identity']
261
261
  end
262
262
 
263
263
  ##
264
- # @return [Time] The join_time
264
+ # @return [Time] When the participant joined the room.
265
265
  def join_time
266
266
  @properties['join_time']
267
267
  end
268
268
 
269
269
  ##
270
- # @return [Time] The leave_time
270
+ # @return [Time] When the participant left the room
271
271
  def leave_time
272
272
  @properties['leave_time']
273
273
  end
274
274
 
275
275
  ##
276
- # @return [String] The duration_sec
276
+ # @return [String] Amount of time in seconds the participant was in the room.
277
277
  def duration_sec
278
278
  @properties['duration_sec']
279
279
  end
280
280
 
281
281
  ##
282
- # @return [String] The account_sid
282
+ # @return [String] Account SID associated with the room.
283
283
  def account_sid
284
284
  @properties['account_sid']
285
285
  end
286
286
 
287
287
  ##
288
- # @return [String] The room_sid
288
+ # @return [String] Unique identifier for the room.
289
289
  def room_sid
290
290
  @properties['room_sid']
291
291
  end
292
292
 
293
293
  ##
294
- # @return [participant.RoomStatus] The status
294
+ # @return [participant.RoomStatus] Status of the room.
295
295
  def status
296
296
  @properties['status']
297
297
  end
298
298
 
299
299
  ##
300
- # @return [Array[participant.Codec]] The codecs
300
+ # @return [Array[participant.Codec]] Codecs detected from the participant.
301
301
  def codecs
302
302
  @properties['codecs']
303
303
  end
304
304
 
305
305
  ##
306
- # @return [String] The end_reason
306
+ # @return [String] Reason the participant left the room.
307
307
  def end_reason
308
308
  @properties['end_reason']
309
309
  end
310
310
 
311
311
  ##
312
- # @return [String] The error_code
312
+ # @return [String] Errors encountered by the participant.
313
313
  def error_code
314
314
  @properties['error_code']
315
315
  end
316
316
 
317
317
  ##
318
- # @return [String] The error_code_url
318
+ # @return [String] Twilio error code dictionary link.
319
319
  def error_code_url
320
320
  @properties['error_code_url']
321
321
  end
322
322
 
323
323
  ##
324
- # @return [participant.TwilioRealm] The media_region
324
+ # @return [participant.TwilioRealm] Twilio media region the participant connected to.
325
325
  def media_region
326
326
  @properties['media_region']
327
327
  end
328
328
 
329
329
  ##
330
- # @return [Hash] The properties
330
+ # @return [Hash] Object containing information about the participant's data from the room.
331
331
  def properties
332
332
  @properties['properties']
333
333
  end
334
334
 
335
335
  ##
336
- # @return [participant.EdgeLocation] The edge_location
336
+ # @return [participant.EdgeLocation] Name of the edge location the participant connected to.
337
337
  def edge_location
338
338
  @properties['edge_location']
339
339
  end
340
340
 
341
341
  ##
342
- # @return [Hash] The publisher_info
342
+ # @return [Hash] Object containing information about the SDK name and version.
343
343
  def publisher_info
344
344
  @properties['publisher_info']
345
345
  end
346
346
 
347
347
  ##
348
- # @return [String] The url
348
+ # @return [String] URL of the participant resource.
349
349
  def url
350
350
  @properties['url']
351
351
  end
@@ -25,11 +25,12 @@ module Twilio
25
25
  # @return [Twilio::REST::Ip_messaging::V1::CredentialList]
26
26
  def credentials(sid=:unset)
27
27
  if sid.nil?
28
- raise ArgumentError, 'sid cannot be nil'
29
- elsif sid == :unset
30
- @credentials ||= CredentialList.new self
28
+ raise ArgumentError, 'sid cannot be nil'
29
+ end
30
+ if sid == :unset
31
+ @credentials ||= CredentialList.new self
31
32
  else
32
- CredentialContext.new(self, sid)
33
+ CredentialContext.new(self, sid)
33
34
  end
34
35
  end
35
36
 
@@ -39,11 +40,12 @@ module Twilio
39
40
  # @return [Twilio::REST::Ip_messaging::V1::ServiceList]
40
41
  def services(sid=:unset)
41
42
  if sid.nil?
42
- raise ArgumentError, 'sid cannot be nil'
43
- elsif sid == :unset
44
- @services ||= ServiceList.new self
43
+ raise ArgumentError, 'sid cannot be nil'
44
+ end
45
+ if sid == :unset
46
+ @services ||= ServiceList.new self
45
47
  else
46
- ServiceContext.new(self, sid)
48
+ ServiceContext.new(self, sid)
47
49
  end
48
50
  end
49
51
 
@@ -25,11 +25,12 @@ module Twilio
25
25
  # @return [Twilio::REST::Ip_messaging::V2::CredentialList]
26
26
  def credentials(sid=:unset)
27
27
  if sid.nil?
28
- raise ArgumentError, 'sid cannot be nil'
29
- elsif sid == :unset
30
- @credentials ||= CredentialList.new self
28
+ raise ArgumentError, 'sid cannot be nil'
29
+ end
30
+ if sid == :unset
31
+ @credentials ||= CredentialList.new self
31
32
  else
32
- CredentialContext.new(self, sid)
33
+ CredentialContext.new(self, sid)
33
34
  end
34
35
  end
35
36
 
@@ -39,11 +40,12 @@ module Twilio
39
40
  # @return [Twilio::REST::Ip_messaging::V2::ServiceList]
40
41
  def services(sid=:unset)
41
42
  if sid.nil?
42
- raise ArgumentError, 'sid cannot be nil'
43
- elsif sid == :unset
44
- @services ||= ServiceList.new self
43
+ raise ArgumentError, 'sid cannot be nil'
44
+ end
45
+ if sid == :unset
46
+ @services ||= ServiceList.new self
45
47
  else
46
- ServiceContext.new(self, sid)
48
+ ServiceContext.new(self, sid)
47
49
  end
48
50
  end
49
51
 
@@ -26,11 +26,12 @@ module Twilio
26
26
  # @return [Twilio::REST::Lookups::V1::PhoneNumberList]
27
27
  def phone_numbers(phone_number=:unset)
28
28
  if phone_number.nil?
29
- raise ArgumentError, 'phone_number cannot be nil'
30
- elsif phone_number == :unset
31
- @phone_numbers ||= PhoneNumberList.new self
29
+ raise ArgumentError, 'phone_number cannot be nil'
30
+ end
31
+ if phone_number == :unset
32
+ @phone_numbers ||= PhoneNumberList.new self
32
33
  else
33
- PhoneNumberContext.new(self, phone_number)
34
+ PhoneNumberContext.new(self, phone_number)
34
35
  end
35
36
  end
36
37
 
@@ -28,6 +28,14 @@ module Twilio
28
28
  @v1 ||= V1.new self
29
29
  end
30
30
 
31
+ ##
32
+ # @param [String] sid The unique string to identify Brand Registration.
33
+ # @return [Twilio::REST::Messaging::V1::BrandRegistrationInstance] if sid was passed.
34
+ # @return [Twilio::REST::Messaging::V1::BrandRegistrationList]
35
+ def brand_registrations(sid=:unset)
36
+ self.v1.brand_registrations(sid)
37
+ end
38
+
31
39
  ##
32
40
  # @return [Twilio::REST::Messaging::V1::DeactivationsInstance]
33
41
  def deactivations
@@ -15,10 +15,26 @@ module Twilio
15
15
  def initialize(domain)
16
16
  super
17
17
  @version = 'v1'
18
+ @brand_registrations = nil
18
19
  @deactivations = nil
19
20
  @services = nil
20
21
  end
21
22
 
23
+ ##
24
+ # @param [String] sid The SID of the Brand Registration resource to fetch.
25
+ # @return [Twilio::REST::Messaging::V1::BrandRegistrationContext] if sid was passed.
26
+ # @return [Twilio::REST::Messaging::V1::BrandRegistrationList]
27
+ def brand_registrations(sid=:unset)
28
+ if sid.nil?
29
+ raise ArgumentError, 'sid cannot be nil'
30
+ end
31
+ if sid == :unset
32
+ @brand_registrations ||= BrandRegistrationList.new self
33
+ else
34
+ BrandRegistrationContext.new(self, sid)
35
+ end
36
+ end
37
+
22
38
  ##
23
39
  # @return [Twilio::REST::Messaging::V1::DeactivationsContext]
24
40
  def deactivations
@@ -31,11 +47,12 @@ module Twilio
31
47
  # @return [Twilio::REST::Messaging::V1::ServiceList]
32
48
  def services(sid=:unset)
33
49
  if sid.nil?
34
- raise ArgumentError, 'sid cannot be nil'
35
- elsif sid == :unset
36
- @services ||= ServiceList.new self
50
+ raise ArgumentError, 'sid cannot be nil'
51
+ end
52
+ if sid == :unset
53
+ @services ||= ServiceList.new self
37
54
  else
38
- ServiceContext.new(self, sid)
55
+ ServiceContext.new(self, sid)
39
56
  end
40
57
  end
41
58
 
@@ -0,0 +1,328 @@
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 Messaging < Domain
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 BrandRegistrationList < ListResource
16
+ ##
17
+ # Initialize the BrandRegistrationList
18
+ # @param [Version] version Version that contains the resource
19
+ # @return [BrandRegistrationList] BrandRegistrationList
20
+ def initialize(version)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {}
25
+ @uri = "/a2p/BrandRegistrations"
26
+ end
27
+
28
+ ##
29
+ # Lists BrandRegistrationInstance records from the API as a list.
30
+ # Unlike stream(), this operation is eager and will load `limit` records into
31
+ # memory before returning.
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(limit: nil, page_size: nil)
40
+ self.stream(limit: limit, page_size: page_size).entries
41
+ end
42
+
43
+ ##
44
+ # Streams BrandRegistrationInstance 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 [Integer] limit Upper limit for the number of records to return. stream()
48
+ # guarantees to never return more than limit. Default is no limit.
49
+ # @param [Integer] page_size Number of records to fetch per request, when
50
+ # not set will use the default value of 50 records. If no page_size is defined
51
+ # but a limit is defined, stream() will attempt to read the limit with the most
52
+ # efficient page size, i.e. min(limit, 1000)
53
+ # @return [Enumerable] Enumerable that will yield up to limit results
54
+ def stream(limit: nil, page_size: nil)
55
+ limits = @version.read_limits(limit, page_size)
56
+
57
+ page = self.page(page_size: limits[:page_size], )
58
+
59
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
60
+ end
61
+
62
+ ##
63
+ # When passed a block, yields BrandRegistrationInstance records from the API.
64
+ # This operation lazily loads records as efficiently as possible until the limit
65
+ # is reached.
66
+ def each
67
+ limits = @version.read_limits
68
+
69
+ page = self.page(page_size: limits[:page_size], )
70
+
71
+ @version.stream(page,
72
+ limit: limits[:limit],
73
+ page_limit: limits[:page_limit]).each {|x| yield x}
74
+ end
75
+
76
+ ##
77
+ # Retrieve a single page of BrandRegistrationInstance records from the API.
78
+ # Request is executed immediately.
79
+ # @param [String] page_token PageToken provided by the API
80
+ # @param [Integer] page_number Page Number, this value is simply for client state
81
+ # @param [Integer] page_size Number of records to return, defaults to 50
82
+ # @return [Page] Page of BrandRegistrationInstance
83
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
84
+ params = Twilio::Values.of({
85
+ 'PageToken' => page_token,
86
+ 'Page' => page_number,
87
+ 'PageSize' => page_size,
88
+ })
89
+
90
+ response = @version.page('GET', @uri, params: params)
91
+
92
+ BrandRegistrationPage.new(@version, response, @solution)
93
+ end
94
+
95
+ ##
96
+ # Retrieve a single page of BrandRegistrationInstance records from the API.
97
+ # Request is executed immediately.
98
+ # @param [String] target_url API-generated URL for the requested results page
99
+ # @return [Page] Page of BrandRegistrationInstance
100
+ def get_page(target_url)
101
+ response = @version.domain.request(
102
+ 'GET',
103
+ target_url
104
+ )
105
+ BrandRegistrationPage.new(@version, response, @solution)
106
+ end
107
+
108
+ ##
109
+ # Create the BrandRegistrationInstance
110
+ # @param [String] customer_profile_bundle_sid Customer Profile Bundle Sid.
111
+ # @param [String] a2p_profile_bundle_sid A2P Messaging Profile Bundle Sid.
112
+ # @return [BrandRegistrationInstance] Created BrandRegistrationInstance
113
+ def create(customer_profile_bundle_sid: nil, a2p_profile_bundle_sid: nil)
114
+ data = Twilio::Values.of({
115
+ 'CustomerProfileBundleSid' => customer_profile_bundle_sid,
116
+ 'A2PProfileBundleSid' => a2p_profile_bundle_sid,
117
+ })
118
+
119
+ payload = @version.create('POST', @uri, data: data)
120
+
121
+ BrandRegistrationInstance.new(@version, payload, )
122
+ end
123
+
124
+ ##
125
+ # Provide a user friendly representation
126
+ def to_s
127
+ '#<Twilio.Messaging.V1.BrandRegistrationList>'
128
+ end
129
+ end
130
+
131
+ ##
132
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
133
+ class BrandRegistrationPage < Page
134
+ ##
135
+ # Initialize the BrandRegistrationPage
136
+ # @param [Version] version Version that contains the resource
137
+ # @param [Response] response Response from the API
138
+ # @param [Hash] solution Path solution for the resource
139
+ # @return [BrandRegistrationPage] BrandRegistrationPage
140
+ def initialize(version, response, solution)
141
+ super(version, response)
142
+
143
+ # Path Solution
144
+ @solution = solution
145
+ end
146
+
147
+ ##
148
+ # Build an instance of BrandRegistrationInstance
149
+ # @param [Hash] payload Payload response from the API
150
+ # @return [BrandRegistrationInstance] BrandRegistrationInstance
151
+ def get_instance(payload)
152
+ BrandRegistrationInstance.new(@version, payload, )
153
+ end
154
+
155
+ ##
156
+ # Provide a user friendly representation
157
+ def to_s
158
+ '<Twilio.Messaging.V1.BrandRegistrationPage>'
159
+ end
160
+ end
161
+
162
+ ##
163
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
164
+ class BrandRegistrationContext < InstanceContext
165
+ ##
166
+ # Initialize the BrandRegistrationContext
167
+ # @param [Version] version Version that contains the resource
168
+ # @param [String] sid The SID of the Brand Registration resource to fetch.
169
+ # @return [BrandRegistrationContext] BrandRegistrationContext
170
+ def initialize(version, sid)
171
+ super(version)
172
+
173
+ # Path Solution
174
+ @solution = {sid: sid, }
175
+ @uri = "/a2p/BrandRegistrations/#{@solution[:sid]}"
176
+ end
177
+
178
+ ##
179
+ # Fetch the BrandRegistrationInstance
180
+ # @return [BrandRegistrationInstance] Fetched BrandRegistrationInstance
181
+ def fetch
182
+ payload = @version.fetch('GET', @uri)
183
+
184
+ BrandRegistrationInstance.new(@version, payload, sid: @solution[:sid], )
185
+ end
186
+
187
+ ##
188
+ # Provide a user friendly representation
189
+ def to_s
190
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
191
+ "#<Twilio.Messaging.V1.BrandRegistrationContext #{context}>"
192
+ end
193
+
194
+ ##
195
+ # Provide a detailed, user friendly representation
196
+ def inspect
197
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
198
+ "#<Twilio.Messaging.V1.BrandRegistrationContext #{context}>"
199
+ end
200
+ end
201
+
202
+ ##
203
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
204
+ class BrandRegistrationInstance < InstanceResource
205
+ ##
206
+ # Initialize the BrandRegistrationInstance
207
+ # @param [Version] version Version that contains the resource
208
+ # @param [Hash] payload payload that contains response from Twilio
209
+ # @param [String] sid The SID of the Brand Registration resource to fetch.
210
+ # @return [BrandRegistrationInstance] BrandRegistrationInstance
211
+ def initialize(version, payload, sid: nil)
212
+ super(version)
213
+
214
+ # Marshaled Properties
215
+ @properties = {
216
+ 'sid' => payload['sid'],
217
+ 'account_sid' => payload['account_sid'],
218
+ 'customer_profile_bundle_sid' => payload['customer_profile_bundle_sid'],
219
+ 'a2p_profile_bundle_sid' => payload['a2p_profile_bundle_sid'],
220
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
221
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
222
+ 'status' => payload['status'],
223
+ 'tcr_id' => payload['tcr_id'],
224
+ 'failure_reason' => payload['failure_reason'],
225
+ 'url' => payload['url'],
226
+ }
227
+
228
+ # Context
229
+ @instance_context = nil
230
+ @params = {'sid' => sid || @properties['sid'], }
231
+ end
232
+
233
+ ##
234
+ # Generate an instance context for the instance, the context is capable of
235
+ # performing various actions. All instance actions are proxied to the context
236
+ # @return [BrandRegistrationContext] BrandRegistrationContext for this BrandRegistrationInstance
237
+ def context
238
+ unless @instance_context
239
+ @instance_context = BrandRegistrationContext.new(@version, @params['sid'], )
240
+ end
241
+ @instance_context
242
+ end
243
+
244
+ ##
245
+ # @return [String] A2P BrandRegistration Sid
246
+ def sid
247
+ @properties['sid']
248
+ end
249
+
250
+ ##
251
+ # @return [String] The SID of the Account that created the resource
252
+ def account_sid
253
+ @properties['account_sid']
254
+ end
255
+
256
+ ##
257
+ # @return [String] A2P Messaging Profile Bundle BundleSid
258
+ def customer_profile_bundle_sid
259
+ @properties['customer_profile_bundle_sid']
260
+ end
261
+
262
+ ##
263
+ # @return [String] A2P Messaging Profile Bundle BundleSid
264
+ def a2p_profile_bundle_sid
265
+ @properties['a2p_profile_bundle_sid']
266
+ end
267
+
268
+ ##
269
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
270
+ def date_created
271
+ @properties['date_created']
272
+ end
273
+
274
+ ##
275
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
276
+ def date_updated
277
+ @properties['date_updated']
278
+ end
279
+
280
+ ##
281
+ # @return [brand_registration.Status] Brand Registration status
282
+ def status
283
+ @properties['status']
284
+ end
285
+
286
+ ##
287
+ # @return [String] Campaign Registry (TCR) Brand ID
288
+ def tcr_id
289
+ @properties['tcr_id']
290
+ end
291
+
292
+ ##
293
+ # @return [String] A reason why brand registration has failed
294
+ def failure_reason
295
+ @properties['failure_reason']
296
+ end
297
+
298
+ ##
299
+ # @return [String] The absolute URL of the Brand Registration
300
+ def url
301
+ @properties['url']
302
+ end
303
+
304
+ ##
305
+ # Fetch the BrandRegistrationInstance
306
+ # @return [BrandRegistrationInstance] Fetched BrandRegistrationInstance
307
+ def fetch
308
+ context.fetch
309
+ end
310
+
311
+ ##
312
+ # Provide a user friendly representation
313
+ def to_s
314
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
315
+ "<Twilio.Messaging.V1.BrandRegistrationInstance #{values}>"
316
+ end
317
+
318
+ ##
319
+ # Provide a detailed, user friendly representation
320
+ def inspect
321
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
322
+ "<Twilio.Messaging.V1.BrandRegistrationInstance #{values}>"
323
+ end
324
+ end
325
+ end
326
+ end
327
+ end
328
+ end