twilio-ruby 5.65.0 → 5.66.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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pr-lint.yml +15 -0
  3. data/.github/workflows/test-and-deploy.yml +5 -0
  4. data/CHANGES.md +64 -0
  5. data/README.md +2 -4
  6. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +2 -2
  7. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +4 -4
  8. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +0 -7
  9. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +27 -7
  10. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
  11. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  12. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  13. data/lib/twilio-ruby/rest/chat.rb +16 -0
  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/supporting_document.rb +7 -0
  30. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +3 -55
  31. data/lib/twilio-ruby/rest/supersim/v1.rb +0 -16
  32. data/lib/twilio-ruby/rest/supersim.rb +0 -9
  33. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +6 -2
  34. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +4 -2
  35. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +4 -2
  36. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +18 -1
  37. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +22 -4
  38. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +2 -1
  39. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  40. data/lib/twilio-ruby/rest/verify/v2.rb +7 -0
  41. data/lib/twilio-ruby/rest/verify.rb +6 -0
  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 +12 -3
  47. data/lib/twilio-ruby/rest/supersim/v1/command.rb +0 -368
@@ -0,0 +1,271 @@
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 Insights < Domain
12
+ class V1 < Version
13
+ class AnnotationList < ListResource
14
+ ##
15
+ # Initialize the AnnotationList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [AnnotationList] AnnotationList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ end
24
+
25
+ ##
26
+ # Provide a user friendly representation
27
+ def to_s
28
+ '#<Twilio.Insights.V1.AnnotationList>'
29
+ end
30
+ end
31
+
32
+ class AnnotationPage < Page
33
+ ##
34
+ # Initialize the AnnotationPage
35
+ # @param [Version] version Version that contains the resource
36
+ # @param [Response] response Response from the API
37
+ # @param [Hash] solution Path solution for the resource
38
+ # @return [AnnotationPage] AnnotationPage
39
+ def initialize(version, response, solution)
40
+ super(version, response)
41
+
42
+ # Path Solution
43
+ @solution = solution
44
+ end
45
+
46
+ ##
47
+ # Build an instance of AnnotationInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [AnnotationInstance] AnnotationInstance
50
+ def get_instance(payload)
51
+ AnnotationInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.Insights.V1.AnnotationPage>'
58
+ end
59
+ end
60
+
61
+ class AnnotationContext < InstanceContext
62
+ ##
63
+ # Initialize the AnnotationContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @param [String] call_sid The call_sid
66
+ # @return [AnnotationContext] AnnotationContext
67
+ def initialize(version, call_sid)
68
+ super(version)
69
+
70
+ # Path Solution
71
+ @solution = {call_sid: call_sid, }
72
+ @uri = "/Voice/#{@solution[:call_sid]}/Annotation"
73
+ end
74
+
75
+ ##
76
+ # Update the AnnotationInstance
77
+ # @param [annotation.AnsweredBy] answered_by The answered_by
78
+ # @param [annotation.ConnectivityIssue] connectivity_issue The connectivity_issue
79
+ # @param [String] quality_issues The quality_issues
80
+ # @param [Boolean] spam The spam
81
+ # @param [String] call_score The call_score
82
+ # @param [String] comment The comment
83
+ # @param [String] incident The incident
84
+ # @return [AnnotationInstance] Updated AnnotationInstance
85
+ def update(answered_by: :unset, connectivity_issue: :unset, quality_issues: :unset, spam: :unset, call_score: :unset, comment: :unset, incident: :unset)
86
+ data = Twilio::Values.of({
87
+ 'AnsweredBy' => answered_by,
88
+ 'ConnectivityIssue' => connectivity_issue,
89
+ 'QualityIssues' => quality_issues,
90
+ 'Spam' => spam,
91
+ 'CallScore' => call_score,
92
+ 'Comment' => comment,
93
+ 'Incident' => incident,
94
+ })
95
+
96
+ payload = @version.update('POST', @uri, data: data)
97
+
98
+ AnnotationInstance.new(@version, payload, call_sid: @solution[:call_sid], )
99
+ end
100
+
101
+ ##
102
+ # Fetch the AnnotationInstance
103
+ # @return [AnnotationInstance] Fetched AnnotationInstance
104
+ def fetch
105
+ payload = @version.fetch('GET', @uri)
106
+
107
+ AnnotationInstance.new(@version, payload, call_sid: @solution[:call_sid], )
108
+ end
109
+
110
+ ##
111
+ # Provide a user friendly representation
112
+ def to_s
113
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
114
+ "#<Twilio.Insights.V1.AnnotationContext #{context}>"
115
+ end
116
+
117
+ ##
118
+ # Provide a detailed, user friendly representation
119
+ def inspect
120
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
121
+ "#<Twilio.Insights.V1.AnnotationContext #{context}>"
122
+ end
123
+ end
124
+
125
+ class AnnotationInstance < InstanceResource
126
+ ##
127
+ # Initialize the AnnotationInstance
128
+ # @param [Version] version Version that contains the resource
129
+ # @param [Hash] payload payload that contains response from Twilio
130
+ # @param [String] call_sid The call_sid
131
+ # @return [AnnotationInstance] AnnotationInstance
132
+ def initialize(version, payload, call_sid: nil)
133
+ super(version)
134
+
135
+ # Marshaled Properties
136
+ @properties = {
137
+ 'call_sid' => payload['call_sid'],
138
+ 'account_sid' => payload['account_sid'],
139
+ 'answered_by' => payload['answered_by'],
140
+ 'connectivity_issue' => payload['connectivity_issue'],
141
+ 'quality_issues' => payload['quality_issues'],
142
+ 'spam' => payload['spam'],
143
+ 'call_score' => payload['call_score'] == nil ? payload['call_score'] : payload['call_score'].to_i,
144
+ 'comment' => payload['comment'],
145
+ 'incident' => payload['incident'],
146
+ 'url' => payload['url'],
147
+ }
148
+
149
+ # Context
150
+ @instance_context = nil
151
+ @params = {'call_sid' => call_sid || @properties['call_sid'], }
152
+ end
153
+
154
+ ##
155
+ # Generate an instance context for the instance, the context is capable of
156
+ # performing various actions. All instance actions are proxied to the context
157
+ # @return [AnnotationContext] AnnotationContext for this AnnotationInstance
158
+ def context
159
+ unless @instance_context
160
+ @instance_context = AnnotationContext.new(@version, @params['call_sid'], )
161
+ end
162
+ @instance_context
163
+ end
164
+
165
+ ##
166
+ # @return [String] The call_sid
167
+ def call_sid
168
+ @properties['call_sid']
169
+ end
170
+
171
+ ##
172
+ # @return [String] The account_sid
173
+ def account_sid
174
+ @properties['account_sid']
175
+ end
176
+
177
+ ##
178
+ # @return [annotation.AnsweredBy] The answered_by
179
+ def answered_by
180
+ @properties['answered_by']
181
+ end
182
+
183
+ ##
184
+ # @return [annotation.ConnectivityIssue] The connectivity_issue
185
+ def connectivity_issue
186
+ @properties['connectivity_issue']
187
+ end
188
+
189
+ ##
190
+ # @return [Array[String]] The quality_issues
191
+ def quality_issues
192
+ @properties['quality_issues']
193
+ end
194
+
195
+ ##
196
+ # @return [Boolean] The spam
197
+ def spam
198
+ @properties['spam']
199
+ end
200
+
201
+ ##
202
+ # @return [String] The call_score
203
+ def call_score
204
+ @properties['call_score']
205
+ end
206
+
207
+ ##
208
+ # @return [String] The comment
209
+ def comment
210
+ @properties['comment']
211
+ end
212
+
213
+ ##
214
+ # @return [String] The incident
215
+ def incident
216
+ @properties['incident']
217
+ end
218
+
219
+ ##
220
+ # @return [String] The url
221
+ def url
222
+ @properties['url']
223
+ end
224
+
225
+ ##
226
+ # Update the AnnotationInstance
227
+ # @param [annotation.AnsweredBy] answered_by The answered_by
228
+ # @param [annotation.ConnectivityIssue] connectivity_issue The connectivity_issue
229
+ # @param [String] quality_issues The quality_issues
230
+ # @param [Boolean] spam The spam
231
+ # @param [String] call_score The call_score
232
+ # @param [String] comment The comment
233
+ # @param [String] incident The incident
234
+ # @return [AnnotationInstance] Updated AnnotationInstance
235
+ def update(answered_by: :unset, connectivity_issue: :unset, quality_issues: :unset, spam: :unset, call_score: :unset, comment: :unset, incident: :unset)
236
+ context.update(
237
+ answered_by: answered_by,
238
+ connectivity_issue: connectivity_issue,
239
+ quality_issues: quality_issues,
240
+ spam: spam,
241
+ call_score: call_score,
242
+ comment: comment,
243
+ incident: incident,
244
+ )
245
+ end
246
+
247
+ ##
248
+ # Fetch the AnnotationInstance
249
+ # @return [AnnotationInstance] Fetched AnnotationInstance
250
+ def fetch
251
+ context.fetch
252
+ end
253
+
254
+ ##
255
+ # Provide a user friendly representation
256
+ def to_s
257
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
258
+ "<Twilio.Insights.V1.AnnotationInstance #{values}>"
259
+ end
260
+
261
+ ##
262
+ # Provide a detailed, user friendly representation
263
+ def inspect
264
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
265
+ "<Twilio.Insights.V1.AnnotationInstance #{values}>"
266
+ end
267
+ end
268
+ end
269
+ end
270
+ end
271
+ end
@@ -16,6 +16,7 @@ module Twilio
16
16
  super
17
17
  @version = 'v1'
18
18
  @settings = nil
19
+ @annotation = nil
19
20
  @calls = nil
20
21
  @call_summaries = nil
21
22
  @conferences = nil
@@ -28,6 +29,21 @@ module Twilio
28
29
  @settings ||= SettingContext.new self
29
30
  end
30
31
 
32
+ ##
33
+ # @param [String] call_sid The call_sid
34
+ # @return [Twilio::REST::Insights::V1::AnnotationContext] if call_sid was passed.
35
+ # @return [Twilio::REST::Insights::V1::AnnotationList]
36
+ def annotation(call_sid=:unset)
37
+ if call_sid.nil?
38
+ raise ArgumentError, 'call_sid cannot be nil'
39
+ end
40
+ if call_sid == :unset
41
+ @annotation ||= AnnotationList.new self
42
+ else
43
+ AnnotationContext.new(self, call_sid)
44
+ end
45
+ end
46
+
31
47
  ##
32
48
  # @param [String] sid The sid
33
49
  # @return [Twilio::REST::Insights::V1::CallContext] if sid was passed.
@@ -34,6 +34,14 @@ module Twilio
34
34
  self.v1.settings()
35
35
  end
36
36
 
37
+ ##
38
+ # @param [String] call_sid The call_sid
39
+ # @return [Twilio::REST::Insights::V1::AnnotationInstance] if call_sid was passed.
40
+ # @return [Twilio::REST::Insights::V1::AnnotationList]
41
+ def annotation(call_sid=:unset)
42
+ self.v1.annotation(call_sid)
43
+ end
44
+
37
45
  ##
38
46
  # @param [String] sid The sid
39
47
  # @return [Twilio::REST::Insights::V1::CallInstance] if sid was passed.
@@ -356,7 +356,7 @@ module Twilio
356
356
  end
357
357
 
358
358
  ##
359
- # @return [String] Maximum MediaProcessor duration in minutes
359
+ # @return [String] Maximum MediaProcessor duration in seconds
360
360
  def max_duration
361
361
  @properties['max_duration']
362
362
  end