Class: Zavudev::Models::MessageSendParams

Inherits:
Internal::Type::BaseModel show all
Extended by:
Internal::Type::RequestParameters::Converter
Includes:
Internal::Type::RequestParameters
Defined in:
lib/zavudev/models/message_send_params.rb,
sig/zavudev/models/message_send_params.rbs

Overview

See Also:

  • Zavudev::Resources::Messages#send_

Defined Under Namespace

Classes: Attachment

Instance Attribute Summary collapse

Attributes included from Internal::Type::RequestParameters

#request_options

Instance Method Summary collapse

Methods included from Internal::Type::RequestParameters::Converter

dump_request

Methods included from Internal::Type::RequestParameters

included

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

#initializeObject



84
# File 'sig/zavudev/models/message_send_params.rbs', line 84

def initialize: (

Instance Attribute Details

#attachmentsArray<Zavudev::Models::MessageSendParams::Attachment>?

Email attachments. Only supported when channel is 'email'. Maximum 40MB total size.



25
# File 'lib/zavudev/models/message_send_params.rb', line 25

optional :attachments, -> { Zavudev::Internal::Type::ArrayOf[Zavudev::MessageSendParams::Attachment] }

#channelSymbol, ...

Delivery channel. Use 'auto' for intelligent routing. If omitted, channel is auto-selected based on sender capabilities and recipient type. For email recipients, defaults to 'email'.

Parameters:

  • (Zavudev::Models::channel)

Returns:



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

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

#contentZavudev::Models::MessageContent?

Additional content for non-text message types.



39
# File 'lib/zavudev/models/message_send_params.rb', line 39

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

#fallback_enabledBoolean?

Whether to enable automatic fallback to SMS if WhatsApp fails. Defaults to true.

Parameters:

  • (Boolean)

Returns:

  • (Boolean, nil)


45
# File 'lib/zavudev/models/message_send_params.rb', line 45

optional :fallback_enabled, Zavudev::Internal::Type::Boolean, api_name: :fallbackEnabled

#html_bodyString?

HTML body for email messages. If provided, email will be sent as multipart with both text and HTML.

Parameters:

  • (String)

Returns:

  • (String, nil)


52
# File 'lib/zavudev/models/message_send_params.rb', line 52

optional :html_body, String, api_name: :htmlBody

#idempotency_keyString?

Optional idempotency key to avoid duplicate sends.

Parameters:

  • (String)

Returns:

  • (String, nil)


58
# File 'lib/zavudev/models/message_send_params.rb', line 58

optional :idempotency_key, String, api_name: :idempotencyKey

#message_typeSymbol, ...

Type of message. Defaults to 'text'.

Returns:



64
# File 'lib/zavudev/models/message_send_params.rb', line 64

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

#metadataHash{Symbol=>String}?

Arbitrary metadata to associate with the message.

Parameters:

  • (::Hash[Symbol, String])

Returns:

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


70
# File 'lib/zavudev/models/message_send_params.rb', line 70

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

#reply_toString?

Reply-To email address for email messages.

Parameters:

  • (String)

Returns:

  • (String, nil)


76
# File 'lib/zavudev/models/message_send_params.rb', line 76

optional :reply_to, String, api_name: :replyTo

#subjectString?

Email subject line. Required when channel is 'email' or recipient is an email address.

Parameters:

  • (String)

Returns:

  • (String, nil)


83
# File 'lib/zavudev/models/message_send_params.rb', line 83

optional :subject, String

#textString?

Text body for text messages or caption for media messages.

Parameters:

  • (String)

Returns:

  • (String, nil)


89
# File 'lib/zavudev/models/message_send_params.rb', line 89

optional :text, String

#toString

Recipient phone number in E.164 format, email address, WhatsApp business-scoped user ID (BSUID, e.g. US.13491208655302741918), or numeric chat ID (for Telegram/Instagram/Messenger). A BSUID is routed to WhatsApp and sent via the recipient field; use it to message a contact who adopted a username and whose phone number is hidden.

Parameters:

  • value (String)

Returns:

  • (String)


18
# File 'lib/zavudev/models/message_send_params.rb', line 18

required :to, String

#voice_languageString?

Language code for voice text-to-speech (e.g., 'en-US', 'es-ES', 'pt-BR'). If omitted, language is auto-detected from recipient's country code.

Parameters:

  • (String)

Returns:

  • (String, nil)


96
# File 'lib/zavudev/models/message_send_params.rb', line 96

optional :voice_language, String, api_name: :voiceLanguage

#zavu_senderString?

Parameters:

  • (String)

Returns:

  • (String, nil)


101
# File 'lib/zavudev/models/message_send_params.rb', line 101

optional :zavu_sender, String

Instance Method Details

#to_hash{

Returns:

  • ({)


102
# File 'sig/zavudev/models/message_send_params.rbs', line 102

def to_hash: -> {