Class: Twilio::REST::Insights::V1::CallContext::AnnotationInstance

Inherits:
Twilio::REST::InstanceResource show all
Defined in:
lib/twilio-ruby/rest/insights/v1/call/annotation.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, call_sid: nil) ⇒ AnnotationInstance

Initialize the AnnotationInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • account_sid (String)

    The SID of the Account that created this Annotation resource.

  • sid (String)

    The SID of the Call resource to fetch.



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 169

def initialize(version, payload , call_sid: nil)
    super(version)
    
    # Marshaled Properties
    @properties = { 
        'call_sid' => payload['call_sid'],
        'account_sid' => payload['account_sid'],
        'answered_by' => payload['answered_by'],
        'connectivity_issue' => payload['connectivity_issue'],
        'quality_issues' => payload['quality_issues'],
        'spam' => payload['spam'],
        'call_score' => payload['call_score'] == nil ? payload['call_score'] : payload['call_score'].to_i,
        'comment' => payload['comment'],
        'incident' => payload['incident'],
        'url' => payload['url'],
    }

    # Context
    @instance_context = nil
    @params = { 'call_sid' => call_sid  || @properties['call_sid']  , }
end

Instance Method Details

#account_sidString

Returns The unique SID identifier of the Account.

Returns:

  • (String)

    The unique SID identifier of the Account.



210
211
212
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 210

def 
    @properties['account_sid']
end

#answered_byAnsweredBy

Returns:

  • (AnsweredBy)


216
217
218
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 216

def answered_by
    @properties['answered_by']
end

#call_scoreString

Returns Specifies the Call Score, if available. This is of type integer. Use a range of 1-5 to indicate the call experience score, with the following mapping as a reference for rating the call [5: Excellent, 4: Good, 3 : Fair, 2 : Poor, 1: Bad].

Returns:

  • (String)

    Specifies the Call Score, if available. This is of type integer. Use a range of 1-5 to indicate the call experience score, with the following mapping as a reference for rating the call [5: Excellent, 4: Good, 3 : Fair, 2 : Poor, 1: Bad].



240
241
242
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 240

def call_score
    @properties['call_score']
end

#call_sidString

Returns The unique SID identifier of the Call.

Returns:

  • (String)

    The unique SID identifier of the Call.



204
205
206
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 204

def call_sid
    @properties['call_sid']
end

#commentString

Returns Specifies any comments pertaining to the call. Twilio does not treat this field as PII, so no PII should be included in comments.

Returns:

  • (String)

    Specifies any comments pertaining to the call. Twilio does not treat this field as PII, so no PII should be included in comments.



246
247
248
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 246

def comment
    @properties['comment']
end

#connectivity_issueConnectivityIssue

Returns:

  • (ConnectivityIssue)


222
223
224
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 222

def connectivity_issue
    @properties['connectivity_issue']
end

#contextAnnotationContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



195
196
197
198
199
200
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 195

def context
    unless @instance_context
        @instance_context = AnnotationContext.new(@version , @params['call_sid'])
    end
    @instance_context
end

#fetchAnnotationInstance

Fetch the AnnotationInstance

Returns:



265
266
267
268
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 265

def fetch

    context.fetch
end

#incidentString

Returns Incident or support ticket associated with this call. The ‘incident` property is of type string with a maximum character limit of 100. Twilio does not treat this field as PII, so no PII should be included in `incident`.

Returns:

  • (String)

    Incident or support ticket associated with this call. The ‘incident` property is of type string with a maximum character limit of 100. Twilio does not treat this field as PII, so no PII should be included in `incident`.



252
253
254
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 252

def incident
    @properties['incident']
end

#inspectObject

Provide a detailed, user friendly representation



310
311
312
313
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 310

def inspect
    values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Insights.V1.AnnotationInstance #{values}>"
end

#quality_issuesArray<String>

Returns Specifies if the call had any subjective quality issues. Possible values are one or more of ‘no_quality_issue`, `low_volume`, `choppy_robotic`, `echo`, `dtmf`, `latency`, `owa`, or `static_noise`.

Returns:

  • (Array<String>)

    Specifies if the call had any subjective quality issues. Possible values are one or more of ‘no_quality_issue`, `low_volume`, `choppy_robotic`, `echo`, `dtmf`, `latency`, `owa`, or `static_noise`.



228
229
230
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 228

def quality_issues
    @properties['quality_issues']
end

#spamBoolean

Returns Specifies if the call was a spam call. Use this to provide feedback on whether calls placed from your account were marked as spam, or if inbound calls received by your account were unwanted spam. Is of type Boolean: true, false. Use true if the call was a spam call.

Returns:

  • (Boolean)

    Specifies if the call was a spam call. Use this to provide feedback on whether calls placed from your account were marked as spam, or if inbound calls received by your account were unwanted spam. Is of type Boolean: true, false. Use true if the call was a spam call.



234
235
236
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 234

def spam
    @properties['spam']
end

#to_sObject

Provide a user friendly representation



303
304
305
306
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 303

def to_s
    values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Insights.V1.AnnotationInstance #{values}>"
end

#update(answered_by: :unset, connectivity_issue: :unset, quality_issues: :unset, spam: :unset, call_score: :unset, comment: :unset, incident: :unset) ⇒ AnnotationInstance

Update the AnnotationInstance

Parameters:

  • answered_by (AnsweredBy) (defaults to: :unset)
  • connectivity_issue (ConnectivityIssue) (defaults to: :unset)
  • quality_issues (String) (defaults to: :unset)

    Specify if the call had any subjective quality issues. Possible values, one or more of ‘no_quality_issue`, `low_volume`, `choppy_robotic`, `echo`, `dtmf`, `latency`, `owa`, `static_noise`. Use comma separated values to indicate multiple quality issues for the same call.

  • spam (Boolean) (defaults to: :unset)

    A boolean flag to indicate if the call was a spam call. Use this to provide feedback on whether calls placed from your account were marked as spam, or if inbound calls received by your account were unwanted spam. Use ‘true` if the call was a spam call.

  • call_score (String) (defaults to: :unset)

    Specify the call score. This is of type integer. Use a range of 1-5 to indicate the call experience score, with the following mapping as a reference for rating the call [5: Excellent, 4: Good, 3 : Fair, 2 : Poor, 1: Bad].

  • comment (String) (defaults to: :unset)

    Specify any comments pertaining to the call. ‘comment` has a maximum character limit of 100. Twilio does not treat this field as PII, so no PII should be included in the `comment`.

  • incident (String) (defaults to: :unset)

    Associate this call with an incident or support ticket. The ‘incident` parameter is of type string with a maximum character limit of 100. Twilio does not treat this field as PII, so no PII should be included in `incident`.

Returns:



280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 280

def update(
    answered_by: :unset, 
    connectivity_issue: :unset, 
    quality_issues: :unset, 
    spam: :unset, 
    call_score: :unset, 
    comment: :unset, 
    incident: :unset
)

    context.update(
        answered_by: answered_by, 
        connectivity_issue: connectivity_issue, 
        quality_issues: quality_issues, 
        spam: spam, 
        call_score: call_score, 
        comment: comment, 
        incident: incident, 
    )
end

#urlString

Returns:

  • (String)


258
259
260
# File 'lib/twilio-ruby/rest/insights/v1/call/annotation.rb', line 258

def url
    @properties['url']
end