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_sid: nil, sid: 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) (defaults to: nil)

    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_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'],
        '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_sid' => conversation_sid  || @properties['conversation_sid']  ,'sid' => sid  || @properties['sid']  , }
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_sid'], @params['sid'])
    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

#typeString

Returns Type of Participant in the Conversation.

Returns:

  • (String)

    Type of Participant in the Conversation.



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