twilio-ruby 5.65.0 → 5.66.1

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/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