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.



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

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.



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

def 
    @properties['account_sid']
end

#answered_byAnsweredBy

Returns:

  • (AnsweredBy)


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

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].



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

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.



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

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.



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

def comment
    @properties['comment']
end

#connectivity_issueConnectivityIssue

Returns:

  • (ConnectivityIssue)


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

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:



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

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

#fetchAnnotationInstance

Fetch the AnnotationInstance

Returns:



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

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`.



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

def incident
    @properties['incident']
end

#inspectObject

Provide a detailed, user friendly representation



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

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`.



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

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.



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

def spam
    @properties['spam']
end

#to_sObject

Provide a user friendly representation



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

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:



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

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)


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

def url
    @properties['url']
end