Class: Twilio::REST::Conversations::V2::ParticipantInstance

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

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, conversation_id: nil, id: nil) ⇒ ParticipantInstance

Initialize the ParticipantInstance

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

  • sid (String)

    The SID of the Call resource to fetch.



619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
# File 'lib/twilio-ruby/rest/conversations/v2/participant.rb', line 619

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'],
        'name' => payload['name'],
        'type' => payload['type'],
        'profile_id' => payload['profile_id'],
        'addresses' => payload['addresses'],
        'created_at' => Twilio.deserialize_iso8601_datetime(payload['created_at']),
        'updated_at' => Twilio.deserialize_iso8601_datetime(payload['updated_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.



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

def 
    @properties['account_id']
end

#addressesArray<ConversationsV2Address>

Returns Communication addresses for this Participant. Address format varies by channel: - SMS/VOICE: E.164 phone number (such as "+18005550100") - EMAIL: Email address (such as "user@example.com") - WHATSAPP: Phone number with whatsapp prefix (such as "whatsapp:+18005550100") - RCS: Sender ID or phone number with rcs prefix (such as "rcs:brand_acme_agent" or "rcs:+18005550100").

Returns:

  • (Array<ConversationsV2Address>)

    Communication addresses for this Participant. Address format varies by channel: - SMS/VOICE: E.164 phone number (such as "+18005550100") - EMAIL: Email address (such as "user@example.com") - WHATSAPP: Phone number with whatsapp prefix (such as "whatsapp:+18005550100") - RCS: Sender ID or phone number with rcs prefix (such as "rcs:brand_acme_agent" or "rcs:+18005550100")



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

def addresses
    @properties['addresses']
end

#contextParticipantContext

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

Returns:



646
647
648
649
650
651
# File 'lib/twilio-ruby/rest/conversations/v2/participant.rb', line 646

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

#conversation_idString

Returns Conversation ID.

Returns:

  • (String)

    Conversation ID.



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

def conversation_id
    @properties['conversation_id']
end

#created_atTime

Returns Timestamp when this Participant was created.

Returns:

  • (Time)

    Timestamp when this Participant was created.



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

def created_at
    @properties['created_at']
end

#fetchParticipantInstance

Fetch the ParticipantInstance

Returns:



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

def fetch

    context.fetch
end

#idString

Returns Participant ID.

Returns:

  • (String)

    Participant ID.



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

def id
    @properties['id']
end

#inspectObject

Provide a detailed, user friendly representation



736
737
738
739
# File 'lib/twilio-ruby/rest/conversations/v2/participant.rb', line 736

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

#nameString

Returns Participant display name.

Returns:

  • (String)

    Participant display name.



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

def name
    @properties['name']
end

#profile_idString

Returns Profile ID. Note: This field is only resolved for CUSTOMER participant types, not for HUMAN_AGENT or AI_AGENT participants.

Returns:

  • (String)

    Profile ID. Note: This field is only resolved for CUSTOMER participant types, not for HUMAN_AGENT or AI_AGENT participants.



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

def profile_id
    @properties['profile_id']
end

#to_sObject

Provide a user friendly representation



729
730
731
732
# File 'lib/twilio-ruby/rest/conversations/v2/participant.rb', line 729

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

#typeConversationsV2ParticipantType

Returns:

  • (ConversationsV2ParticipantType)


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

def type
    @properties['type']
end

#update(update_participant_in_conversation_request: :unset) ⇒ ParticipantInstance

Update the ParticipantInstance

Parameters:

  • update_participant_in_conversation_request (UpdateParticipantInConversationRequest) (defaults to: :unset)

Returns:



719
720
721
722
723
724
725
# File 'lib/twilio-ruby/rest/conversations/v2/participant.rb', line 719

def update(update_participant_in_conversation_request: :unset
)

    context.update(
        update_participant_in_conversation_request: update_participant_in_conversation_request, 
    )
end

#updated_atTime

Returns Timestamp when this Participant was last updated.

Returns:

  • (Time)

    Timestamp when this Participant was last updated.



703
704
705
# File 'lib/twilio-ruby/rest/conversations/v2/participant.rb', line 703

def updated_at
    @properties['updated_at']
end