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.
- checksums.yaml +4 -4
- data/.github/workflows/test-and-deploy.yml +5 -0
- data/CHANGES.md +78 -0
- data/README.md +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +7 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +11 -4
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +27 -7
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
- data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
- data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
- data/lib/twilio-ruby/rest/chat.rb +16 -0
- data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +22 -10
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +7 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +377 -0
- data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
- data/lib/twilio-ruby/rest/flex_api/v1.rb +16 -0
- data/lib/twilio-ruby/rest/flex_api.rb +9 -0
- data/lib/twilio-ruby/rest/insights/v1/annotation.rb +271 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +16 -0
- data/lib/twilio-ruby/rest/insights.rb +8 -0
- data/lib/twilio-ruby/rest/media/v1/media_processor.rb +1 -1
- data/lib/twilio-ruby/rest/media/v1/media_recording.rb +406 -0
- data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +14 -1
- data/lib/twilio-ruby/rest/media/v1.rb +16 -0
- data/lib/twilio-ruby/rest/media.rb +9 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +6 -6
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +7 -0
- data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +3 -55
- data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +9 -9
- data/lib/twilio-ruby/rest/supersim/v1.rb +0 -16
- data/lib/twilio-ruby/rest/supersim.rb +0 -9
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +6 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +4 -2
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +4 -2
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +18 -1
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +22 -4
- data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +7 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +16 -6
- data/lib/twilio-ruby/rest/video/v1/composition.rb +14 -0
- data/lib/twilio-ruby/rest/video/v1/recording.rb +14 -0
- data/lib/twilio-ruby/version.rb +1 -1
- data/lib/twilio-ruby.rb +1 -1
- metadata +10 -3
- 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.
|