twilio-ruby 5.64.0 → 5.66.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.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