twilio-ruby 5.41.0 → 5.45.1

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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +99 -0
  3. data/{LICENSE.md → LICENSE} +0 -0
  4. data/PULL_REQUEST_TEMPLATE.md +3 -3
  5. data/README.md +18 -2
  6. data/lib/twilio-ruby.rb +1 -1
  7. data/lib/twilio-ruby/jwt/access_token.rb +7 -2
  8. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +26 -1
  9. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  10. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +13 -1
  11. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +6 -1
  12. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +5 -22
  13. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +25 -40
  14. data/lib/twilio-ruby/rest/client.rb +29 -3
  15. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +32 -2
  16. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +17 -2
  17. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +32 -2
  18. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +8 -1
  19. data/lib/twilio-ruby/rest/conversations/v1/user.rb +8 -1
  20. data/lib/twilio-ruby/rest/events/v1/subscription.rb +12 -5
  21. data/lib/twilio-ruby/rest/flex_api.rb +1 -1
  22. data/lib/twilio-ruby/rest/flex_api/v1.rb +1 -1
  23. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +5 -5
  24. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +88 -76
  25. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +2 -2
  26. data/lib/twilio-ruby/rest/insights.rb +8 -0
  27. data/lib/twilio-ruby/rest/insights/v1.rb +15 -0
  28. data/lib/twilio-ruby/rest/insights/v1/room.rb +487 -0
  29. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  30. data/lib/twilio-ruby/rest/ip_messaging.rb +8 -10
  31. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +6 -8
  32. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +29 -68
  33. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +198 -313
  34. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +32 -59
  35. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +23 -55
  36. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +28 -71
  37. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +31 -59
  38. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +19 -39
  39. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +29 -51
  40. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +12 -18
  41. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +6 -6
  42. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +29 -66
  43. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +116 -205
  44. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +23 -50
  45. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +41 -91
  46. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +23 -50
  47. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +42 -118
  48. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +46 -100
  49. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +36 -89
  50. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +19 -41
  51. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +29 -53
  52. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +23 -53
  53. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +27 -56
  54. data/lib/twilio-ruby/rest/preview.rb +0 -21
  55. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +5 -22
  56. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +21 -39
  57. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -30
  58. data/lib/twilio-ruby/rest/serverless/v1/service.rb +5 -5
  59. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +4 -4
  60. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +4 -4
  61. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +4 -4
  62. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +4 -4
  63. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +4 -4
  64. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +4 -4
  65. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +4 -4
  66. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +4 -4
  67. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
  68. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +4 -4
  69. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +4 -4
  70. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +15 -5
  71. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +15 -5
  72. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +28 -5
  73. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +15 -5
  74. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +28 -5
  75. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +15 -5
  76. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +12 -9
  77. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -16
  78. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +21 -24
  79. data/lib/twilio-ruby/rest/verify/v2/form.rb +4 -4
  80. data/lib/twilio-ruby/rest/verify/v2/service.rb +3 -3
  81. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +3 -3
  82. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +23 -35
  83. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +27 -49
  84. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +24 -42
  85. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +4 -4
  86. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +6 -6
  87. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +6 -6
  88. data/lib/twilio-ruby/rest/video/v1/room.rb +20 -0
  89. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +150 -0
  90. data/lib/twilio-ruby/twiml/voice_response.rb +8 -4
  91. data/lib/twilio-ruby/util/configuration.rb +5 -1
  92. data/lib/twilio-ruby/version.rb +1 -1
  93. data/spec/integration/api/v2010/account/call/event_spec.rb +102 -0
  94. data/spec/integration/api/v2010/account/call/recording_spec.rb +4 -0
  95. data/spec/integration/api/v2010/account/call_spec.rb +20 -10
  96. data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
  97. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +4 -2
  98. data/spec/integration/conversations/v1/conversation/participant_spec.rb +30 -10
  99. data/spec/integration/conversations/v1/service/configuration_spec.rb +2 -0
  100. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +30 -10
  101. data/spec/integration/conversations/v1/service/user_spec.rb +9 -4
  102. data/spec/integration/conversations/v1/user_spec.rb +9 -4
  103. data/spec/integration/events/v1/sink/sink_test_spec.rb +1 -1
  104. data/spec/integration/events/v1/subscription_spec.rb +49 -0
  105. data/spec/integration/insights/v1/room/participant_spec.rb +147 -0
  106. data/spec/integration/insights/v1/room_spec.rb +164 -0
  107. data/spec/integration/ip_messaging/v1/credential_spec.rb +13 -13
  108. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +11 -11
  109. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +14 -14
  110. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +14 -14
  111. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +25 -25
  112. data/spec/integration/ip_messaging/v1/service/role_spec.rb +13 -13
  113. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +7 -7
  114. data/spec/integration/ip_messaging/v1/service/user_spec.rb +17 -17
  115. data/spec/integration/ip_messaging/v1/service_spec.rb +9 -9
  116. data/spec/integration/ip_messaging/v2/credential_spec.rb +13 -13
  117. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +11 -11
  118. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +11 -11
  119. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +13 -13
  120. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +17 -17
  121. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +15 -15
  122. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +29 -29
  123. data/spec/integration/ip_messaging/v2/service/role_spec.rb +13 -13
  124. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +9 -9
  125. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +20 -20
  126. data/spec/integration/ip_messaging/v2/service/user_spec.rb +21 -21
  127. data/spec/integration/ip_messaging/v2/service_spec.rb +29 -29
  128. data/spec/integration/lookups/v1/phone_number_spec.rb +7 -7
  129. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +4 -2
  130. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +1 -1
  131. data/spec/integration/trunking/v1/trunk/recording_spec.rb +2 -6
  132. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +4 -12
  133. data/spec/integration/verify/v2/service/entity/factor_spec.rb +5 -15
  134. data/spec/integration/verify/v2/service/entity_spec.rb +4 -12
  135. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +89 -0
  136. data/spec/integration/video/v1/room_spec.rb +10 -5
  137. data/spec/jwt/access_token_spec.rb +9 -1
  138. data/spec/rest/client_spec.rb +24 -2
  139. data/twilio-ruby.gemspec +2 -1
  140. metadata +30 -19
  141. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +0 -243
  142. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +0 -213
  143. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +0 -108
  144. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +0 -260
  145. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +0 -342
  146. data/spec/integration/preview/trusted_comms/branded_call_spec.rb +0 -59
  147. data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +0 -56
  148. data/spec/integration/preview/trusted_comms/business/insights_spec.rb +0 -12
  149. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -45
  150. data/spec/integration/preview/trusted_comms/phone_call_spec.rb +0 -59
@@ -247,10 +247,16 @@ module Twilio
247
247
  # number that the participant is in contact with. 'null' value will remove it.
248
248
  # @param [String] messaging_binding_projected_address The address of the Twilio
249
249
  # phone number that is used in Group MMS. 'null' value will remove it.
250
+ # @param [String] last_read_message_index Index of last “read” message in the
251
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
252
+ # for the Participant.
253
+ # @param [String] last_read_timestamp Timestamp of last “read” message in the
254
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
255
+ # for the Participant.
250
256
  # @param [participant.WebhookEnabledType] x_twilio_webhook_enabled The
251
257
  # X-Twilio-Webhook-Enabled HTTP request header
252
258
  # @return [ParticipantInstance] Updated ParticipantInstance
253
- def update(date_created: :unset, date_updated: :unset, identity: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, x_twilio_webhook_enabled: :unset)
259
+ def update(date_created: :unset, date_updated: :unset, identity: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, last_read_message_index: :unset, last_read_timestamp: :unset, x_twilio_webhook_enabled: :unset)
254
260
  data = Twilio::Values.of({
255
261
  'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
256
262
  'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
@@ -259,6 +265,8 @@ module Twilio
259
265
  'RoleSid' => role_sid,
260
266
  'MessagingBinding.ProxyAddress' => messaging_binding_proxy_address,
261
267
  'MessagingBinding.ProjectedAddress' => messaging_binding_projected_address,
268
+ 'LastReadMessageIndex' => last_read_message_index,
269
+ 'LastReadTimestamp' => last_read_timestamp,
262
270
  })
263
271
  headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
264
272
 
@@ -344,6 +352,8 @@ module Twilio
344
352
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
345
353
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
346
354
  'url' => payload['url'],
355
+ 'last_read_message_index' => payload['last_read_message_index'] == nil ? payload['last_read_message_index'] : payload['last_read_message_index'].to_i,
356
+ 'last_read_timestamp' => payload['last_read_timestamp'],
347
357
  }
348
358
 
349
359
  # Context
@@ -437,6 +447,18 @@ module Twilio
437
447
  @properties['url']
438
448
  end
439
449
 
450
+ ##
451
+ # @return [String] Index of last “read” message in the Conversation for the Participant.
452
+ def last_read_message_index
453
+ @properties['last_read_message_index']
454
+ end
455
+
456
+ ##
457
+ # @return [String] Timestamp of last “read” message in the Conversation for the Participant.
458
+ def last_read_timestamp
459
+ @properties['last_read_timestamp']
460
+ end
461
+
440
462
  ##
441
463
  # Update the ParticipantInstance
442
464
  # @param [Time] date_created The date that this resource was created.
@@ -457,10 +479,16 @@ module Twilio
457
479
  # number that the participant is in contact with. 'null' value will remove it.
458
480
  # @param [String] messaging_binding_projected_address The address of the Twilio
459
481
  # phone number that is used in Group MMS. 'null' value will remove it.
482
+ # @param [String] last_read_message_index Index of last “read” message in the
483
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
484
+ # for the Participant.
485
+ # @param [String] last_read_timestamp Timestamp of last “read” message in the
486
+ # {Conversation}[https://www.twilio.com/docs/conversations/api/conversation-resource]
487
+ # for the Participant.
460
488
  # @param [participant.WebhookEnabledType] x_twilio_webhook_enabled The
461
489
  # X-Twilio-Webhook-Enabled HTTP request header
462
490
  # @return [ParticipantInstance] Updated ParticipantInstance
463
- def update(date_created: :unset, date_updated: :unset, identity: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, x_twilio_webhook_enabled: :unset)
491
+ def update(date_created: :unset, date_updated: :unset, identity: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, last_read_message_index: :unset, last_read_timestamp: :unset, x_twilio_webhook_enabled: :unset)
464
492
  context.update(
465
493
  date_created: date_created,
466
494
  date_updated: date_updated,
@@ -469,6 +497,8 @@ module Twilio
469
497
  role_sid: role_sid,
470
498
  messaging_binding_proxy_address: messaging_binding_proxy_address,
471
499
  messaging_binding_projected_address: messaging_binding_projected_address,
500
+ last_read_message_index: last_read_message_index,
501
+ last_read_timestamp: last_read_timestamp,
472
502
  x_twilio_webhook_enabled: x_twilio_webhook_enabled,
473
503
  )
474
504
  end
@@ -285,6 +285,7 @@ module Twilio
285
285
  'friendly_name' => payload['friendly_name'],
286
286
  'attributes' => payload['attributes'],
287
287
  'is_online' => payload['is_online'],
288
+ 'is_notifiable' => payload['is_notifiable'],
288
289
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
289
290
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
290
291
  'url' => payload['url'],
@@ -349,11 +350,17 @@ module Twilio
349
350
  end
350
351
 
351
352
  ##
352
- # @return [Boolean] Whether the User is actively connected to the Service instance and online
353
+ # @return [Boolean] Whether the User is actively connected to this Conversations Service and online
353
354
  def is_online
354
355
  @properties['is_online']
355
356
  end
356
357
 
358
+ ##
359
+ # @return [Boolean] Whether the User has a potentially valid Push Notification registration for this Conversations Service
360
+ def is_notifiable
361
+ @properties['is_notifiable']
362
+ end
363
+
357
364
  ##
358
365
  # @return [Time] The ISO 8601 date and time in GMT when the resource was created
359
366
  def date_created
@@ -265,6 +265,7 @@ module Twilio
265
265
  'friendly_name' => payload['friendly_name'],
266
266
  'attributes' => payload['attributes'],
267
267
  'is_online' => payload['is_online'],
268
+ 'is_notifiable' => payload['is_notifiable'],
268
269
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
269
270
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
270
271
  'url' => payload['url'],
@@ -329,11 +330,17 @@ module Twilio
329
330
  end
330
331
 
331
332
  ##
332
- # @return [Boolean] Whether the User is actively connected to the Service instance and online
333
+ # @return [Boolean] Whether the User is actively connected to this Conversations Service and online
333
334
  def is_online
334
335
  @properties['is_online']
335
336
  end
336
337
 
338
+ ##
339
+ # @return [Boolean] Whether the User has a potentially valid Push Notification registration for this Conversations Service
340
+ def is_notifiable
341
+ @properties['is_notifiable']
342
+ end
343
+
337
344
  ##
338
345
  # @return [Time] The ISO 8601 date and time in GMT when the resource was created
339
346
  def date_created
@@ -29,6 +29,8 @@ module Twilio
29
29
  # Lists SubscriptionInstance records from the API as a list.
30
30
  # Unlike stream(), this operation is eager and will load `limit` records into
31
31
  # memory before returning.
32
+ # @param [String] sink_sid The SID of the sink that the list of Subscriptions
33
+ # should be filtered by.
32
34
  # @param [Integer] limit Upper limit for the number of records to return. stream()
33
35
  # guarantees to never return more than limit. Default is no limit
34
36
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -36,14 +38,16 @@ module Twilio
36
38
  # but a limit is defined, stream() will attempt to read the limit with the most
37
39
  # efficient page size, i.e. min(limit, 1000)
38
40
  # @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
+ def list(sink_sid: :unset, limit: nil, page_size: nil)
42
+ self.stream(sink_sid: sink_sid, limit: limit, page_size: page_size).entries
41
43
  end
42
44
 
43
45
  ##
44
46
  # Streams SubscriptionInstance records from the API as an Enumerable.
45
47
  # This operation lazily loads records as efficiently as possible until the limit
46
48
  # is reached.
49
+ # @param [String] sink_sid The SID of the sink that the list of Subscriptions
50
+ # should be filtered by.
47
51
  # @param [Integer] limit Upper limit for the number of records to return. stream()
48
52
  # guarantees to never return more than limit. Default is no limit.
49
53
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -51,10 +55,10 @@ module Twilio
51
55
  # but a limit is defined, stream() will attempt to read the limit with the most
52
56
  # efficient page size, i.e. min(limit, 1000)
53
57
  # @return [Enumerable] Enumerable that will yield up to limit results
54
- def stream(limit: nil, page_size: nil)
58
+ def stream(sink_sid: :unset, limit: nil, page_size: nil)
55
59
  limits = @version.read_limits(limit, page_size)
56
60
 
57
- page = self.page(page_size: limits[:page_size], )
61
+ page = self.page(sink_sid: sink_sid, page_size: limits[:page_size], )
58
62
 
59
63
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
60
64
  end
@@ -76,12 +80,15 @@ module Twilio
76
80
  ##
77
81
  # Retrieve a single page of SubscriptionInstance records from the API.
78
82
  # Request is executed immediately.
83
+ # @param [String] sink_sid The SID of the sink that the list of Subscriptions
84
+ # should be filtered by.
79
85
  # @param [String] page_token PageToken provided by the API
80
86
  # @param [Integer] page_number Page Number, this value is simply for client state
81
87
  # @param [Integer] page_size Number of records to return, defaults to 50
82
88
  # @return [Page] Page of SubscriptionInstance
83
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
89
+ def page(sink_sid: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
84
90
  params = Twilio::Values.of({
91
+ 'SinkSid' => sink_sid,
85
92
  'PageToken' => page_token,
86
93
  'Page' => page_number,
87
94
  'PageSize' => page_size,
@@ -44,7 +44,7 @@ module Twilio
44
44
  end
45
45
 
46
46
  ##
47
- # @param [String] sid The unique string that we created to identify the FlexFlow
47
+ # @param [String] sid The unique string that we created to identify the Flex Flow
48
48
  # resource.
49
49
  # @return [Twilio::REST::Flex_api::V1::FlexFlowInstance] if sid was passed.
50
50
  # @return [Twilio::REST::Flex_api::V1::FlexFlowList]
@@ -42,7 +42,7 @@ module Twilio
42
42
  end
43
43
 
44
44
  ##
45
- # @param [String] sid The SID of the FlexFlow resource to fetch.
45
+ # @param [String] sid The SID of the Flex Flow resource to fetch.
46
46
  # @return [Twilio::REST::Flex_api::V1::FlexFlowContext] if sid was passed.
47
47
  # @return [Twilio::REST::Flex_api::V1::FlexFlowList]
48
48
  def flex_flow(sid=:unset)
@@ -105,7 +105,7 @@ module Twilio
105
105
 
106
106
  ##
107
107
  # Create the ChannelInstance
108
- # @param [String] flex_flow_sid The SID of the FlexFlow.
108
+ # @param [String] flex_flow_sid The SID of the Flex Flow.
109
109
  # @param [String] identity The `identity` value that uniquely identifies the new
110
110
  # resource's chat User.
111
111
  # @param [String] chat_user_friendly_name The chat participant's friendly name.
@@ -114,9 +114,9 @@ module Twilio
114
114
  # of an SMS.
115
115
  # @param [String] chat_unique_name The chat channel's unique name.
116
116
  # @param [String] pre_engagement_data The pre-engagement data.
117
- # @param [String] task_sid The SID of the TaskRouter task. Only valid when
117
+ # @param [String] task_sid The SID of the TaskRouter Task. Only valid when
118
118
  # integration type is `task`. `null` for integration types `studio` & `external`
119
- # @param [String] task_attributes The task attributes to be added for the
119
+ # @param [String] task_attributes The Task attributes to be added for the
120
120
  # TaskRouter Task.
121
121
  # @param [Boolean] long_lived Whether to create the channel as long-lived.
122
122
  # @return [ChannelInstance] Created ChannelInstance
@@ -265,7 +265,7 @@ module Twilio
265
265
  end
266
266
 
267
267
  ##
268
- # @return [String] The SID of the FlexFlow
268
+ # @return [String] The SID of the Flex Flow
269
269
  def flex_flow_sid
270
270
  @properties['flex_flow_sid']
271
271
  end
@@ -283,7 +283,7 @@ module Twilio
283
283
  end
284
284
 
285
285
  ##
286
- # @return [String] The SID of the TaskRouter task
286
+ # @return [String] The SID of the TaskRouter Task
287
287
  def task_sid
288
288
  @properties['task_sid']
289
289
  end
@@ -27,7 +27,7 @@ module Twilio
27
27
  # Lists FlexFlowInstance records from the API as a list.
28
28
  # Unlike stream(), this operation is eager and will load `limit` records into
29
29
  # memory before returning.
30
- # @param [String] friendly_name The `friendly_name` of the FlexFlow resources to
30
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to
31
31
  # read.
32
32
  # @param [Integer] limit Upper limit for the number of records to return. stream()
33
33
  # guarantees to never return more than limit. Default is no limit
@@ -44,7 +44,7 @@ module Twilio
44
44
  # Streams FlexFlowInstance records from the API as an Enumerable.
45
45
  # This operation lazily loads records as efficiently as possible until the limit
46
46
  # is reached.
47
- # @param [String] friendly_name The `friendly_name` of the FlexFlow resources to
47
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to
48
48
  # read.
49
49
  # @param [Integer] limit Upper limit for the number of records to return. stream()
50
50
  # guarantees to never return more than limit. Default is no limit.
@@ -78,7 +78,7 @@ module Twilio
78
78
  ##
79
79
  # Retrieve a single page of FlexFlowInstance records from the API.
80
80
  # Request is executed immediately.
81
- # @param [String] friendly_name The `friendly_name` of the FlexFlow resources to
81
+ # @param [String] friendly_name The `friendly_name` of the Flex Flow resources to
82
82
  # read.
83
83
  # @param [String] page_token PageToken provided by the API
84
84
  # @param [Integer] page_number Page Number, this value is simply for client state
@@ -113,33 +113,36 @@ module Twilio
113
113
  ##
114
114
  # Create the FlexFlowInstance
115
115
  # @param [String] friendly_name A descriptive string that you create to describe
116
- # the FlexFlow resource.
116
+ # the Flex Flow resource.
117
117
  # @param [String] chat_service_sid The SID of the chat service.
118
118
  # @param [flex_flow.ChannelType] channel_type The channel type. Can be: `web`,
119
119
  # `facebook`, `sms`, `whatsapp`, `line` or `custom`.
120
120
  # @param [String] contact_identity The channel contact's Identity.
121
- # @param [Boolean] enabled Whether the new FlexFlow is enabled.
121
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
122
122
  # @param [flex_flow.IntegrationType] integration_type The integration type. Can
123
123
  # be: `studio`, `external`, or `task`.
124
- # @param [String] integration_flow_sid The SID of the Flow when `integration_type`
125
- # is `studio`.
126
- # @param [String] integration_url The External Webhook URL when `integration_type`
127
- # is `external`.
128
- # @param [String] integration_workspace_sid The Workspace SID for a new task for
129
- # Task `integration_type`.
130
- # @param [String] integration_workflow_sid The Workflow SID for a new task when
131
- # `integration_type` is `task`.
132
- # @param [String] integration_channel The task channel for a new task when
133
- # `integration_type` is `task`. The default is `default`.
134
- # @param [String] integration_timeout The task timeout in seconds for a new task
135
- # when `integration_type` is `task`. The default is `86,400` seconds (24 hours).
136
- # @param [String] integration_priority The task priority of a new task when
137
- # `integration_type` is `task`. The default priority is `0`.
138
- # @param [Boolean] integration_creation_on_message Whether to create a task when
139
- # the first message arrives when `integration_type` is `task`. If `false`, the
140
- # task is created with the channel. **Note** that does not apply when channel type
141
- # is `web`. Setting the value to `true` for channel type `web` will result in
142
- # misconfigured Flex Flow and no tasks will be created.
124
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when
125
+ # `integrationType` is `studio`.
126
+ # @param [String] integration_url The URL of the external webhook. Required when
127
+ # `integrationType` is `external`.
128
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task.
129
+ # Required when `integrationType` is `task`.
130
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task.
131
+ # Required when `integrationType` is `task`.
132
+ # @param [String] integration_channel The Task Channel for the TaskRouter Task
133
+ # that will be created. Applicable and required when integrationType is `task`.
134
+ # Set to `sms` for SMS, and to `chat` otherwise. The default value is `default`
135
+ # @param [String] integration_timeout The Task timeout in seconds for a new Task.
136
+ # Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`,
137
+ # not applicable otherwise.
138
+ # @param [String] integration_priority The Task priority of a new Task. The
139
+ # default priority is 0. Optional when `integrationType` is `task`, not applicable
140
+ # otherwise.
141
+ # @param [Boolean] integration_creation_on_message In the context of outbound
142
+ # messaging, defines whether to create a Task immediately (and therefore reserve
143
+ # the conversation to current agent), or delay Task creation until the customer
144
+ # sends the first response. Set to false to create immediately, true to delay Task
145
+ # creation. This setting is only applicable for outbound messaging.
143
146
  # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active
144
147
  # so that it may be used for subsequent interactions with a contact identity.
145
148
  # Defaults to `false`.
@@ -147,8 +150,9 @@ module Twilio
147
150
  # will remove active Proxy sessions if the associated Task is deleted outside of
148
151
  # the Flex UI. Defaults to `false`.
149
152
  # @param [String] integration_retry_count The number of times to retry the webhook
150
- # if the first attempt fails. Can be an integer between 0 and 3, inclusive, and
151
- # the default is 0.
153
+ # if the first attempt fails. Can be an integer between 0 and 3 (included),
154
+ # default is 0. Optional when integrationType is `external`, not applicable
155
+ # otherwise.
152
156
  # @return [FlexFlowInstance] Created FlexFlowInstance
153
157
  def create(friendly_name: nil, chat_service_sid: nil, channel_type: nil, contact_identity: :unset, enabled: :unset, integration_type: :unset, integration_flow_sid: :unset, integration_url: :unset, integration_workspace_sid: :unset, integration_workflow_sid: :unset, integration_channel: :unset, integration_timeout: :unset, integration_priority: :unset, integration_creation_on_message: :unset, long_lived: :unset, janitor_enabled: :unset, integration_retry_count: :unset)
154
158
  data = Twilio::Values.of({
@@ -216,7 +220,7 @@ module Twilio
216
220
  ##
217
221
  # Initialize the FlexFlowContext
218
222
  # @param [Version] version Version that contains the resource
219
- # @param [String] sid The SID of the FlexFlow resource to fetch.
223
+ # @param [String] sid The SID of the Flex Flow resource to fetch.
220
224
  # @return [FlexFlowContext] FlexFlowContext
221
225
  def initialize(version, sid)
222
226
  super(version)
@@ -238,33 +242,36 @@ module Twilio
238
242
  ##
239
243
  # Update the FlexFlowInstance
240
244
  # @param [String] friendly_name A descriptive string that you create to describe
241
- # the FlexFlow resource.
245
+ # the Flex Flow resource.
242
246
  # @param [String] chat_service_sid The SID of the chat service.
243
247
  # @param [flex_flow.ChannelType] channel_type The channel type. Can be: `web`,
244
248
  # `facebook`, `sms`, `whatsapp`, `line` or `custom`.
245
249
  # @param [String] contact_identity The channel contact's Identity.
246
- # @param [Boolean] enabled Whether the FlexFlow is enabled.
250
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
247
251
  # @param [flex_flow.IntegrationType] integration_type The integration type. Can
248
252
  # be: `studio`, `external`, or `task`.
249
- # @param [String] integration_flow_sid The SID of the Flow when `integration_type`
250
- # is `studio`.
251
- # @param [String] integration_url The External Webhook URL when `integration_type`
252
- # is `external`.
253
- # @param [String] integration_workspace_sid The Workspace SID for a new task when
254
- # `integration_type` is `task`.
255
- # @param [String] integration_workflow_sid The Workflow SID for a new task when
256
- # `integration_type` is `task`.
257
- # @param [String] integration_channel The task channel for a new task when
258
- # `integration_type` is `task`. The default is `default`.
259
- # @param [String] integration_timeout The task timeout in seconds for a new task
260
- # when `integration_type` is `task`. The default is `86,400` seconds (24 hours).
261
- # @param [String] integration_priority The task priority of a new task when
262
- # `integration_type` is `task`. The default priority is `0`.
263
- # @param [Boolean] integration_creation_on_message Whether to create a task when
264
- # the first message arrives when `integration_type` is `task`. If `false`, the
265
- # task is created with the channel. **Note** that does not apply when channel type
266
- # is `web`. Setting the value to `true` for channel type `web` will result in
267
- # misconfigured Flex Flow and no tasks will be created.
253
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when
254
+ # `integrationType` is `studio`.
255
+ # @param [String] integration_url The URL of the external webhook. Required when
256
+ # `integrationType` is `external`.
257
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task.
258
+ # Required when `integrationType` is `task`.
259
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task.
260
+ # Required when `integrationType` is `task`.
261
+ # @param [String] integration_channel The Task Channel for the TaskRouter Task
262
+ # that will be created. Applicable and required when integrationType is `task`.
263
+ # Set to `sms` for SMS, and to `chat` otherwise. The default value is `default`
264
+ # @param [String] integration_timeout The Task timeout in seconds for a new Task.
265
+ # Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`,
266
+ # not applicable otherwise.
267
+ # @param [String] integration_priority The Task priority of a new Task. The
268
+ # default priority is 0. Optional when `integrationType` is `task`, not applicable
269
+ # otherwise.
270
+ # @param [Boolean] integration_creation_on_message In the context of outbound
271
+ # messaging, defines whether to create a Task immediately (and therefore reserve
272
+ # the conversation to current agent), or delay Task creation until the customer
273
+ # sends the first response. Set to false to create immediately, true to delay Task
274
+ # creation. This setting is only applicable for outbound messaging.
268
275
  # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active
269
276
  # so that it may be used for subsequent interactions with a contact identity.
270
277
  # Defaults to `false`.
@@ -272,8 +279,9 @@ module Twilio
272
279
  # will remove active Proxy sessions if the associated Task is deleted outside of
273
280
  # the Flex UI. Defaults to `false`.
274
281
  # @param [String] integration_retry_count The number of times to retry the webhook
275
- # if the first attempt fails. Can be an integer between 0 and 3, inclusive, and
276
- # the default is 0.
282
+ # if the first attempt fails. Can be an integer between 0 and 3 (included),
283
+ # default is 0. Optional when integrationType is `external`, not applicable
284
+ # otherwise.
277
285
  # @return [FlexFlowInstance] Updated FlexFlowInstance
278
286
  def update(friendly_name: :unset, chat_service_sid: :unset, channel_type: :unset, contact_identity: :unset, enabled: :unset, integration_type: :unset, integration_flow_sid: :unset, integration_url: :unset, integration_workspace_sid: :unset, integration_workflow_sid: :unset, integration_channel: :unset, integration_timeout: :unset, integration_priority: :unset, integration_creation_on_message: :unset, long_lived: :unset, janitor_enabled: :unset, integration_retry_count: :unset)
279
287
  data = Twilio::Values.of({
@@ -328,7 +336,7 @@ module Twilio
328
336
  # Initialize the FlexFlowInstance
329
337
  # @param [Version] version Version that contains the resource
330
338
  # @param [Hash] payload payload that contains response from Twilio
331
- # @param [String] sid The SID of the FlexFlow resource to fetch.
339
+ # @param [String] sid The SID of the Flex Flow resource to fetch.
332
340
  # @return [FlexFlowInstance] FlexFlowInstance
333
341
  def initialize(version, payload, sid: nil)
334
342
  super(version)
@@ -416,7 +424,7 @@ module Twilio
416
424
  end
417
425
 
418
426
  ##
419
- # @return [Boolean] Whether the FlexFlow is enabled
427
+ # @return [Boolean] Whether the Flex Flow is enabled
420
428
  def enabled
421
429
  @properties['enabled']
422
430
  end
@@ -446,7 +454,7 @@ module Twilio
446
454
  end
447
455
 
448
456
  ##
449
- # @return [String] The absolute URL of the FlexFlow resource
457
+ # @return [String] The absolute URL of the Flex Flow resource
450
458
  def url
451
459
  @properties['url']
452
460
  end
@@ -461,33 +469,36 @@ module Twilio
461
469
  ##
462
470
  # Update the FlexFlowInstance
463
471
  # @param [String] friendly_name A descriptive string that you create to describe
464
- # the FlexFlow resource.
472
+ # the Flex Flow resource.
465
473
  # @param [String] chat_service_sid The SID of the chat service.
466
474
  # @param [flex_flow.ChannelType] channel_type The channel type. Can be: `web`,
467
475
  # `facebook`, `sms`, `whatsapp`, `line` or `custom`.
468
476
  # @param [String] contact_identity The channel contact's Identity.
469
- # @param [Boolean] enabled Whether the FlexFlow is enabled.
477
+ # @param [Boolean] enabled Whether the new Flex Flow is enabled.
470
478
  # @param [flex_flow.IntegrationType] integration_type The integration type. Can
471
479
  # be: `studio`, `external`, or `task`.
472
- # @param [String] integration_flow_sid The SID of the Flow when `integration_type`
473
- # is `studio`.
474
- # @param [String] integration_url The External Webhook URL when `integration_type`
475
- # is `external`.
476
- # @param [String] integration_workspace_sid The Workspace SID for a new task when
477
- # `integration_type` is `task`.
478
- # @param [String] integration_workflow_sid The Workflow SID for a new task when
479
- # `integration_type` is `task`.
480
- # @param [String] integration_channel The task channel for a new task when
481
- # `integration_type` is `task`. The default is `default`.
482
- # @param [String] integration_timeout The task timeout in seconds for a new task
483
- # when `integration_type` is `task`. The default is `86,400` seconds (24 hours).
484
- # @param [String] integration_priority The task priority of a new task when
485
- # `integration_type` is `task`. The default priority is `0`.
486
- # @param [Boolean] integration_creation_on_message Whether to create a task when
487
- # the first message arrives when `integration_type` is `task`. If `false`, the
488
- # task is created with the channel. **Note** that does not apply when channel type
489
- # is `web`. Setting the value to `true` for channel type `web` will result in
490
- # misconfigured Flex Flow and no tasks will be created.
480
+ # @param [String] integration_flow_sid The SID of the Studio Flow. Required when
481
+ # `integrationType` is `studio`.
482
+ # @param [String] integration_url The URL of the external webhook. Required when
483
+ # `integrationType` is `external`.
484
+ # @param [String] integration_workspace_sid The Workspace SID for a new Task.
485
+ # Required when `integrationType` is `task`.
486
+ # @param [String] integration_workflow_sid The Workflow SID for a new Task.
487
+ # Required when `integrationType` is `task`.
488
+ # @param [String] integration_channel The Task Channel for the TaskRouter Task
489
+ # that will be created. Applicable and required when integrationType is `task`.
490
+ # Set to `sms` for SMS, and to `chat` otherwise. The default value is `default`
491
+ # @param [String] integration_timeout The Task timeout in seconds for a new Task.
492
+ # Default is 86,400 seconds (24 hours). Optional when `integrationType` is `task`,
493
+ # not applicable otherwise.
494
+ # @param [String] integration_priority The Task priority of a new Task. The
495
+ # default priority is 0. Optional when `integrationType` is `task`, not applicable
496
+ # otherwise.
497
+ # @param [Boolean] integration_creation_on_message In the context of outbound
498
+ # messaging, defines whether to create a Task immediately (and therefore reserve
499
+ # the conversation to current agent), or delay Task creation until the customer
500
+ # sends the first response. Set to false to create immediately, true to delay Task
501
+ # creation. This setting is only applicable for outbound messaging.
491
502
  # @param [Boolean] long_lived When enabled, Flex will keep the chat channel active
492
503
  # so that it may be used for subsequent interactions with a contact identity.
493
504
  # Defaults to `false`.
@@ -495,8 +506,9 @@ module Twilio
495
506
  # will remove active Proxy sessions if the associated Task is deleted outside of
496
507
  # the Flex UI. Defaults to `false`.
497
508
  # @param [String] integration_retry_count The number of times to retry the webhook
498
- # if the first attempt fails. Can be an integer between 0 and 3, inclusive, and
499
- # the default is 0.
509
+ # if the first attempt fails. Can be an integer between 0 and 3 (included),
510
+ # default is 0. Optional when integrationType is `external`, not applicable
511
+ # otherwise.
500
512
  # @return [FlexFlowInstance] Updated FlexFlowInstance
501
513
  def update(friendly_name: :unset, chat_service_sid: :unset, channel_type: :unset, contact_identity: :unset, enabled: :unset, integration_type: :unset, integration_flow_sid: :unset, integration_url: :unset, integration_workspace_sid: :unset, integration_workflow_sid: :unset, integration_channel: :unset, integration_timeout: :unset, integration_priority: :unset, integration_creation_on_message: :unset, long_lived: :unset, janitor_enabled: :unset, integration_retry_count: :unset)
502
514
  context.update(