Class: Twilio::REST::Conversations::V2::CommunicationInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/conversations/v2/communication.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, conversation_sid: nil, sid: nil) ⇒ CommunicationInstance

Initialize the CommunicationInstance

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

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 570

def initialize(version, payload , conversation_sid: nil, sid: nil)
    
    apiV1Version = ApiV1Version.new version.domain, version
    super(apiV1Version)
    
    # Marshaled Properties
    @properties = { 
        'id' => payload['id'],
        'conversation_id' => payload['conversation_id'],
        'account_id' => payload['account_id'],
        'author' => payload['author'],
        'content' => payload['content'],
        'channel_id' => payload['channel_id'],
        'resource_id' => payload['resource_id'],
        'recipients' => payload['recipients'],
        'created_at' => Twilio.deserialize_iso8601_datetime(payload['created_at']),
        'updated_at' => Twilio.deserialize_iso8601_datetime(payload['updated_at']),
        'occurred_at' => Twilio.deserialize_iso8601_datetime(payload['occurred_at']),
    }

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

Instance Method Details

#account_idString

Returns Account ID.

Returns:

  • (String)

    Account ID.



620
621
622
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 620

def 
    @properties['account_id']
end

#authorConversationsV2ParticipantAddress

Returns:

  • (ConversationsV2ParticipantAddress)


626
627
628
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 626

def author
    @properties['author']
end

#channel_idString

Returns Channel-specific reference ID.

Returns:

  • (String)

    Channel-specific reference ID.



638
639
640
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 638

def channel_id
    @properties['channel_id']
end

#contentListCommunicationByConversation200ResponseCommunicationsContent

Returns:

  • (ListCommunicationByConversation200ResponseCommunicationsContent)


632
633
634
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 632

def content
    @properties['content']
end

#contextCommunicationContext

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

Returns:



599
600
601
602
603
604
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 599

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

#conversation_idString

Returns Conversation ID.

Returns:

  • (String)

    Conversation ID.



614
615
616
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 614

def conversation_id
    @properties['conversation_id']
end

#created_atTime

Returns Timestamp when this Communication was created.

Returns:

  • (Time)

    Timestamp when this Communication was created.



656
657
658
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 656

def created_at
    @properties['created_at']
end

#fetchCommunicationInstance

Fetch the CommunicationInstance

Returns:



675
676
677
678
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 675

def fetch

    context.fetch
end

#idString

Returns Communication ID.

Returns:

  • (String)

    Communication ID.



608
609
610
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 608

def id
    @properties['id']
end

#inspectObject

Provide a detailed, user friendly representation



689
690
691
692
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 689

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

#occurred_atTime

Returns ISO 8601 timestamp when the communication occurred.

Returns:

  • (Time)

    ISO 8601 timestamp when the communication occurred.



668
669
670
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 668

def occurred_at
    @properties['occurred_at']
end

#recipientsArray<ListCommunicationByConversation200ResponseCommunicationsRecipients>

Returns Communication recipients.

Returns:

  • (Array<ListCommunicationByConversation200ResponseCommunicationsRecipients>)

    Communication recipients.



650
651
652
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 650

def recipients
    @properties['recipients']
end

#resource_idString

Returns External resource identifier for this Communication (e.g. MessageSid for SMS/RCS/WhatsApp, TranscriptionSid + MessageIndex for Voice). When set, used for Communication deduplication/uniqueness within a Conversation.

Returns:

  • (String)

    External resource identifier for this Communication (e.g. MessageSid for SMS/RCS/WhatsApp, TranscriptionSid + MessageIndex for Voice). When set, used for Communication deduplication/uniqueness within a Conversation.



644
645
646
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 644

def resource_id
    @properties['resource_id']
end

#to_sObject

Provide a user friendly representation



682
683
684
685
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 682

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

#updated_atTime

Returns Timestamp when this Communication was last updated.

Returns:

  • (Time)

    Timestamp when this Communication was last updated.



662
663
664
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 662

def updated_at
    @properties['updated_at']
end