Class: Twilio::REST::FlexApi::V1::InteractionInstance

Inherits:
InstanceResource show all
Defined in:
lib/twilio-ruby/rest/flex_api/v1/interaction.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, sid: nil) ⇒ InteractionInstance

Initialize the InteractionInstance

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 Interaction resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 418

def initialize(version, payload , sid: nil)
    super(version)
    
    
    # Marshaled Properties
    @properties = { 
        'sid' => payload['sid'],
        'channel' => payload['channel'],
        'routing' => payload['routing'],
        'url' => payload['url'],
        'links' => payload['links'],
        'interaction_context_sid' => payload['interaction_context_sid'],
        'webhook_ttid' => payload['webhook_ttid'],
    }

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

Instance Method Details

#channelHash

Returns A JSON object that defines the Interaction’s communication channel and includes details about the channel. See the [Outbound SMS](www.twilio.com/docs/flex/developer/conversations/interactions-api/interactions#agent-initiated-outbound-interactions) and [inbound (API-initiated)](www.twilio.com/docs/flex/developer/conversations/interactions-api/interactions#api-initiated-contact) Channel object examples.

Returns:



457
458
459
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 457

def channel
    @properties['channel']
end

#channelschannels

Access the channels

Returns:



515
516
517
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 515

def channels
    context.channels
end

#contextInteractionContext

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

Returns:



442
443
444
445
446
447
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 442

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

#fetchInteractionInstance

Fetch the InteractionInstance

Returns:



494
495
496
497
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 494

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



528
529
530
531
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 528

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

#interaction_context_sidString

Returns:

  • (String)


481
482
483
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 481

def interaction_context_sid
    @properties['interaction_context_sid']
end

Returns:

  • (Hash)


475
476
477
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 475

def links
    @properties['links']
end

#routingHash

Returns A JSON Object representing the routing rules for the Interaction Channel. See [Outbound SMS Example](www.twilio.com/docs/flex/developer/conversations/interactions-api/interactions#agent-initiated-outbound-interactions) for an example Routing object. The Interactions resource uses TaskRouter for all routing functionality. All attributes in the Routing object on your Interaction request body are added “as is” to the task. For a list of known attributes consumed by the Flex UI and/or Flex Insights, see [Known Task Attributes](www.twilio.com/docs/flex/developer/conversations/interactions-api#task-attributes).

Returns:



463
464
465
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 463

def routing
    @properties['routing']
end

#sidString

Returns The unique string created by Twilio to identify an Interaction resource, prefixed with KD.

Returns:

  • (String)

    The unique string created by Twilio to identify an Interaction resource, prefixed with KD.



451
452
453
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 451

def sid
    @properties['sid']
end

#to_sObject

Provide a user friendly representation



521
522
523
524
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 521

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

#update(webhook_ttid: :unset) ⇒ InteractionInstance

Update the InteractionInstance

Parameters:

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

    The unique identifier for Interaction level webhook

Returns:



503
504
505
506
507
508
509
510
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 503

def update(
    webhook_ttid: :unset
)

    context.update(
        webhook_ttid: webhook_ttid, 
    )
end

#urlString

Returns:

  • (String)


469
470
471
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 469

def url
    @properties['url']
end

#webhook_ttidString

Returns:

  • (String)


487
488
489
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 487

def webhook_ttid
    @properties['webhook_ttid']
end