Class: Twilio::REST::Conversations::V1::ConversationInstance

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

Overview

PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.

Instance Method Summary collapse

Constructor Details

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

Initialize the ConversationInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • sid (String) (defaults to: nil)

    A 34 character string that uniquely identifies this resource.



347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 347

def initialize(version, payload, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'account_sid' => payload['account_sid'],
      'chat_service_sid' => payload['chat_service_sid'],
      'messaging_service_sid' => payload['messaging_service_sid'],
      'sid' => payload['sid'],
      'friendly_name' => payload['friendly_name'],
      'attributes' => payload['attributes'],
      'state' => payload['state'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'timers' => payload['timers'],
      'url' => payload['url'],
      'links' => payload['links'],
  }

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

Instance Method Details

#account_sidString

Returns The unique id of the Account responsible for this conversation.

Returns:

  • (String)

    The unique id of the Account responsible for this conversation.



384
385
386
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 384

def 
  @properties['account_sid']
end

#attributesString

Returns An optional string metadata field you can use to store any data you wish.

Returns:

  • (String)

    An optional string metadata field you can use to store any data you wish.



414
415
416
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 414

def attributes
  @properties['attributes']
end

#chat_service_sidString

Returns The unique id of the Chat Service this conversation belongs to.

Returns:

  • (String)

    The unique id of the Chat Service this conversation belongs to.



390
391
392
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 390

def chat_service_sid
  @properties['chat_service_sid']
end

#contextConversationContext

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

Returns:



375
376
377
378
379
380
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 375

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

#date_createdTime

Returns The date that this resource was created.

Returns:

  • (Time)

    The date that this resource was created.



426
427
428
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 426

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date that this resource was last updated.

Returns:

  • (Time)

    The date that this resource was last updated.



432
433
434
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 432

def date_updated
  @properties['date_updated']
end

#delete(x_twilio_webhook_enabled: :unset) ⇒ Boolean

Delete the ConversationInstance

Parameters:

  • x_twilio_webhook_enabled (conversation.WebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise



495
496
497
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 495

def delete(x_twilio_webhook_enabled: :unset)
  context.delete(x_twilio_webhook_enabled: x_twilio_webhook_enabled, )
end

#fetchConversationInstance

Fetch the ConversationInstance

Returns:



502
503
504
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 502

def fetch
  context.fetch
end

#friendly_nameString

Returns The human-readable name of this conversation.

Returns:

  • (String)

    The human-readable name of this conversation.



408
409
410
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 408

def friendly_name
  @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation



536
537
538
539
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 536

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

Returns Absolute URLs to access the Participants of this Conversation.

Returns:

  • (String)

    Absolute URLs to access the Participants of this Conversation.



450
451
452
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 450

def links
  @properties['links']
end

#messagesmessages

Access the messages

Returns:



516
517
518
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 516

def messages
  context.messages
end

#messaging_service_sidString

Returns The unique id of the SMS Service this conversation belongs to.

Returns:

  • (String)

    The unique id of the SMS Service this conversation belongs to.



396
397
398
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 396

def messaging_service_sid
  @properties['messaging_service_sid']
end

#participantsparticipants

Access the participants

Returns:



509
510
511
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 509

def participants
  context.participants
end

#sidString

Returns A 34 character string that uniquely identifies this resource.

Returns:

  • (String)

    A 34 character string that uniquely identifies this resource.



402
403
404
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 402

def sid
  @properties['sid']
end

#stateconversation.State

Returns Current state of this conversation.

Returns:

  • (conversation.State)

    Current state of this conversation.



420
421
422
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 420

def state
  @properties['state']
end

#timersHash

Returns Timer date values for this conversation.

Returns:

  • (Hash)

    Timer date values for this conversation.



438
439
440
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 438

def timers
  @properties['timers']
end

#to_sObject

Provide a user friendly representation



529
530
531
532
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 529

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

#update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, x_twilio_webhook_enabled: :unset) ⇒ ConversationInstance

Update the ConversationInstance

Parameters:

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

    The human-readable name of this conversation, limited to 256 characters. Optional.

  • date_created (Time) (defaults to: :unset)

    The date that this resource was created.

  • date_updated (Time) (defaults to: :unset)

    The date that this resource was last updated.

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

    An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. Note that if the attributes are not set “{}” will be returned.

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

    The unique id of the [SMS Service](www.twilio.com/docs/sms/services/api) this conversation belongs to.

  • state (conversation.State) (defaults to: :unset)

    Current state of this conversation. Can be either ‘active`, `inactive` or `closed` and defaults to `active`

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

    ISO8601 duration when conversation will be switched to ‘inactive` state. Minimum value for this timer is 1 minute.

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

    ISO8601 duration when conversation will be switched to ‘closed` state. Minimum value for this timer is 10 minutes.

  • x_twilio_webhook_enabled (conversation.WebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:



476
477
478
479
480
481
482
483
484
485
486
487
488
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 476

def update(friendly_name: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, messaging_service_sid: :unset, state: :unset, timers_inactive: :unset, timers_closed: :unset, x_twilio_webhook_enabled: :unset)
  context.update(
      friendly_name: friendly_name,
      date_created: date_created,
      date_updated: date_updated,
      attributes: attributes,
      messaging_service_sid: messaging_service_sid,
      state: state,
      timers_inactive: timers_inactive,
      timers_closed: timers_closed,
      x_twilio_webhook_enabled: x_twilio_webhook_enabled,
  )
end

#urlString

Returns An absolute URL for this conversation.

Returns:

  • (String)

    An absolute URL for this conversation.



444
445
446
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 444

def url
  @properties['url']
end

#webhookswebhooks

Access the webhooks

Returns:



523
524
525
# File 'lib/twilio-ruby/rest/conversations/v1/conversation.rb', line 523

def webhooks
  context.webhooks
end