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_id: nil, id: 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)

    The SID of the Call resource to fetch.



592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 592

def initialize(version, payload , conversation_id: nil, id: 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_id' => conversation_id  || @properties['conversation_id']  ,'id' => id  || @properties['id']  , }
end

Instance Method Details

#account_idString

Returns Account ID.

Returns:

  • (String)

    Account ID.



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

def 
    @properties['account_id']
end

#authorConversationsV2ParticipantAddress

Returns:

  • (ConversationsV2ParticipantAddress)


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

def author
    @properties['author']
end

#channel_idString

Returns Channel-specific reference ID.

Returns:

  • (String)

    Channel-specific reference ID.



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

def channel_id
    @properties['channel_id']
end

#contentListCommunicationByConversation200ResponseCommunicationsContent

Returns:

  • (ListCommunicationByConversation200ResponseCommunicationsContent)


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

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:



621
622
623
624
625
626
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 621

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

#conversation_idString

Returns Conversation ID.

Returns:

  • (String)

    Conversation ID.



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

def conversation_id
    @properties['conversation_id']
end

#created_atTime

Returns Timestamp when this Communication was created.

Returns:

  • (Time)

    Timestamp when this Communication was created.



678
679
680
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 678

def created_at
    @properties['created_at']
end

#fetchCommunicationInstance

Fetch the CommunicationInstance

Returns:



697
698
699
700
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 697

def fetch

    context.fetch
end

#idString

Returns Communication ID.

Returns:

  • (String)

    Communication ID.



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

def id
    @properties['id']
end

#inspectObject

Provide a detailed, user friendly representation



711
712
713
714
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 711

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.



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

def occurred_at
    @properties['occurred_at']
end

#recipientsArray<ListCommunicationByConversation200ResponseCommunicationsRecipients>

Returns Communication recipients.

Returns:

  • (Array<ListCommunicationByConversation200ResponseCommunicationsRecipients>)

    Communication recipients.



672
673
674
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 672

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.



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

def resource_id
    @properties['resource_id']
end

#to_sObject

Provide a user friendly representation



704
705
706
707
# File 'lib/twilio-ruby/rest/conversations/v2/communication.rb', line 704

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.



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

def updated_at
    @properties['updated_at']
end