twilio-ruby 5.64.0 → 5.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +5 -0
  3. data/CHANGES.md +78 -0
  4. data/README.md +2 -2
  5. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +2 -2
  6. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +7 -0
  7. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +11 -4
  8. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +27 -7
  9. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
  10. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  11. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  12. data/lib/twilio-ruby/rest/chat.rb +16 -0
  13. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +22 -10
  14. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +7 -0
  15. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  16. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  17. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +377 -0
  18. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
  19. data/lib/twilio-ruby/rest/flex_api/v1.rb +16 -0
  20. data/lib/twilio-ruby/rest/flex_api.rb +9 -0
  21. data/lib/twilio-ruby/rest/insights/v1/annotation.rb +271 -0
  22. data/lib/twilio-ruby/rest/insights/v1.rb +16 -0
  23. data/lib/twilio-ruby/rest/insights.rb +8 -0
  24. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +1 -1
  25. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +406 -0
  26. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +14 -1
  27. data/lib/twilio-ruby/rest/media/v1.rb +16 -0
  28. data/lib/twilio-ruby/rest/media.rb +9 -0
  29. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +6 -6
  30. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +7 -0
  31. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +3 -55
  32. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +9 -9
  33. data/lib/twilio-ruby/rest/supersim/v1.rb +0 -16
  34. data/lib/twilio-ruby/rest/supersim.rb +0 -9
  35. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +6 -2
  36. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +4 -2
  37. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +4 -2
  38. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +18 -1
  39. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +22 -4
  40. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +7 -0
  41. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +16 -6
  42. data/lib/twilio-ruby/rest/video/v1/composition.rb +14 -0
  43. data/lib/twilio-ruby/rest/video/v1/recording.rb +14 -0
  44. data/lib/twilio-ruby/version.rb +1 -1
  45. data/lib/twilio-ruby.rb +1 -1
  46. metadata +10 -3
  47. data/lib/twilio-ruby/rest/supersim/v1/command.rb +0 -368
@@ -0,0 +1,48 @@
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 Chat
12
+ class V3 < Version
13
+ ##
14
+ # Initialize the V3 version of Chat
15
+ def initialize(domain)
16
+ super
17
+ @version = 'v3'
18
+ @channels = nil
19
+ end
20
+
21
+ ##
22
+ # @param [String] service_sid The unique SID identifier of the Service.
23
+ # @param [String] sid A 34 character string that uniquely identifies this Channel.
24
+ # @return [Twilio::REST::Chat::V3::ChannelContext] if sid was passed.
25
+ # @return [Twilio::REST::Chat::V3::ChannelList]
26
+ def channels(service_sid=:unset, sid=:unset)
27
+ if service_sid.nil?
28
+ raise ArgumentError, 'service_sid cannot be nil'
29
+ end
30
+ if sid.nil?
31
+ raise ArgumentError, 'sid cannot be nil'
32
+ end
33
+ if service_sid == :unset && sid == :unset
34
+ @channels ||= ChannelList.new self
35
+ else
36
+ ChannelContext.new(self, service_sid, sid)
37
+ end
38
+ end
39
+
40
+ ##
41
+ # Provide a user friendly representation
42
+ def to_s
43
+ '<Twilio::REST::Chat::V3>'
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -21,6 +21,7 @@ module Twilio
21
21
  # Versions
22
22
  @v1 = nil
23
23
  @v2 = nil
24
+ @v3 = nil
24
25
  end
25
26
 
26
27
  ##
@@ -35,6 +36,12 @@ module Twilio
35
36
  @v2 ||= V2.new self
36
37
  end
37
38
 
39
+ ##
40
+ # Version v3 of chat
41
+ def v3
42
+ @v3 ||= V3.new self
43
+ end
44
+
38
45
  ##
39
46
  # @param [String] sid The unique string that we created to identify the Credential
40
47
  # resource.
@@ -53,6 +60,15 @@ module Twilio
53
60
  self.v2.services(sid)
54
61
  end
55
62
 
63
+ ##
64
+ # @param [String] sid The unique string that we created to identify the Channel
65
+ # resource.
66
+ # @return [Twilio::REST::Chat::V3::ChannelInstance] if sid was passed.
67
+ # @return [Twilio::REST::Chat::V3::ChannelList]
68
+ def channels(service_sid=:unset, sid=:unset)
69
+ self.v3.channels(service_sid, sid)
70
+ end
71
+
56
72
  ##
57
73
  # Provide a user friendly representation
58
74
  def to_s
@@ -114,7 +114,7 @@ module Twilio
114
114
  # @param [Boolean] auto_creation_enabled Enable/Disable auto-creating
115
115
  # conversations for messages to this address
116
116
  # @param [address_configuration.AutoCreationType] auto_creation_type Type of Auto
117
- # Creation. Value can be one of `webhook`, `studio`, `default`.
117
+ # Creation. Value can be one of `webhook`, `studio` or `default`.
118
118
  # @param [String] auto_creation_conversation_service_sid Conversation Service for
119
119
  # the auto-created conversation. If not set, the conversation is created in the
120
120
  # default service.
@@ -123,9 +123,13 @@ module Twilio
123
123
  # @param [address_configuration.Method] auto_creation_webhook_method For type
124
124
  # `webhook`, the HTTP method to be used when sending a webhook request.
125
125
  # @param [Array[String]] auto_creation_webhook_filters The list of events, firing
126
- # webhook event for this Conversation.
126
+ # webhook event for this Conversation. Values can be any of the following:
127
+ # `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`,
128
+ # `onConversationUpdated`, `onConversationStateUpdated`, `onConversationRemoved`,
129
+ # `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`,
130
+ # `onDeliveryUpdated`
127
131
  # @param [String] auto_creation_studio_flow_sid For type `studio`, the studio flow
128
- # SID, where the webhook should be sent to.
132
+ # SID where the webhook should be sent to.
129
133
  # @param [String] auto_creation_studio_retry_count For type `studio`, number of
130
134
  # times to retry the webhook request
131
135
  # @return [AddressConfigurationInstance] Created AddressConfigurationInstance
@@ -216,7 +220,7 @@ module Twilio
216
220
  # @param [Boolean] auto_creation_enabled Enable/Disable auto-creating
217
221
  # conversations for messages to this address
218
222
  # @param [address_configuration.AutoCreationType] auto_creation_type Type of Auto
219
- # Creation. Value can be one of `webhook`, `studio`, `default`.
223
+ # Creation. Value can be one of `webhook`, `studio` or `default`.
220
224
  # @param [String] auto_creation_conversation_service_sid Conversation Service for
221
225
  # the auto-created conversation. If not set, the conversation is created in the
222
226
  # default service.
@@ -225,9 +229,13 @@ module Twilio
225
229
  # @param [address_configuration.Method] auto_creation_webhook_method For type
226
230
  # `webhook`, the HTTP method to be used when sending a webhook request.
227
231
  # @param [Array[String]] auto_creation_webhook_filters The list of events, firing
228
- # webhook event for this Conversation.
232
+ # webhook event for this Conversation. Values can be any of the following:
233
+ # `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`,
234
+ # `onConversationUpdated`, `onConversationStateUpdated`, `onConversationRemoved`,
235
+ # `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`,
236
+ # `onDeliveryUpdated`
229
237
  # @param [String] auto_creation_studio_flow_sid For type `studio`, the studio flow
230
- # SID, where the webhook should be sent to.
238
+ # SID where the webhook should be sent to.
231
239
  # @param [String] auto_creation_studio_retry_count For type `studio`, number of
232
240
  # times to retry the webhook request
233
241
  # @return [AddressConfigurationInstance] Updated AddressConfigurationInstance
@@ -324,7 +332,7 @@ module Twilio
324
332
  end
325
333
 
326
334
  ##
327
- # @return [String] Type of Address, value can be `whatsapp` or `sms`.
335
+ # @return [String] Type of Address.
328
336
  def type
329
337
  @properties['type']
330
338
  end
@@ -379,7 +387,7 @@ module Twilio
379
387
  # @param [Boolean] auto_creation_enabled Enable/Disable auto-creating
380
388
  # conversations for messages to this address
381
389
  # @param [address_configuration.AutoCreationType] auto_creation_type Type of Auto
382
- # Creation. Value can be one of `webhook`, `studio`, `default`.
390
+ # Creation. Value can be one of `webhook`, `studio` or `default`.
383
391
  # @param [String] auto_creation_conversation_service_sid Conversation Service for
384
392
  # the auto-created conversation. If not set, the conversation is created in the
385
393
  # default service.
@@ -388,9 +396,13 @@ module Twilio
388
396
  # @param [address_configuration.Method] auto_creation_webhook_method For type
389
397
  # `webhook`, the HTTP method to be used when sending a webhook request.
390
398
  # @param [Array[String]] auto_creation_webhook_filters The list of events, firing
391
- # webhook event for this Conversation.
399
+ # webhook event for this Conversation. Values can be any of the following:
400
+ # `onMessageAdded`, `onMessageUpdated`, `onMessageRemoved`,
401
+ # `onConversationUpdated`, `onConversationStateUpdated`, `onConversationRemoved`,
402
+ # `onParticipantAdded`, `onParticipantUpdated`, `onParticipantRemoved`,
403
+ # `onDeliveryUpdated`
392
404
  # @param [String] auto_creation_studio_flow_sid For type `studio`, the studio flow
393
- # SID, where the webhook should be sent to.
405
+ # SID where the webhook should be sent to.
394
406
  # @param [String] auto_creation_studio_retry_count For type `studio`, number of
395
407
  # times to retry the webhook request
396
408
  # @return [AddressConfigurationInstance] Updated AddressConfigurationInstance
@@ -170,6 +170,7 @@ module Twilio
170
170
  'flex_insights_hr' => payload['flex_insights_hr'],
171
171
  'flex_insights_drilldown' => payload['flex_insights_drilldown'],
172
172
  'flex_url' => payload['flex_url'],
173
+ 'channel_configs' => payload['channel_configs'],
173
174
  }
174
175
 
175
176
  # Context
@@ -440,6 +441,12 @@ module Twilio
440
441
  @properties['flex_url']
441
442
  end
442
443
 
444
+ ##
445
+ # @return [Array[Hash]] Flex Conversations channels' attachments configurations
446
+ def channel_configs
447
+ @properties['channel_configs']
448
+ end
449
+
443
450
  ##
444
451
  # Fetch the ConfigurationInstance
445
452
  # @param [String] ui_version The Pinned UI version of the Configuration resource
@@ -0,0 +1,236 @@
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 FlexApi < Domain
12
+ class V1 < Version
13
+ class InteractionContext < InstanceContext
14
+ class InteractionChannelContext < InstanceContext
15
+ class InteractionChannelInviteList < ListResource
16
+ ##
17
+ # Initialize the InteractionChannelInviteList
18
+ # @param [Version] version Version that contains the resource
19
+ # @param [String] interaction_sid The interaction_sid
20
+ # @param [String] channel_sid The channel_sid
21
+ # @return [InteractionChannelInviteList] InteractionChannelInviteList
22
+ def initialize(version, interaction_sid: nil, channel_sid: nil)
23
+ super(version)
24
+
25
+ # Path Solution
26
+ @solution = {interaction_sid: interaction_sid, channel_sid: channel_sid}
27
+ @uri = "/Interactions/#{@solution[:interaction_sid]}/Channels/#{@solution[:channel_sid]}/Invites"
28
+ end
29
+
30
+ ##
31
+ # Create the InteractionChannelInviteInstance
32
+ # @param [Hash] routing The routing
33
+ # @return [InteractionChannelInviteInstance] Created InteractionChannelInviteInstance
34
+ def create(routing: nil)
35
+ data = Twilio::Values.of({'Routing' => Twilio.serialize_object(routing), })
36
+
37
+ payload = @version.create('POST', @uri, data: data)
38
+
39
+ InteractionChannelInviteInstance.new(
40
+ @version,
41
+ payload,
42
+ interaction_sid: @solution[:interaction_sid],
43
+ channel_sid: @solution[:channel_sid],
44
+ )
45
+ end
46
+
47
+ ##
48
+ # Lists InteractionChannelInviteInstance records from the API as a list.
49
+ # Unlike stream(), this operation is eager and will load `limit` records into
50
+ # memory before returning.
51
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
52
+ # guarantees to never return more than limit. Default is no limit
53
+ # @param [Integer] page_size Number of records to fetch per request, when
54
+ # not set will use the default value of 50 records. If no page_size is defined
55
+ # but a limit is defined, stream() will attempt to read the limit with the most
56
+ # efficient page size, i.e. min(limit, 1000)
57
+ # @return [Array] Array of up to limit results
58
+ def list(limit: nil, page_size: nil)
59
+ self.stream(limit: limit, page_size: page_size).entries
60
+ end
61
+
62
+ ##
63
+ # Streams InteractionChannelInviteInstance records from the API as an Enumerable.
64
+ # This operation lazily loads records as efficiently as possible until the limit
65
+ # is reached.
66
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
67
+ # guarantees to never return more than limit. Default is no limit.
68
+ # @param [Integer] page_size Number of records to fetch per request, when
69
+ # not set will use the default value of 50 records. If no page_size is defined
70
+ # but a limit is defined, stream() will attempt to read the limit with the most
71
+ # efficient page size, i.e. min(limit, 1000)
72
+ # @return [Enumerable] Enumerable that will yield up to limit results
73
+ def stream(limit: nil, page_size: nil)
74
+ limits = @version.read_limits(limit, page_size)
75
+
76
+ page = self.page(page_size: limits[:page_size], )
77
+
78
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
79
+ end
80
+
81
+ ##
82
+ # When passed a block, yields InteractionChannelInviteInstance records from the API.
83
+ # This operation lazily loads records as efficiently as possible until the limit
84
+ # is reached.
85
+ def each
86
+ limits = @version.read_limits
87
+
88
+ page = self.page(page_size: limits[:page_size], )
89
+
90
+ @version.stream(page,
91
+ limit: limits[:limit],
92
+ page_limit: limits[:page_limit]).each {|x| yield x}
93
+ end
94
+
95
+ ##
96
+ # Retrieve a single page of InteractionChannelInviteInstance records from the API.
97
+ # Request is executed immediately.
98
+ # @param [String] page_token PageToken provided by the API
99
+ # @param [Integer] page_number Page Number, this value is simply for client state
100
+ # @param [Integer] page_size Number of records to return, defaults to 50
101
+ # @return [Page] Page of InteractionChannelInviteInstance
102
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
103
+ params = Twilio::Values.of({
104
+ 'PageToken' => page_token,
105
+ 'Page' => page_number,
106
+ 'PageSize' => page_size,
107
+ })
108
+
109
+ response = @version.page('GET', @uri, params: params)
110
+
111
+ InteractionChannelInvitePage.new(@version, response, @solution)
112
+ end
113
+
114
+ ##
115
+ # Retrieve a single page of InteractionChannelInviteInstance records from the API.
116
+ # Request is executed immediately.
117
+ # @param [String] target_url API-generated URL for the requested results page
118
+ # @return [Page] Page of InteractionChannelInviteInstance
119
+ def get_page(target_url)
120
+ response = @version.domain.request(
121
+ 'GET',
122
+ target_url
123
+ )
124
+ InteractionChannelInvitePage.new(@version, response, @solution)
125
+ end
126
+
127
+ ##
128
+ # Provide a user friendly representation
129
+ def to_s
130
+ '#<Twilio.FlexApi.V1.InteractionChannelInviteList>'
131
+ end
132
+ end
133
+
134
+ class InteractionChannelInvitePage < Page
135
+ ##
136
+ # Initialize the InteractionChannelInvitePage
137
+ # @param [Version] version Version that contains the resource
138
+ # @param [Response] response Response from the API
139
+ # @param [Hash] solution Path solution for the resource
140
+ # @return [InteractionChannelInvitePage] InteractionChannelInvitePage
141
+ def initialize(version, response, solution)
142
+ super(version, response)
143
+
144
+ # Path Solution
145
+ @solution = solution
146
+ end
147
+
148
+ ##
149
+ # Build an instance of InteractionChannelInviteInstance
150
+ # @param [Hash] payload Payload response from the API
151
+ # @return [InteractionChannelInviteInstance] InteractionChannelInviteInstance
152
+ def get_instance(payload)
153
+ InteractionChannelInviteInstance.new(
154
+ @version,
155
+ payload,
156
+ interaction_sid: @solution[:interaction_sid],
157
+ channel_sid: @solution[:channel_sid],
158
+ )
159
+ end
160
+
161
+ ##
162
+ # Provide a user friendly representation
163
+ def to_s
164
+ '<Twilio.FlexApi.V1.InteractionChannelInvitePage>'
165
+ end
166
+ end
167
+
168
+ class InteractionChannelInviteInstance < InstanceResource
169
+ ##
170
+ # Initialize the InteractionChannelInviteInstance
171
+ # @param [Version] version Version that contains the resource
172
+ # @param [Hash] payload payload that contains response from Twilio
173
+ # @param [String] interaction_sid The interaction_sid
174
+ # @param [String] channel_sid The channel_sid
175
+ # @return [InteractionChannelInviteInstance] InteractionChannelInviteInstance
176
+ def initialize(version, payload, interaction_sid: nil, channel_sid: nil)
177
+ super(version)
178
+
179
+ # Marshaled Properties
180
+ @properties = {
181
+ 'sid' => payload['sid'],
182
+ 'interaction_sid' => payload['interaction_sid'],
183
+ 'channel_sid' => payload['channel_sid'],
184
+ 'routing' => payload['routing'],
185
+ 'url' => payload['url'],
186
+ }
187
+ end
188
+
189
+ ##
190
+ # @return [String] The sid
191
+ def sid
192
+ @properties['sid']
193
+ end
194
+
195
+ ##
196
+ # @return [String] The interaction_sid
197
+ def interaction_sid
198
+ @properties['interaction_sid']
199
+ end
200
+
201
+ ##
202
+ # @return [String] The channel_sid
203
+ def channel_sid
204
+ @properties['channel_sid']
205
+ end
206
+
207
+ ##
208
+ # @return [Hash] The routing
209
+ def routing
210
+ @properties['routing']
211
+ end
212
+
213
+ ##
214
+ # @return [String] The url
215
+ def url
216
+ @properties['url']
217
+ end
218
+
219
+ ##
220
+ # Provide a user friendly representation
221
+ def to_s
222
+ "<Twilio.FlexApi.V1.InteractionChannelInviteInstance>"
223
+ end
224
+
225
+ ##
226
+ # Provide a detailed, user friendly representation
227
+ def inspect
228
+ "<Twilio.FlexApi.V1.InteractionChannelInviteInstance>"
229
+ end
230
+ end
231
+ end
232
+ end
233
+ end
234
+ end
235
+ end
236
+ end