Class: Zavudev::Models::Message

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/zavudev/models/message.rb

Overview

Instance Attribute Summary collapse

Instance Method Summary collapse

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.

Parameters:

  • id (String)
  • channel (Symbol, Zavudev::Models::Channel)

    Delivery channel. Use ‘auto’ for intelligent routing.

  • created_at (Time)
  • message_type (Symbol, Zavudev::Models::MessageType)

    Type of message. Non-text types are supported by WhatsApp and Telegram (varies b

  • status (Symbol, Zavudev::Models::MessageStatus)
  • to (String)
  • content (Zavudev::Models::MessageContent) (defaults to: nil)

    Content for non-text message types (WhatsApp and Telegram).

  • cost (Float, nil) (defaults to: nil)

    MAU cost in USD (charged for first contact of the month).

  • cost_provider (Float, nil) (defaults to: nil)

    Provider cost in USD (Telnyx, SES, etc.).

  • cost_total (Float, nil) (defaults to: nil)

    Total cost in USD (MAU + provider cost).

  • error_code (String, nil) (defaults to: nil)
  • error_message (String, nil) (defaults to: nil)
  • from (String) (defaults to: nil)
  • metadata (Hash{Symbol=>String}) (defaults to: nil)
  • provider_message_id (String) (defaults to: nil)

    Message ID from the delivery provider.

  • sender_id (String) (defaults to: nil)
  • text (String) (defaults to: nil)

    Text content or caption.

  • updated_at (Time) (defaults to: nil)


# File 'lib/zavudev/models/message.rb', line 106

Instance Attribute Details

#channelSymbol, Zavudev::Models::Channel

Delivery channel. Use ‘auto’ for intelligent routing.

Returns:



16
# File 'lib/zavudev/models/message.rb', line 16

required :channel, enum: -> { Zavudev::Channel }

#contentZavudev::Models::MessageContent?

Content for non-text message types (WhatsApp and Telegram).



44
# File 'lib/zavudev/models/message.rb', line 44

optional :content, -> { Zavudev::MessageContent }

#costFloat?

MAU cost in USD (charged for first contact of the month).

Returns:

  • (Float, nil)


50
# File 'lib/zavudev/models/message.rb', line 50

optional :cost, Float, nil?: true

#cost_providerFloat?

Provider cost in USD (Telnyx, SES, etc.).

Returns:

  • (Float, nil)


56
# File 'lib/zavudev/models/message.rb', line 56

optional :cost_provider, Float, api_name: :costProvider, nil?: true

#cost_totalFloat?

Total cost in USD (MAU + provider cost).

Returns:

  • (Float, nil)


62
# File 'lib/zavudev/models/message.rb', line 62

optional :cost_total, Float, api_name: :costTotal, nil?: true

#created_atTime

Returns:

  • (Time)


21
# File 'lib/zavudev/models/message.rb', line 21

required :created_at, Time, api_name: :createdAt

#error_codeString?

Returns:

  • (String, nil)


67
# File 'lib/zavudev/models/message.rb', line 67

optional :error_code, String, api_name: :errorCode, nil?: true

#error_messageString?

Returns:

  • (String, nil)


72
# File 'lib/zavudev/models/message.rb', line 72

optional :error_message, String, api_name: :errorMessage, nil?: true

#fromString?

Returns:

  • (String, nil)


77
# File 'lib/zavudev/models/message.rb', line 77

optional :from, String

#idString

Returns:

  • (String)


10
# File 'lib/zavudev/models/message.rb', line 10

required :id, String

#message_typeSymbol, Zavudev::Models::MessageType

Type of message. Non-text types are supported by WhatsApp and Telegram (varies by type).

Returns:



28
# File 'lib/zavudev/models/message.rb', line 28

required :message_type, enum: -> { Zavudev::MessageType }, api_name: :messageType

#metadataHash{Symbol=>String}?

Returns:

  • (Hash{Symbol=>String}, nil)


82
# File 'lib/zavudev/models/message.rb', line 82

optional :metadata, Zavudev::Internal::Type::HashOf[String]

#provider_message_idString?

Message ID from the delivery provider.

Returns:

  • (String, nil)


88
# File 'lib/zavudev/models/message.rb', line 88

optional :provider_message_id, String, api_name: :providerMessageId

#sender_idString?

Returns:

  • (String, nil)


93
# File 'lib/zavudev/models/message.rb', line 93

optional :sender_id, String, api_name: :senderId

#statusSymbol, Zavudev::Models::MessageStatus

Returns:



33
# File 'lib/zavudev/models/message.rb', line 33

required :status, enum: -> { Zavudev::MessageStatus }

#textString?

Text content or caption.

Returns:

  • (String, nil)


99
# File 'lib/zavudev/models/message.rb', line 99

optional :text, String

#toString

Returns:

  • (String)


38
# File 'lib/zavudev/models/message.rb', line 38

required :to, String

#updated_atTime?

Returns:

  • (Time, nil)


104
# File 'lib/zavudev/models/message.rb', line 104

optional :updated_at, Time, api_name: :updatedAt