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.



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 169

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'],
    }

    # 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:



206
207
208
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 206

def channel
    @properties['channel']
end

#channelschannels

Access the channels

Returns:



245
246
247
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 245

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:



191
192
193
194
195
196
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 191

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

#fetchInteractionInstance

Fetch the InteractionInstance

Returns:



237
238
239
240
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 237

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



258
259
260
261
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 258

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

#interaction_context_sidString

Returns:

  • (String)


230
231
232
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 230

def interaction_context_sid
    @properties['interaction_context_sid']
end

Returns:

  • (Hash)


224
225
226
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 224

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:



212
213
214
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 212

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.



200
201
202
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 200

def sid
    @properties['sid']
end

#to_sObject

Provide a user friendly representation



251
252
253
254
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 251

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

#urlString

Returns:

  • (String)


218
219
220
# File 'lib/twilio-ruby/rest/flex_api/v1/interaction.rb', line 218

def url
    @properties['url']
end