Class: Zavudev::Models::Template

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

Overview

Defined Under Namespace

Modules: Status Classes: Button, Whatsapp

Instance Attribute Summary collapse

Class Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, #initialize, 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

This class inherits a constructor from Zavudev::Internal::Type::BaseModel

Instance Attribute Details

#add_security_recommendationBoolean?

Add ‘Do not share this code’ disclaimer. Only for AUTHENTICATION templates.

Returns:

  • (Boolean, nil)


44
45
46
# File 'lib/zavudev/models/template.rb', line 44

optional :add_security_recommendation,
Zavudev::Internal::Type::Boolean,
api_name: :addSecurityRecommendation

#bodyString

Default template body with variables: positional ({1}, {2}) or named ({customer_name}, Zavudev::Models::Template.{contact{contact.first_name}). Templates created in Zavu are submitted to Meta as positional; templates imported from a WhatsApp Business Account keep their original format (named or positional). Used when no channel-specific body is set.

Returns:

  • (String)


20
# File 'lib/zavudev/models/template.rb', line 20

required :body, String

#buttonsArray<Zavudev::Models::Template::Button>?

Template buttons.

Returns:



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

optional :buttons, -> { Zavudev::Internal::Type::ArrayOf[Zavudev::Template::Button] }

#categorySymbol, Zavudev::Models::WhatsappCategory

WhatsApp template category.



26
# File 'lib/zavudev/models/template.rb', line 26

required :category, enum: -> { Zavudev::WhatsappCategory }

#code_expiration_minutesInteger?

Code expiration time in minutes. Only for AUTHENTICATION templates.

Returns:

  • (Integer, nil)


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

optional :code_expiration_minutes, Integer, api_name: :codeExpirationMinutes

#created_atTime?

Returns:

  • (Time, nil)


63
# File 'lib/zavudev/models/template.rb', line 63

optional :created_at, Time, api_name: :createdAt

Footer text for the template.

Returns:

  • (String, nil)


69
# File 'lib/zavudev/models/template.rb', line 69

optional :footer, String

#header_contentString?

Header content (text or media URL).

Returns:

  • (String, nil)


75
# File 'lib/zavudev/models/template.rb', line 75

optional :header_content, String, api_name: :headerContent

#header_typeString?

Type of header (text, image, video, document).

Returns:

  • (String, nil)


81
# File 'lib/zavudev/models/template.rb', line 81

optional :header_type, String, api_name: :headerType

#idString

Returns:

  • (String)


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

required :id, String

#instagram_bodyString?

Channel-specific body for Instagram messages. Falls back to ‘body` if not set.

Returns:

  • (String, nil)


87
# File 'lib/zavudev/models/template.rb', line 87

optional :instagram_body, String, api_name: :instagramBody

#languageString

Language code.

Returns:

  • (String)


32
# File 'lib/zavudev/models/template.rb', line 32

required :language, String

#nameString

Template name. For WhatsApp, must match the approved template name in Meta.

Returns:

  • (String)


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

required :name, String

#sms_bodyString?

Channel-specific body for SMS messages. Falls back to ‘body` if not set.

Returns:

  • (String, nil)


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

optional :sms_body, String, api_name: :smsBody

#statusSymbol, ...

Returns:



98
# File 'lib/zavudev/models/template.rb', line 98

optional :status, enum: -> { Zavudev::Template::Status }

#telegram_bodyString?

Channel-specific body for Telegram messages. Falls back to ‘body` if not set.

Returns:

  • (String, nil)


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

optional :telegram_body, String, api_name: :telegramBody

#updated_atTime?

Returns:

  • (Time, nil)


109
# File 'lib/zavudev/models/template.rb', line 109

optional :updated_at, Time, api_name: :updatedAt

#variablesArray<String>?

List of variable names for documentation.

Returns:

  • (Array<String>, nil)


115
# File 'lib/zavudev/models/template.rb', line 115

optional :variables, Zavudev::Internal::Type::ArrayOf[String]

#whatsappZavudev::Models::Template::Whatsapp?

WhatsApp-specific template information.



121
# File 'lib/zavudev/models/template.rb', line 121

optional :whatsapp, -> { Zavudev::Template::Whatsapp }

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/zavudev/models/template.rb', line 253