Class: Twilio::REST::FlexApi::V1::FlexFlowContext

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

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ FlexFlowContext

Initialize the FlexFlowContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    The unique ID of the FlexFlow



212
213
214
215
216
217
218
# File 'lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb', line 212

def initialize(version, sid)
  super(version)

  # Path Solution
  @solution = {sid: sid, }
  @uri = "/FlexFlows/#{@solution[:sid]}"
end

Instance Method Details

#deleteBoolean

Deletes the FlexFlowInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



295
296
297
# File 'lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb', line 295

def delete
  @version.delete('delete', @uri)
end

#fetchFlexFlowInstance

Fetch a FlexFlowInstance

Returns:



223
224
225
226
227
228
229
230
231
232
233
# File 'lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb', line 223

def fetch
  params = Twilio::Values.of({})

  payload = @version.fetch(
      'GET',
      @uri,
      params,
  )

  FlexFlowInstance.new(@version, payload, sid: @solution[:sid], )
end

#inspectObject

Provide a detailed, user friendly representation



308
309
310
311
# File 'lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb', line 308

def inspect
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
  "#<Twilio.FlexApi.V1.FlexFlowContext #{context}>"
end

#to_sObject

Provide a user friendly representation



301
302
303
304
# File 'lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb', line 301

def to_s
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
  "#<Twilio.FlexApi.V1.FlexFlowContext #{context}>"
end

#update(friendly_name: :unset, chat_service_sid: :unset, channel_type: :unset, contact_identity: :unset, enabled: :unset, integration_type: :unset, integration_flow_sid: :unset, integration_url: :unset, integration_workspace_sid: :unset, integration_workflow_sid: :unset, integration_channel: :unset, integration_timeout: :unset, integration_priority: :unset, integration_creation_on_message: :unset, long_lived: :unset) ⇒ FlexFlowInstance

Update the FlexFlowInstance

Parameters:

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

    Human readable description of this FlexFlow

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

    The unique SID identifier of the chat service

  • channel_type (flex_flow.ChannelType) (defaults to: :unset)

    Channel type (web | facebook | sms)

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

    Channel contact Identity (number / contact)

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

    Boolean flag for enabling or disabling the FlexFlow

  • integration_type (flex_flow.IntegrationType) (defaults to: :unset)

    Integration type (studio | external | task)

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

    The unique SID identifier of the Flow for Studio integration type

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

    External Webhook Url for External integration type

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

    Workspace Sid for a new task for Task integration type

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

    Workflow Sid for a new task for Task integration type

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

    Task Channel for a new task for Task integration type (default is ‘default’)

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

    Task timeout in seconds for a new task for Task integration type (default 86400)

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

    Task priority for a new task for Task integration type (default 0)

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

    Flag for task creation, either creating task with the channel, or if true create task whwn first message arrives (for Task integration type)

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

    Default Flag defining whether the new channels created are long lived or not

Returns:



264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
# File 'lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb', line 264

def update(friendly_name: :unset, chat_service_sid: :unset, channel_type: :unset, contact_identity: :unset, enabled: :unset, integration_type: :unset, integration_flow_sid: :unset, integration_url: :unset, integration_workspace_sid: :unset, integration_workflow_sid: :unset, integration_channel: :unset, integration_timeout: :unset, integration_priority: :unset, integration_creation_on_message: :unset, long_lived: :unset)
  data = Twilio::Values.of({
      'FriendlyName' => friendly_name,
      'ChatServiceSid' => chat_service_sid,
      'ChannelType' => channel_type,
      'ContactIdentity' => contact_identity,
      'Enabled' => enabled,
      'IntegrationType' => integration_type,
      'Integration.FlowSid' => integration_flow_sid,
      'Integration.Url' => integration_url,
      'Integration.WorkspaceSid' => integration_workspace_sid,
      'Integration.WorkflowSid' => integration_workflow_sid,
      'Integration.Channel' => integration_channel,
      'Integration.Timeout' => integration_timeout,
      'Integration.Priority' => integration_priority,
      'Integration.CreationOnMessage' => integration_creation_on_message,
      'LongLived' => long_lived,
  })

  payload = @version.update(
      'POST',
      @uri,
      data: data,
  )

  FlexFlowInstance.new(@version, payload, sid: @solution[:sid], )
end