Class: Zavudev::Models::Message
- Inherits:
-
Internal::Type::BaseModel
- Object
- Internal::Type::BaseModel
- Zavudev::Models::Message
- Defined in:
- lib/zavudev/models/message.rb,
sig/zavudev/models/message.rbs
Overview
Instance Attribute Summary collapse
-
#channel ⇒ Symbol, Zavudev::Models::Channel
Delivery channel.
-
#content ⇒ Zavudev::Models::MessageContent?
Content for non-text message types (WhatsApp and Telegram).
-
#cost ⇒ Float?
Zavu platform charge in USD for this message.
-
#cost_provider ⇒ Float?
Carrier and delivery cost in USD.
-
#cost_total ⇒ Float?
Total cost in USD (platform charge + delivery cost).
- #created_at ⇒ Time
- #error_code ⇒ String?
- #error_message ⇒ String?
- #from ⇒ String?
- #id ⇒ String
-
#message_type ⇒ Symbol, Zavudev::Models::MessageType
Type of message.
- #metadata ⇒ Hash{Symbol=>String}?
-
#provider_message_id ⇒ String?
Message ID from the delivery provider.
- #sender_id ⇒ String?
- #status ⇒ Symbol, Zavudev::Models::MessageStatus
-
#text ⇒ String?
Text content or caption.
- #to ⇒ String
- #updated_at ⇒ Time?
Instance Method Summary collapse
-
#initialize(id:, channel:, created_at:, message_type:, status:, to:, content: nil, cost: nil, cost_provider: nil, cost_total: nil, error_code: nil, error_message: nil, from: nil, metadata: nil, provider_message_id: nil, sender_id: nil, text: nil, updated_at: nil) ⇒ Object
constructor
Some parameter documentations has been truncated, see Message for more details.
- #to_hash ⇒ {
Methods inherited from Internal::Type::BaseModel
==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml
Methods included from Internal::Type::Converter
#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info
Methods included from Internal::Util::SorbetRuntimeSupport
#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type
Constructor Details
#initialize(id:, channel:, created_at:, message_type:, status:, to:, content: nil, cost: nil, cost_provider: nil, cost_total: nil, error_code: nil, error_message: nil, from: nil, metadata: nil, provider_message_id: nil, sender_id: nil, text: nil, updated_at: nil) ⇒ Object
Some parameter documentations has been truncated, see Zavudev::Models::Message for more details.
|
|
# File 'lib/zavudev/models/message.rb', line 110
|
Instance Attribute Details
#channel ⇒ Symbol, Zavudev::Models::Channel
Delivery channel. Use 'auto' for intelligent routing. whatsapp_alt is the
QR-linked WhatsApp channel and is only accepted for teams with the WhatsApp
Alternative feature enabled; the sender must have a connected whatsapp_alt
session.
19 |
# File 'lib/zavudev/models/message.rb', line 19 required :channel, enum: -> { Zavudev::Channel } |
#content ⇒ Zavudev::Models::MessageContent?
Content for non-text message types (WhatsApp and Telegram).
47 |
# File 'lib/zavudev/models/message.rb', line 47 optional :content, -> { Zavudev::MessageContent } |
#cost ⇒ Float?
Zavu platform charge in USD for this message. Messaging is billed against your plan's monthly limits plus usage-based overage.
54 |
# File 'lib/zavudev/models/message.rb', line 54 optional :cost, Float, nil?: true |
#cost_provider ⇒ Float?
Carrier and delivery cost in USD.
60 |
# File 'lib/zavudev/models/message.rb', line 60 optional :cost_provider, Float, api_name: :costProvider, nil?: true |
#cost_total ⇒ Float?
Total cost in USD (platform charge + delivery cost).
66 |
# File 'lib/zavudev/models/message.rb', line 66 optional :cost_total, Float, api_name: :costTotal, nil?: true |
#created_at ⇒ Time
24 |
# File 'lib/zavudev/models/message.rb', line 24 required :created_at, Time, api_name: :createdAt |
#error_code ⇒ String?
71 |
# File 'lib/zavudev/models/message.rb', line 71 optional :error_code, String, api_name: :errorCode, nil?: true |
#error_message ⇒ String?
76 |
# File 'lib/zavudev/models/message.rb', line 76 optional :error_message, String, api_name: :errorMessage, nil?: true |
#from ⇒ String?
81 |
# File 'lib/zavudev/models/message.rb', line 81 optional :from, String |
#id ⇒ String
10 |
# File 'lib/zavudev/models/message.rb', line 10 required :id, String |
#message_type ⇒ Symbol, Zavudev::Models::MessageType
Type of message. Non-text types are supported by WhatsApp and Telegram (varies by type).
31 |
# File 'lib/zavudev/models/message.rb', line 31 required :message_type, enum: -> { Zavudev::MessageType }, api_name: :messageType |
#metadata ⇒ Hash{Symbol=>String}?
86 |
# File 'lib/zavudev/models/message.rb', line 86 optional :metadata, Zavudev::Internal::Type::HashOf[String] |
#provider_message_id ⇒ String?
Message ID from the delivery provider.
92 |
# File 'lib/zavudev/models/message.rb', line 92 optional :provider_message_id, String, api_name: :providerMessageId |
#sender_id ⇒ String?
97 |
# File 'lib/zavudev/models/message.rb', line 97 optional :sender_id, String, api_name: :senderId |
#status ⇒ Symbol, Zavudev::Models::MessageStatus
36 |
# File 'lib/zavudev/models/message.rb', line 36 required :status, enum: -> { Zavudev::MessageStatus } |
#text ⇒ String?
Text content or caption.
103 |
# File 'lib/zavudev/models/message.rb', line 103 optional :text, String |
#to ⇒ String
41 |
# File 'lib/zavudev/models/message.rb', line 41 required :to, String |
#updated_at ⇒ Time?
108 |
# File 'lib/zavudev/models/message.rb', line 108 optional :updated_at, Time, api_name: :updatedAt |
Instance Method Details
#to_hash ⇒ {
97 |
# File 'sig/zavudev/models/message.rbs', line 97
def to_hash: -> {
|