Class: Twilio::REST::Conversations::V1::ConversationContext::MessageInstance

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

Instance Method Summary collapse

Constructor Details

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

Initialize the MessageInstance

Parameters:

  • Version that contains the resource

  • payload that contains response from Twilio

  • The SID of the Account that created this Message resource.

  • (defaults to: nil)

    The SID of the Call resource to fetch.



650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 650

def initialize(version, payload , conversation_sid: nil, sid: nil)
    super(version)
    
    
    # Marshaled Properties
    @properties = { 
        'account_sid' => payload['account_sid'],
        'conversation_sid' => payload['conversation_sid'],
        'sid' => payload['sid'],
        'index' => payload['index'] == nil ? payload['index'] : payload['index'].to_i,
        'author' => payload['author'],
        'body' => payload['body'],
        'media' => payload['media'],
        'attributes' => payload['attributes'],
        'participant_sid' => payload['participant_sid'],
        'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
        'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
        'url' => payload['url'],
        'delivery' => payload['delivery'],
        'links' => payload['links'],
        'content_sid' => payload['content_sid'],
    }

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

Instance Method Details

#account_sidString

Returns The unique ID of the [Account](www.twilio.com/docs/iam/api/account) responsible for this message.

Returns:



691
692
693
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 691

def 
    @properties['account_sid']
end

#attributesString

Returns A 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.

Returns:

  • A 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.



733
734
735
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 733

def attributes
    @properties['attributes']
end

#authorString

Returns The channel specific identifier of the message’s author. Defaults to system.

Returns:

  • The channel specific identifier of the message’s author. Defaults to system.



715
716
717
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 715

def author
    @properties['author']
end

#bodyString

Returns The content of the message, can be up to 1,600 characters long.

Returns:

  • The content of the message, can be up to 1,600 characters long.



721
722
723
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 721

def body
    @properties['body']
end

#content_sidString

Returns The unique ID of the multi-channel [Rich Content](www.twilio.com/docs/content) template.

Returns:



775
776
777
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 775

def content_sid
    @properties['content_sid']
end

#contextMessageContext

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

Returns:

  • CallContext for this CallInstance



682
683
684
685
686
687
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 682

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

#conversation_sidString

Returns The unique ID of the [Conversation](www.twilio.com/docs/conversations/api/conversation-resource) for this message.

Returns:



697
698
699
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 697

def conversation_sid
    @properties['conversation_sid']
end

#date_createdTime

Returns The date that this resource was created.

Returns:

  • The date that this resource was created.



745
746
747
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 745

def date_created
    @properties['date_created']
end

#date_updatedTime

Returns The date that this resource was last updated. null if the message has not been edited.

Returns:

  • The date that this resource was last updated. null if the message has not been edited.



751
752
753
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 751

def date_updated
    @properties['date_updated']
end

#delete(x_twilio_webhook_enabled: :unset) ⇒ Boolean

Delete the MessageInstance

Parameters:

  • (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:

  • True if delete succeeds, false otherwise



783
784
785
786
787
788
789
790
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 783

def delete(
    x_twilio_webhook_enabled: :unset
)

    context.delete(
        x_twilio_webhook_enabled: x_twilio_webhook_enabled, 
    )
end

#deliveryHash

Returns An object that contains the summary of delivery statuses for the message to non-chat participants.

Returns:

  • An object that contains the summary of delivery statuses for the message to non-chat participants.



763
764
765
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 763

def delivery
    @properties['delivery']
end

#delivery_receiptsdelivery_receipts

Access the delivery_receipts

Returns:

  • delivery_receipts



834
835
836
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 834

def delivery_receipts
    context.delivery_receipts
end

#fetchMessageInstance

Fetch the MessageInstance

Returns:

  • Fetched MessageInstance



795
796
797
798
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 795

def fetch

    context.fetch
end

#indexString

Returns The index of the message within the [Conversation](www.twilio.com/docs/conversations/api/conversation-resource). Indices may skip numbers, but will always be in order of when the message was received.

Returns:



709
710
711
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 709

def index
    @properties['index']
end

#inspectObject

Provide a detailed, user friendly representation



847
848
849
850
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 847

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

Returns Contains an absolute API resource URL to access the delivery & read receipts of this message.

Returns:

  • Contains an absolute API resource URL to access the delivery & read receipts of this message.



769
770
771
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 769

def links
    @properties['links']
end

#mediaArray<Hash>

Returns An array of objects that describe the Message’s media, if the message contains media. Each object contains these fields: content_type with the MIME type of the media, filename with the name of the media, sid with the SID of the Media resource, and size with the media object’s file size in bytes. If the Message has no media, this value is null.

Returns:

  • An array of objects that describe the Message’s media, if the message contains media. Each object contains these fields: content_type with the MIME type of the media, filename with the name of the media, sid with the SID of the Media resource, and size with the media object’s file size in bytes. If the Message has no media, this value is null.



727
728
729
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 727

def media
    @properties['media']
end

#participant_sidString

Returns The unique ID of messages’s author participant. Null in case of system sent message.

Returns:

  • The unique ID of messages’s author participant. Null in case of system sent message.



739
740
741
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 739

def participant_sid
    @properties['participant_sid']
end

#sidString

Returns A 34 character string that uniquely identifies this resource.

Returns:

  • A 34 character string that uniquely identifies this resource.



703
704
705
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 703

def sid
    @properties['sid']
end

#to_sObject

Provide a user friendly representation



840
841
842
843
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 840

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

#update(author: :unset, body: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, subject: :unset, x_twilio_webhook_enabled: :unset) ⇒ MessageInstance

Update the MessageInstance

Parameters:

  • (defaults to: :unset)

    The channel specific identifier of the message’s author. Defaults to system.

  • (defaults to: :unset)

    The content of the message, can be up to 1,600 characters long.

  • (defaults to: :unset)

    The date that this resource was created.

  • (defaults to: :unset)

    The date that this resource was last updated. null if the message has not been edited.

  • (defaults to: :unset)

    A 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.

  • (defaults to: :unset)

    The subject of the message, can be up to 256 characters long.

  • (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:

  • Updated MessageInstance



810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 810

def update(
    author: :unset, 
    body: :unset, 
    date_created: :unset, 
    date_updated: :unset, 
    attributes: :unset, 
    subject: :unset, 
    x_twilio_webhook_enabled: :unset
)

    context.update(
        author: author, 
        body: body, 
        date_created: date_created, 
        date_updated: date_updated, 
        attributes: attributes, 
        subject: subject, 
        x_twilio_webhook_enabled: x_twilio_webhook_enabled, 
    )
end

#urlString

Returns An absolute API resource API URL for this message.

Returns:

  • An absolute API resource API URL for this message.



757
758
759
# File 'lib/twilio-ruby/rest/conversations/v1/conversation/message.rb', line 757

def url
    @properties['url']
end