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

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

Overview

PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.

Instance Method Summary collapse

Constructor Details

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

Initialize the MessageInstance

Parameters:



341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 341

def initialize(version, payload, chat_service_sid: nil, conversation_sid: nil, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'account_sid' => payload['account_sid'],
      'chat_service_sid' => payload['chat_service_sid'],
      'conversation_sid' => payload['conversation_sid'],
      'sid' => payload['sid'],
      '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']),
      'delivery' => payload['delivery'],
      'url' => payload['url'],
      'links' => payload['links'],
  }

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

Instance Method Details

#account_sidString

Returns The unique id of the Account responsible for this message.

Returns:

  • The unique id of the Account responsible for this message.



390
391
392
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 390

def 
  @properties['account_sid']
end

#attributesString

Returns A string metadata field you can use to store any data you wish.

Returns:

  • A string metadata field you can use to store any data you wish.



438
439
440
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 438

def attributes
  @properties['attributes']
end

#authorString

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

Returns:

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



420
421
422
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 420

def author
  @properties['author']
end

#bodyString

Returns The content of the message.

Returns:

  • The content of the message.



426
427
428
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 426

def body
  @properties['body']
end

#chat_service_sidString

Returns The SID of the Chat Service that the resource is associated with.

Returns:

  • The SID of the Chat Service that the resource is associated with.



396
397
398
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 396

def chat_service_sid
  @properties['chat_service_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:

  • MessageContext for this MessageInstance



376
377
378
379
380
381
382
383
384
385
386
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 376

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

#conversation_sidString

Returns The unique id of the Conversation for this message.

Returns:

  • The unique id of the Conversation for this message.



402
403
404
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 402

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.



450
451
452
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 450

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date that this resource was last updated.

Returns:

  • The date that this resource was last updated.



456
457
458
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 456

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



509
510
511
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 509

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.



462
463
464
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 462

def delivery
  @properties['delivery']
end

#delivery_receiptsdelivery_receipts

Access the delivery_receipts

Returns:

  • delivery_receipts



523
524
525
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 523

def delivery_receipts
  context.delivery_receipts
end

#fetchMessageInstance

Fetch the MessageInstance

Returns:

  • Fetched MessageInstance



516
517
518
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 516

def fetch
  context.fetch
end

#indexString

Returns The index of the message within the Conversation.

Returns:

  • The index of the message within the Conversation.



414
415
416
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 414

def index
  @properties['index']
end

#inspectObject

Provide a detailed, user friendly representation



536
537
538
539
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 536

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

Returns Absolute URLs to access the Receipts of this Message.

Returns:

  • Absolute URLs to access the Receipts of this Message.



474
475
476
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 474

def links
  @properties['links']
end

#mediaHash

Returns An array of objects that describe the Message’s media if attached, otherwise, null.

Returns:

  • An array of objects that describe the Message’s media if attached, otherwise, null.



432
433
434
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 432

def media
  @properties['media']
end

#participant_sidString

Returns The unique id of messages’s author participant.

Returns:

  • The unique id of messages’s author participant.



444
445
446
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 444

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.



408
409
410
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 408

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



529
530
531
532
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 529

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, 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 X-Twilio-Webhook-Enabled HTTP request header

Returns:

  • Updated MessageInstance



493
494
495
496
497
498
499
500
501
502
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 493

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

#urlString

Returns An absolute URL for this message.

Returns:

  • An absolute URL for this message.



468
469
470
# File 'lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb', line 468

def url
  @properties['url']
end