zavudev 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +1 -1
- data/lib/zavudev/models/broadcast_contact.rb +10 -1
- data/lib/zavudev/models/broadcast_content.rb +18 -4
- data/lib/zavudev/models/broadcasts/contact_add_params.rb +17 -4
- data/lib/zavudev/models/message_content.rb +65 -4
- data/lib/zavudev/models/template.rb +6 -3
- data/lib/zavudev/models/webhook_event.rb +4 -1
- data/lib/zavudev/version.rb +1 -1
- data/rbi/zavudev/models/broadcast_contact.rbi +9 -0
- data/rbi/zavudev/models/broadcast_content.rbi +23 -4
- data/rbi/zavudev/models/broadcasts/contact_add_params.rbi +23 -4
- data/rbi/zavudev/models/message_content.rbi +92 -4
- data/rbi/zavudev/models/template.rbi +10 -4
- data/rbi/zavudev/models/webhook_event.rbi +4 -1
- data/sig/zavudev/models/broadcast_contact.rbs +9 -0
- data/sig/zavudev/models/broadcast_content.rbs +9 -0
- data/sig/zavudev/models/broadcasts/contact_add_params.rbs +9 -0
- data/sig/zavudev/models/message_content.rbs +44 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7acd7e0349acb65eada647202880714e47e5b9cfcfa12583f77e27db11993f82
|
|
4
|
+
data.tar.gz: bf70c460648a96d443e2bd79b8be6a678306be02d38fdde537c186aec4ba77d3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 751db02e34b4d9766f38893a15353ebdca10307eec404418c8ea0a690c0c566f65d1e6fe5d25297872b17a877d0d13c5c230cfc0cd094445c4d97a6e54a12cce
|
|
7
|
+
data.tar.gz: 636bc3237e0a5048dc8f955d3335d23bd2c7bb45e894597bdc6c936386cb1b44599b0f5433b57b31f921d99cbacc0b748668667b63ce043f15cb0d198614cc32
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.13.0 (2026-06-07)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.12.0...v0.13.0](https://github.com/zavudev/sdk-ruby/compare/v0.12.0...v0.13.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([b59db6f](https://github.com/zavudev/sdk-ruby/commit/b59db6f514301863861cc3e0e782ef39e476dbd6))
|
|
10
|
+
|
|
11
|
+
## 0.12.0 (2026-05-28)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.11.0...v0.12.0](https://github.com/zavudev/sdk-ruby/compare/v0.11.0...v0.12.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** api update ([7484922](https://github.com/zavudev/sdk-ruby/commit/7484922e1f6b8f8736e9ab45e562ea2e5a811ac9))
|
|
18
|
+
* **api:** api update ([efcc794](https://github.com/zavudev/sdk-ruby/commit/efcc794e638f0415a78888412f617a10ed16bb8b))
|
|
19
|
+
|
|
3
20
|
## 0.11.0 (2026-05-25)
|
|
4
21
|
|
|
5
22
|
Full Changelog: [v0.10.0...v0.11.0](https://github.com/zavudev/sdk-ruby/compare/v0.10.0...v0.11.0)
|
data/README.md
CHANGED
|
@@ -66,12 +66,19 @@ module Zavudev
|
|
|
66
66
|
Zavudev::Internal::Type::HashOf[String],
|
|
67
67
|
api_name: :templateButtonVariables
|
|
68
68
|
|
|
69
|
+
# @!attribute template_header_variables
|
|
70
|
+
#
|
|
71
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
72
|
+
optional :template_header_variables,
|
|
73
|
+
Zavudev::Internal::Type::HashOf[String],
|
|
74
|
+
api_name: :templateHeaderVariables
|
|
75
|
+
|
|
69
76
|
# @!attribute template_variables
|
|
70
77
|
#
|
|
71
78
|
# @return [Hash{Symbol=>String}, nil]
|
|
72
79
|
optional :template_variables, Zavudev::Internal::Type::HashOf[String], api_name: :templateVariables
|
|
73
80
|
|
|
74
|
-
# @!method initialize(id:, created_at:, recipient:, recipient_type:, status:, cost: nil, error_code: nil, error_message: nil, message_id: nil, processed_at: nil, template_button_variables: nil, template_variables: nil)
|
|
81
|
+
# @!method initialize(id:, created_at:, recipient:, recipient_type:, status:, cost: nil, error_code: nil, error_message: nil, message_id: nil, processed_at: nil, template_button_variables: nil, template_header_variables: nil, template_variables: nil)
|
|
75
82
|
# @param id [String]
|
|
76
83
|
#
|
|
77
84
|
# @param created_at [Time]
|
|
@@ -94,6 +101,8 @@ module Zavudev
|
|
|
94
101
|
#
|
|
95
102
|
# @param template_button_variables [Hash{Symbol=>String}]
|
|
96
103
|
#
|
|
104
|
+
# @param template_header_variables [Hash{Symbol=>String}]
|
|
105
|
+
#
|
|
97
106
|
# @param template_variables [Hash{Symbol=>String}]
|
|
98
107
|
|
|
99
108
|
# @see Zavudev::Models::BroadcastContact#recipient_type
|
|
@@ -36,6 +36,16 @@ module Zavudev
|
|
|
36
36
|
Zavudev::Internal::Type::HashOf[String],
|
|
37
37
|
api_name: :templateButtonVariables
|
|
38
38
|
|
|
39
|
+
# @!attribute template_header_variables
|
|
40
|
+
# Default value for a text-header variable, keyed by `1` (can be overridden per
|
|
41
|
+
# contact). If omitted, Zavu resolves the header from `templateVariables` by the
|
|
42
|
+
# header placeholder's name.
|
|
43
|
+
#
|
|
44
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
45
|
+
optional :template_header_variables,
|
|
46
|
+
Zavudev::Internal::Type::HashOf[String],
|
|
47
|
+
api_name: :templateHeaderVariables
|
|
48
|
+
|
|
39
49
|
# @!attribute template_id
|
|
40
50
|
# Template ID for template messages.
|
|
41
51
|
#
|
|
@@ -43,13 +53,15 @@ module Zavudev
|
|
|
43
53
|
optional :template_id, String, api_name: :templateId
|
|
44
54
|
|
|
45
55
|
# @!attribute template_variables
|
|
46
|
-
# Default body variables (can be overridden per contact).
|
|
47
|
-
# 2
|
|
56
|
+
# Default body variables (can be overridden per contact). Key them to match the
|
|
57
|
+
# template body: by position (`1`, `2`, ...) for positional templates, or by name
|
|
58
|
+
# (e.g. `customer_name`) for named templates. Zavu detects the template's format
|
|
59
|
+
# and sends the correct payload to Meta. Do not mix positional and named keys.
|
|
48
60
|
#
|
|
49
61
|
# @return [Hash{Symbol=>String}, nil]
|
|
50
62
|
optional :template_variables, Zavudev::Internal::Type::HashOf[String], api_name: :templateVariables
|
|
51
63
|
|
|
52
|
-
# @!method initialize(filename: nil, media_id: nil, media_url: nil, mime_type: nil, template_button_variables: nil, template_id: nil, template_variables: nil)
|
|
64
|
+
# @!method initialize(filename: nil, media_id: nil, media_url: nil, mime_type: nil, template_button_variables: nil, template_header_variables: nil, template_id: nil, template_variables: nil)
|
|
53
65
|
# Some parameter documentations has been truncated, see
|
|
54
66
|
# {Zavudev::Models::BroadcastContent} for more details.
|
|
55
67
|
#
|
|
@@ -65,9 +77,11 @@ module Zavudev
|
|
|
65
77
|
#
|
|
66
78
|
# @param template_button_variables [Hash{Symbol=>String}] Default button variables for dynamic URL/OTP buttons. Keys are the button index
|
|
67
79
|
#
|
|
80
|
+
# @param template_header_variables [Hash{Symbol=>String}] Default value for a text-header variable, keyed by `1` (can be overridden per co
|
|
81
|
+
#
|
|
68
82
|
# @param template_id [String] Template ID for template messages.
|
|
69
83
|
#
|
|
70
|
-
# @param template_variables [Hash{Symbol=>String}] Default body variables (can be overridden per contact).
|
|
84
|
+
# @param template_variables [Hash{Symbol=>String}] Default body variables (can be overridden per contact). Key them to match the te
|
|
71
85
|
end
|
|
72
86
|
end
|
|
73
87
|
end
|
|
@@ -43,14 +43,25 @@ module Zavudev
|
|
|
43
43
|
Zavudev::Internal::Type::HashOf[String],
|
|
44
44
|
api_name: :templateButtonVariables
|
|
45
45
|
|
|
46
|
+
# @!attribute template_header_variables
|
|
47
|
+
# Per-contact value for a text-header variable, keyed by `1`. If omitted, Zavu
|
|
48
|
+
# resolves the header from `templateVariables` by the header placeholder's name.
|
|
49
|
+
#
|
|
50
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
51
|
+
optional :template_header_variables,
|
|
52
|
+
Zavudev::Internal::Type::HashOf[String],
|
|
53
|
+
api_name: :templateHeaderVariables
|
|
54
|
+
|
|
46
55
|
# @!attribute template_variables
|
|
47
|
-
# Per-contact body variables.
|
|
48
|
-
#
|
|
56
|
+
# Per-contact body variables. Key them to match the template body: by position
|
|
57
|
+
# (`1`, `2`, ...) for positional templates, or by name (e.g. `customer_name`) for
|
|
58
|
+
# named templates. Zavu detects the template's format and sends the correct
|
|
59
|
+
# payload to Meta. Do not mix positional and named keys.
|
|
49
60
|
#
|
|
50
61
|
# @return [Hash{Symbol=>String}, nil]
|
|
51
62
|
optional :template_variables, Zavudev::Internal::Type::HashOf[String], api_name: :templateVariables
|
|
52
63
|
|
|
53
|
-
# @!method initialize(recipient:, template_button_variables: nil, template_variables: nil)
|
|
64
|
+
# @!method initialize(recipient:, template_button_variables: nil, template_header_variables: nil, template_variables: nil)
|
|
54
65
|
# Some parameter documentations has been truncated, see
|
|
55
66
|
# {Zavudev::Models::Broadcasts::ContactAddParams::Contact} for more details.
|
|
56
67
|
#
|
|
@@ -58,7 +69,9 @@ module Zavudev
|
|
|
58
69
|
#
|
|
59
70
|
# @param template_button_variables [Hash{Symbol=>String}] Per-contact button variables for dynamic URL/OTP buttons. Keys are the button in
|
|
60
71
|
#
|
|
61
|
-
# @param
|
|
72
|
+
# @param template_header_variables [Hash{Symbol=>String}] Per-contact value for a text-header variable, keyed by `1`. If omitted, Zavu res
|
|
73
|
+
#
|
|
74
|
+
# @param template_variables [Hash{Symbol=>String}] Per-contact body variables. Key them to match the template body: by position (`1
|
|
62
75
|
end
|
|
63
76
|
end
|
|
64
77
|
end
|
|
@@ -120,6 +120,41 @@ module Zavudev
|
|
|
120
120
|
# @return [String, nil]
|
|
121
121
|
optional :react_to_message_id, String, api_name: :reactToMessageId
|
|
122
122
|
|
|
123
|
+
# @!attribute reply_to_from
|
|
124
|
+
# Sender of the quoted message (phone number in E.164 format).
|
|
125
|
+
#
|
|
126
|
+
# @return [String, nil]
|
|
127
|
+
optional :reply_to_from, String, api_name: :replyToFrom
|
|
128
|
+
|
|
129
|
+
# @!attribute reply_to_message_id
|
|
130
|
+
# Zavu message ID of the quoted message this message replies to. Present on
|
|
131
|
+
# inbound messages that quote an earlier message. Omitted when the quoted message
|
|
132
|
+
# is not found in Zavu (e.g. an old or unknown message) — use
|
|
133
|
+
# replyToProviderMessageId in that case.
|
|
134
|
+
#
|
|
135
|
+
# @return [String, nil]
|
|
136
|
+
optional :reply_to_message_id, String, api_name: :replyToMessageId
|
|
137
|
+
|
|
138
|
+
# @!attribute reply_to_message_type
|
|
139
|
+
# Type of the quoted message (text, image, video, etc.).
|
|
140
|
+
#
|
|
141
|
+
# @return [String, nil]
|
|
142
|
+
optional :reply_to_message_type, String, api_name: :replyToMessageType
|
|
143
|
+
|
|
144
|
+
# @!attribute reply_to_provider_message_id
|
|
145
|
+
# Provider message ID (WhatsApp WAMID) of the quoted message. Present whenever an
|
|
146
|
+
# inbound message is a reply, even if the quoted message is not stored in Zavu.
|
|
147
|
+
#
|
|
148
|
+
# @return [String, nil]
|
|
149
|
+
optional :reply_to_provider_message_id, String, api_name: :replyToProviderMessageId
|
|
150
|
+
|
|
151
|
+
# @!attribute reply_to_text
|
|
152
|
+
# Truncated snippet of the quoted message's text, for display. Empty when the
|
|
153
|
+
# quoted message has no text (e.g. media).
|
|
154
|
+
#
|
|
155
|
+
# @return [String, nil]
|
|
156
|
+
optional :reply_to_text, String, api_name: :replyToText
|
|
157
|
+
|
|
123
158
|
# @!attribute sections
|
|
124
159
|
# Sections for list messages.
|
|
125
160
|
#
|
|
@@ -147,6 +182,17 @@ module Zavudev
|
|
|
147
182
|
Zavudev::Internal::Type::HashOf[String],
|
|
148
183
|
api_name: :templateButtonVariables
|
|
149
184
|
|
|
185
|
+
# @!attribute template_header_variables
|
|
186
|
+
# Value for a text-header variable, keyed by `1` (WhatsApp text headers allow at
|
|
187
|
+
# most one variable). Optional override. If omitted, Zavu resolves the header from
|
|
188
|
+
# `templateVariables` using the header placeholder's name (e.g. `novios`). Static
|
|
189
|
+
# text headers need no value.
|
|
190
|
+
#
|
|
191
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
192
|
+
optional :template_header_variables,
|
|
193
|
+
Zavudev::Internal::Type::HashOf[String],
|
|
194
|
+
api_name: :templateHeaderVariables
|
|
195
|
+
|
|
150
196
|
# @!attribute template_id
|
|
151
197
|
# Template ID for template messages.
|
|
152
198
|
#
|
|
@@ -154,13 +200,16 @@ module Zavudev
|
|
|
154
200
|
optional :template_id, String, api_name: :templateId
|
|
155
201
|
|
|
156
202
|
# @!attribute template_variables
|
|
157
|
-
# Variables for body placeholders.
|
|
158
|
-
#
|
|
203
|
+
# Variables for body placeholders. Key them to match the template body: by
|
|
204
|
+
# position (`1`, `2`, ...) for positional templates, or by name (e.g.
|
|
205
|
+
# `customer_name`) for named templates. Zavu detects the template's format and
|
|
206
|
+
# sends the correct payload to Meta. Named keys also resolve a named text-header
|
|
207
|
+
# variable. Do not mix positional and named keys in the same request.
|
|
159
208
|
#
|
|
160
209
|
# @return [Hash{Symbol=>String}, nil]
|
|
161
210
|
optional :template_variables, Zavudev::Internal::Type::HashOf[String], api_name: :templateVariables
|
|
162
211
|
|
|
163
|
-
# @!method initialize(buttons: nil, contacts: nil, cta_display_text: nil, cta_header_media_url: nil, cta_header_text: nil, cta_header_type: nil, cta_url: nil, emoji: nil, filename: nil, footer_text: nil, latitude: nil, list_button: nil, location_address: nil, location_name: nil, longitude: nil, media_id: nil, media_url: nil, mime_type: nil, react_to_message_id: nil, sections: nil, template_button_variables: nil, template_id: nil, template_variables: nil)
|
|
212
|
+
# @!method initialize(buttons: nil, contacts: nil, cta_display_text: nil, cta_header_media_url: nil, cta_header_text: nil, cta_header_type: nil, cta_url: nil, emoji: nil, filename: nil, footer_text: nil, latitude: nil, list_button: nil, location_address: nil, location_name: nil, longitude: nil, media_id: nil, media_url: nil, mime_type: nil, react_to_message_id: nil, reply_to_from: nil, reply_to_message_id: nil, reply_to_message_type: nil, reply_to_provider_message_id: nil, reply_to_text: nil, sections: nil, template_button_variables: nil, template_header_variables: nil, template_id: nil, template_variables: nil)
|
|
164
213
|
# Some parameter documentations has been truncated, see
|
|
165
214
|
# {Zavudev::Models::MessageContent} for more details.
|
|
166
215
|
#
|
|
@@ -204,13 +253,25 @@ module Zavudev
|
|
|
204
253
|
#
|
|
205
254
|
# @param react_to_message_id [String] Message ID to react to.
|
|
206
255
|
#
|
|
256
|
+
# @param reply_to_from [String] Sender of the quoted message (phone number in E.164 format).
|
|
257
|
+
#
|
|
258
|
+
# @param reply_to_message_id [String] Zavu message ID of the quoted message this message replies to. Present on inboun
|
|
259
|
+
#
|
|
260
|
+
# @param reply_to_message_type [String] Type of the quoted message (text, image, video, etc.).
|
|
261
|
+
#
|
|
262
|
+
# @param reply_to_provider_message_id [String] Provider message ID (WhatsApp WAMID) of the quoted message. Present whenever an
|
|
263
|
+
#
|
|
264
|
+
# @param reply_to_text [String] Truncated snippet of the quoted message's text, for display. Empty when the quot
|
|
265
|
+
#
|
|
207
266
|
# @param sections [Array<Zavudev::Models::MessageContent::Section>] Sections for list messages.
|
|
208
267
|
#
|
|
209
268
|
# @param template_button_variables [Hash{Symbol=>String}] Variables for dynamic button placeholders (URL buttons and OTP buttons). Keys ar
|
|
210
269
|
#
|
|
270
|
+
# @param template_header_variables [Hash{Symbol=>String}] Value for a text-header variable, keyed by `1` (WhatsApp text headers allow at m
|
|
271
|
+
#
|
|
211
272
|
# @param template_id [String] Template ID for template messages.
|
|
212
273
|
#
|
|
213
|
-
# @param template_variables [Hash{Symbol=>String}] Variables for body placeholders.
|
|
274
|
+
# @param template_variables [Hash{Symbol=>String}] Variables for body placeholders. Key them to match the template body: by positio
|
|
214
275
|
|
|
215
276
|
class Button < Zavudev::Internal::Type::BaseModel
|
|
216
277
|
# @!attribute id
|
|
@@ -10,8 +10,11 @@ module Zavudev
|
|
|
10
10
|
required :id, String
|
|
11
11
|
|
|
12
12
|
# @!attribute body
|
|
13
|
-
# Default template body with variables: {{1}}, {{2}}
|
|
14
|
-
# {{contact.first_name}}.
|
|
13
|
+
# Default template body with variables: positional ({{1}}, {{2}}) or named
|
|
14
|
+
# ({{customer_name}}, {{contact.first_name}}). Templates created in Zavu are
|
|
15
|
+
# submitted to Meta as positional; templates imported from a WhatsApp Business
|
|
16
|
+
# Account keep their original format (named or positional). Used when no
|
|
17
|
+
# channel-specific body is set.
|
|
15
18
|
#
|
|
16
19
|
# @return [String]
|
|
17
20
|
required :body, String
|
|
@@ -123,7 +126,7 @@ module Zavudev
|
|
|
123
126
|
#
|
|
124
127
|
# @param id [String]
|
|
125
128
|
#
|
|
126
|
-
# @param body [String] Default template body with variables: {{1}}, {{2}}
|
|
129
|
+
# @param body [String] Default template body with variables: positional ({{1}}, {{2}}) or named ({{cust
|
|
127
130
|
#
|
|
128
131
|
# @param category [Symbol, Zavudev::Models::WhatsappCategory] WhatsApp template category.
|
|
129
132
|
#
|
|
@@ -18,7 +18,10 @@ module Zavudev
|
|
|
18
18
|
# **Inbound events:**
|
|
19
19
|
#
|
|
20
20
|
# - `message.inbound`: New message received from a contact. Reactions are
|
|
21
|
-
# delivered as `message.inbound` with `messageType='reaction'
|
|
21
|
+
# delivered as `message.inbound` with `messageType='reaction'`. When the contact
|
|
22
|
+
# replied to (quoted) an earlier message, `data.content` carries the reply
|
|
23
|
+
# context: `replyToMessageId`, `replyToProviderMessageId`, `replyToFrom`,
|
|
24
|
+
# `replyToText`, and `replyToMessageType`.
|
|
22
25
|
# - `message.unsupported`: Received a message type that is not supported
|
|
23
26
|
#
|
|
24
27
|
# **Broadcast events:**
|
data/lib/zavudev/version.rb
CHANGED
|
@@ -58,6 +58,12 @@ module Zavudev
|
|
|
58
58
|
sig { params(template_button_variables: T::Hash[Symbol, String]).void }
|
|
59
59
|
attr_writer :template_button_variables
|
|
60
60
|
|
|
61
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
62
|
+
attr_reader :template_header_variables
|
|
63
|
+
|
|
64
|
+
sig { params(template_header_variables: T::Hash[Symbol, String]).void }
|
|
65
|
+
attr_writer :template_header_variables
|
|
66
|
+
|
|
61
67
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
62
68
|
attr_reader :template_variables
|
|
63
69
|
|
|
@@ -77,6 +83,7 @@ module Zavudev
|
|
|
77
83
|
message_id: String,
|
|
78
84
|
processed_at: Time,
|
|
79
85
|
template_button_variables: T::Hash[Symbol, String],
|
|
86
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
80
87
|
template_variables: T::Hash[Symbol, String]
|
|
81
88
|
).returns(T.attached_class)
|
|
82
89
|
end
|
|
@@ -94,6 +101,7 @@ module Zavudev
|
|
|
94
101
|
message_id: nil,
|
|
95
102
|
processed_at: nil,
|
|
96
103
|
template_button_variables: nil,
|
|
104
|
+
template_header_variables: nil,
|
|
97
105
|
template_variables: nil
|
|
98
106
|
)
|
|
99
107
|
end
|
|
@@ -113,6 +121,7 @@ module Zavudev
|
|
|
113
121
|
message_id: String,
|
|
114
122
|
processed_at: Time,
|
|
115
123
|
template_button_variables: T::Hash[Symbol, String],
|
|
124
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
116
125
|
template_variables: T::Hash[Symbol, String]
|
|
117
126
|
}
|
|
118
127
|
)
|
|
@@ -44,6 +44,15 @@ module Zavudev
|
|
|
44
44
|
sig { params(template_button_variables: T::Hash[Symbol, String]).void }
|
|
45
45
|
attr_writer :template_button_variables
|
|
46
46
|
|
|
47
|
+
# Default value for a text-header variable, keyed by `1` (can be overridden per
|
|
48
|
+
# contact). If omitted, Zavu resolves the header from `templateVariables` by the
|
|
49
|
+
# header placeholder's name.
|
|
50
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
51
|
+
attr_reader :template_header_variables
|
|
52
|
+
|
|
53
|
+
sig { params(template_header_variables: T::Hash[Symbol, String]).void }
|
|
54
|
+
attr_writer :template_header_variables
|
|
55
|
+
|
|
47
56
|
# Template ID for template messages.
|
|
48
57
|
sig { returns(T.nilable(String)) }
|
|
49
58
|
attr_reader :template_id
|
|
@@ -51,8 +60,10 @@ module Zavudev
|
|
|
51
60
|
sig { params(template_id: String).void }
|
|
52
61
|
attr_writer :template_id
|
|
53
62
|
|
|
54
|
-
# Default body variables (can be overridden per contact).
|
|
55
|
-
# 2
|
|
63
|
+
# Default body variables (can be overridden per contact). Key them to match the
|
|
64
|
+
# template body: by position (`1`, `2`, ...) for positional templates, or by name
|
|
65
|
+
# (e.g. `customer_name`) for named templates. Zavu detects the template's format
|
|
66
|
+
# and sends the correct payload to Meta. Do not mix positional and named keys.
|
|
56
67
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
57
68
|
attr_reader :template_variables
|
|
58
69
|
|
|
@@ -67,6 +78,7 @@ module Zavudev
|
|
|
67
78
|
media_url: String,
|
|
68
79
|
mime_type: String,
|
|
69
80
|
template_button_variables: T::Hash[Symbol, String],
|
|
81
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
70
82
|
template_id: String,
|
|
71
83
|
template_variables: T::Hash[Symbol, String]
|
|
72
84
|
).returns(T.attached_class)
|
|
@@ -83,10 +95,16 @@ module Zavudev
|
|
|
83
95
|
# Default button variables for dynamic URL/OTP buttons. Keys are the button index
|
|
84
96
|
# (0, 1, 2). Per-contact values override these.
|
|
85
97
|
template_button_variables: nil,
|
|
98
|
+
# Default value for a text-header variable, keyed by `1` (can be overridden per
|
|
99
|
+
# contact). If omitted, Zavu resolves the header from `templateVariables` by the
|
|
100
|
+
# header placeholder's name.
|
|
101
|
+
template_header_variables: nil,
|
|
86
102
|
# Template ID for template messages.
|
|
87
103
|
template_id: nil,
|
|
88
|
-
# Default body variables (can be overridden per contact).
|
|
89
|
-
# 2
|
|
104
|
+
# Default body variables (can be overridden per contact). Key them to match the
|
|
105
|
+
# template body: by position (`1`, `2`, ...) for positional templates, or by name
|
|
106
|
+
# (e.g. `customer_name`) for named templates. Zavu detects the template's format
|
|
107
|
+
# and sends the correct payload to Meta. Do not mix positional and named keys.
|
|
90
108
|
template_variables: nil
|
|
91
109
|
)
|
|
92
110
|
end
|
|
@@ -99,6 +117,7 @@ module Zavudev
|
|
|
99
117
|
media_url: String,
|
|
100
118
|
mime_type: String,
|
|
101
119
|
template_button_variables: T::Hash[Symbol, String],
|
|
120
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
102
121
|
template_id: String,
|
|
103
122
|
template_variables: T::Hash[Symbol, String]
|
|
104
123
|
}
|
|
@@ -76,8 +76,20 @@ module Zavudev
|
|
|
76
76
|
end
|
|
77
77
|
attr_writer :template_button_variables
|
|
78
78
|
|
|
79
|
-
# Per-contact
|
|
80
|
-
#
|
|
79
|
+
# Per-contact value for a text-header variable, keyed by `1`. If omitted, Zavu
|
|
80
|
+
# resolves the header from `templateVariables` by the header placeholder's name.
|
|
81
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
82
|
+
attr_reader :template_header_variables
|
|
83
|
+
|
|
84
|
+
sig do
|
|
85
|
+
params(template_header_variables: T::Hash[Symbol, String]).void
|
|
86
|
+
end
|
|
87
|
+
attr_writer :template_header_variables
|
|
88
|
+
|
|
89
|
+
# Per-contact body variables. Key them to match the template body: by position
|
|
90
|
+
# (`1`, `2`, ...) for positional templates, or by name (e.g. `customer_name`) for
|
|
91
|
+
# named templates. Zavu detects the template's format and sends the correct
|
|
92
|
+
# payload to Meta. Do not mix positional and named keys.
|
|
81
93
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
82
94
|
attr_reader :template_variables
|
|
83
95
|
|
|
@@ -88,6 +100,7 @@ module Zavudev
|
|
|
88
100
|
params(
|
|
89
101
|
recipient: String,
|
|
90
102
|
template_button_variables: T::Hash[Symbol, String],
|
|
103
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
91
104
|
template_variables: T::Hash[Symbol, String]
|
|
92
105
|
).returns(T.attached_class)
|
|
93
106
|
end
|
|
@@ -97,8 +110,13 @@ module Zavudev
|
|
|
97
110
|
# Per-contact button variables for dynamic URL/OTP buttons. Keys are the button
|
|
98
111
|
# index (0, 1, 2).
|
|
99
112
|
template_button_variables: nil,
|
|
100
|
-
# Per-contact
|
|
101
|
-
#
|
|
113
|
+
# Per-contact value for a text-header variable, keyed by `1`. If omitted, Zavu
|
|
114
|
+
# resolves the header from `templateVariables` by the header placeholder's name.
|
|
115
|
+
template_header_variables: nil,
|
|
116
|
+
# Per-contact body variables. Key them to match the template body: by position
|
|
117
|
+
# (`1`, `2`, ...) for positional templates, or by name (e.g. `customer_name`) for
|
|
118
|
+
# named templates. Zavu detects the template's format and sends the correct
|
|
119
|
+
# payload to Meta. Do not mix positional and named keys.
|
|
102
120
|
template_variables: nil
|
|
103
121
|
)
|
|
104
122
|
end
|
|
@@ -108,6 +126,7 @@ module Zavudev
|
|
|
108
126
|
{
|
|
109
127
|
recipient: String,
|
|
110
128
|
template_button_variables: T::Hash[Symbol, String],
|
|
129
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
111
130
|
template_variables: T::Hash[Symbol, String]
|
|
112
131
|
}
|
|
113
132
|
)
|
|
@@ -156,6 +156,46 @@ module Zavudev
|
|
|
156
156
|
sig { params(react_to_message_id: String).void }
|
|
157
157
|
attr_writer :react_to_message_id
|
|
158
158
|
|
|
159
|
+
# Sender of the quoted message (phone number in E.164 format).
|
|
160
|
+
sig { returns(T.nilable(String)) }
|
|
161
|
+
attr_reader :reply_to_from
|
|
162
|
+
|
|
163
|
+
sig { params(reply_to_from: String).void }
|
|
164
|
+
attr_writer :reply_to_from
|
|
165
|
+
|
|
166
|
+
# Zavu message ID of the quoted message this message replies to. Present on
|
|
167
|
+
# inbound messages that quote an earlier message. Omitted when the quoted message
|
|
168
|
+
# is not found in Zavu (e.g. an old or unknown message) — use
|
|
169
|
+
# replyToProviderMessageId in that case.
|
|
170
|
+
sig { returns(T.nilable(String)) }
|
|
171
|
+
attr_reader :reply_to_message_id
|
|
172
|
+
|
|
173
|
+
sig { params(reply_to_message_id: String).void }
|
|
174
|
+
attr_writer :reply_to_message_id
|
|
175
|
+
|
|
176
|
+
# Type of the quoted message (text, image, video, etc.).
|
|
177
|
+
sig { returns(T.nilable(String)) }
|
|
178
|
+
attr_reader :reply_to_message_type
|
|
179
|
+
|
|
180
|
+
sig { params(reply_to_message_type: String).void }
|
|
181
|
+
attr_writer :reply_to_message_type
|
|
182
|
+
|
|
183
|
+
# Provider message ID (WhatsApp WAMID) of the quoted message. Present whenever an
|
|
184
|
+
# inbound message is a reply, even if the quoted message is not stored in Zavu.
|
|
185
|
+
sig { returns(T.nilable(String)) }
|
|
186
|
+
attr_reader :reply_to_provider_message_id
|
|
187
|
+
|
|
188
|
+
sig { params(reply_to_provider_message_id: String).void }
|
|
189
|
+
attr_writer :reply_to_provider_message_id
|
|
190
|
+
|
|
191
|
+
# Truncated snippet of the quoted message's text, for display. Empty when the
|
|
192
|
+
# quoted message has no text (e.g. media).
|
|
193
|
+
sig { returns(T.nilable(String)) }
|
|
194
|
+
attr_reader :reply_to_text
|
|
195
|
+
|
|
196
|
+
sig { params(reply_to_text: String).void }
|
|
197
|
+
attr_writer :reply_to_text
|
|
198
|
+
|
|
159
199
|
# Sections for list messages.
|
|
160
200
|
sig { returns(T.nilable(T::Array[Zavudev::MessageContent::Section])) }
|
|
161
201
|
attr_reader :sections
|
|
@@ -187,6 +227,16 @@ module Zavudev
|
|
|
187
227
|
sig { params(template_button_variables: T::Hash[Symbol, String]).void }
|
|
188
228
|
attr_writer :template_button_variables
|
|
189
229
|
|
|
230
|
+
# Value for a text-header variable, keyed by `1` (WhatsApp text headers allow at
|
|
231
|
+
# most one variable). Optional override. If omitted, Zavu resolves the header from
|
|
232
|
+
# `templateVariables` using the header placeholder's name (e.g. `novios`). Static
|
|
233
|
+
# text headers need no value.
|
|
234
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
235
|
+
attr_reader :template_header_variables
|
|
236
|
+
|
|
237
|
+
sig { params(template_header_variables: T::Hash[Symbol, String]).void }
|
|
238
|
+
attr_writer :template_header_variables
|
|
239
|
+
|
|
190
240
|
# Template ID for template messages.
|
|
191
241
|
sig { returns(T.nilable(String)) }
|
|
192
242
|
attr_reader :template_id
|
|
@@ -194,8 +244,11 @@ module Zavudev
|
|
|
194
244
|
sig { params(template_id: String).void }
|
|
195
245
|
attr_writer :template_id
|
|
196
246
|
|
|
197
|
-
# Variables for body placeholders.
|
|
198
|
-
#
|
|
247
|
+
# Variables for body placeholders. Key them to match the template body: by
|
|
248
|
+
# position (`1`, `2`, ...) for positional templates, or by name (e.g.
|
|
249
|
+
# `customer_name`) for named templates. Zavu detects the template's format and
|
|
250
|
+
# sends the correct payload to Meta. Named keys also resolve a named text-header
|
|
251
|
+
# variable. Do not mix positional and named keys in the same request.
|
|
199
252
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
200
253
|
attr_reader :template_variables
|
|
201
254
|
|
|
@@ -224,8 +277,14 @@ module Zavudev
|
|
|
224
277
|
media_url: String,
|
|
225
278
|
mime_type: String,
|
|
226
279
|
react_to_message_id: String,
|
|
280
|
+
reply_to_from: String,
|
|
281
|
+
reply_to_message_id: String,
|
|
282
|
+
reply_to_message_type: String,
|
|
283
|
+
reply_to_provider_message_id: String,
|
|
284
|
+
reply_to_text: String,
|
|
227
285
|
sections: T::Array[Zavudev::MessageContent::Section::OrHash],
|
|
228
286
|
template_button_variables: T::Hash[Symbol, String],
|
|
287
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
229
288
|
template_id: String,
|
|
230
289
|
template_variables: T::Hash[Symbol, String]
|
|
231
290
|
).returns(T.attached_class)
|
|
@@ -272,6 +331,21 @@ module Zavudev
|
|
|
272
331
|
mime_type: nil,
|
|
273
332
|
# Message ID to react to.
|
|
274
333
|
react_to_message_id: nil,
|
|
334
|
+
# Sender of the quoted message (phone number in E.164 format).
|
|
335
|
+
reply_to_from: nil,
|
|
336
|
+
# Zavu message ID of the quoted message this message replies to. Present on
|
|
337
|
+
# inbound messages that quote an earlier message. Omitted when the quoted message
|
|
338
|
+
# is not found in Zavu (e.g. an old or unknown message) — use
|
|
339
|
+
# replyToProviderMessageId in that case.
|
|
340
|
+
reply_to_message_id: nil,
|
|
341
|
+
# Type of the quoted message (text, image, video, etc.).
|
|
342
|
+
reply_to_message_type: nil,
|
|
343
|
+
# Provider message ID (WhatsApp WAMID) of the quoted message. Present whenever an
|
|
344
|
+
# inbound message is a reply, even if the quoted message is not stored in Zavu.
|
|
345
|
+
reply_to_provider_message_id: nil,
|
|
346
|
+
# Truncated snippet of the quoted message's text, for display. Empty when the
|
|
347
|
+
# quoted message has no text (e.g. media).
|
|
348
|
+
reply_to_text: nil,
|
|
275
349
|
# Sections for list messages.
|
|
276
350
|
sections: nil,
|
|
277
351
|
# Variables for dynamic button placeholders (URL buttons and OTP buttons). Keys
|
|
@@ -289,10 +363,18 @@ module Zavudev
|
|
|
289
363
|
# - Static URL buttons (no placeholder) and `quick_reply` buttons are not included
|
|
290
364
|
# here.
|
|
291
365
|
template_button_variables: nil,
|
|
366
|
+
# Value for a text-header variable, keyed by `1` (WhatsApp text headers allow at
|
|
367
|
+
# most one variable). Optional override. If omitted, Zavu resolves the header from
|
|
368
|
+
# `templateVariables` using the header placeholder's name (e.g. `novios`). Static
|
|
369
|
+
# text headers need no value.
|
|
370
|
+
template_header_variables: nil,
|
|
292
371
|
# Template ID for template messages.
|
|
293
372
|
template_id: nil,
|
|
294
|
-
# Variables for body placeholders.
|
|
295
|
-
#
|
|
373
|
+
# Variables for body placeholders. Key them to match the template body: by
|
|
374
|
+
# position (`1`, `2`, ...) for positional templates, or by name (e.g.
|
|
375
|
+
# `customer_name`) for named templates. Zavu detects the template's format and
|
|
376
|
+
# sends the correct payload to Meta. Named keys also resolve a named text-header
|
|
377
|
+
# variable. Do not mix positional and named keys in the same request.
|
|
296
378
|
template_variables: nil
|
|
297
379
|
)
|
|
298
380
|
end
|
|
@@ -319,8 +401,14 @@ module Zavudev
|
|
|
319
401
|
media_url: String,
|
|
320
402
|
mime_type: String,
|
|
321
403
|
react_to_message_id: String,
|
|
404
|
+
reply_to_from: String,
|
|
405
|
+
reply_to_message_id: String,
|
|
406
|
+
reply_to_message_type: String,
|
|
407
|
+
reply_to_provider_message_id: String,
|
|
408
|
+
reply_to_text: String,
|
|
322
409
|
sections: T::Array[Zavudev::MessageContent::Section],
|
|
323
410
|
template_button_variables: T::Hash[Symbol, String],
|
|
411
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
324
412
|
template_id: String,
|
|
325
413
|
template_variables: T::Hash[Symbol, String]
|
|
326
414
|
}
|
|
@@ -9,8 +9,11 @@ module Zavudev
|
|
|
9
9
|
sig { returns(String) }
|
|
10
10
|
attr_accessor :id
|
|
11
11
|
|
|
12
|
-
# Default template body with variables: {{1}}, {{2}}
|
|
13
|
-
# {{contact.first_name}}.
|
|
12
|
+
# Default template body with variables: positional ({{1}}, {{2}}) or named
|
|
13
|
+
# ({{customer_name}}, {{contact.first_name}}). Templates created in Zavu are
|
|
14
|
+
# submitted to Meta as positional; templates imported from a WhatsApp Business
|
|
15
|
+
# Account keep their original format (named or positional). Used when no
|
|
16
|
+
# channel-specific body is set.
|
|
14
17
|
sig { returns(String) }
|
|
15
18
|
attr_accessor :body
|
|
16
19
|
|
|
@@ -146,8 +149,11 @@ module Zavudev
|
|
|
146
149
|
end
|
|
147
150
|
def self.new(
|
|
148
151
|
id:,
|
|
149
|
-
# Default template body with variables: {{1}}, {{2}}
|
|
150
|
-
# {{contact.first_name}}.
|
|
152
|
+
# Default template body with variables: positional ({{1}}, {{2}}) or named
|
|
153
|
+
# ({{customer_name}}, {{contact.first_name}}). Templates created in Zavu are
|
|
154
|
+
# submitted to Meta as positional; templates imported from a WhatsApp Business
|
|
155
|
+
# Account keep their original format (named or positional). Used when no
|
|
156
|
+
# channel-specific body is set.
|
|
151
157
|
body:,
|
|
152
158
|
# WhatsApp template category.
|
|
153
159
|
category:,
|
|
@@ -18,7 +18,10 @@ module Zavudev
|
|
|
18
18
|
# **Inbound events:**
|
|
19
19
|
#
|
|
20
20
|
# - `message.inbound`: New message received from a contact. Reactions are
|
|
21
|
-
# delivered as `message.inbound` with `messageType='reaction'
|
|
21
|
+
# delivered as `message.inbound` with `messageType='reaction'`. When the contact
|
|
22
|
+
# replied to (quoted) an earlier message, `data.content` carries the reply
|
|
23
|
+
# context: `replyToMessageId`, `replyToProviderMessageId`, `replyToFrom`,
|
|
24
|
+
# `replyToText`, and `replyToMessageType`.
|
|
22
25
|
# - `message.unsupported`: Received a message type that is not supported
|
|
23
26
|
#
|
|
24
27
|
# **Broadcast events:**
|
|
@@ -13,6 +13,7 @@ module Zavudev
|
|
|
13
13
|
message_id: String,
|
|
14
14
|
processed_at: Time,
|
|
15
15
|
template_button_variables: ::Hash[Symbol, String],
|
|
16
|
+
template_header_variables: ::Hash[Symbol, String],
|
|
16
17
|
template_variables: ::Hash[Symbol, String]
|
|
17
18
|
}
|
|
18
19
|
|
|
@@ -51,6 +52,12 @@ module Zavudev
|
|
|
51
52
|
::Hash[Symbol, String]
|
|
52
53
|
) -> ::Hash[Symbol, String]
|
|
53
54
|
|
|
55
|
+
attr_reader template_header_variables: ::Hash[Symbol, String]?
|
|
56
|
+
|
|
57
|
+
def template_header_variables=: (
|
|
58
|
+
::Hash[Symbol, String]
|
|
59
|
+
) -> ::Hash[Symbol, String]
|
|
60
|
+
|
|
54
61
|
attr_reader template_variables: ::Hash[Symbol, String]?
|
|
55
62
|
|
|
56
63
|
def template_variables=: (
|
|
@@ -69,6 +76,7 @@ module Zavudev
|
|
|
69
76
|
?message_id: String,
|
|
70
77
|
?processed_at: Time,
|
|
71
78
|
?template_button_variables: ::Hash[Symbol, String],
|
|
79
|
+
?template_header_variables: ::Hash[Symbol, String],
|
|
72
80
|
?template_variables: ::Hash[Symbol, String]
|
|
73
81
|
) -> void
|
|
74
82
|
|
|
@@ -84,6 +92,7 @@ module Zavudev
|
|
|
84
92
|
message_id: String,
|
|
85
93
|
processed_at: Time,
|
|
86
94
|
template_button_variables: ::Hash[Symbol, String],
|
|
95
|
+
template_header_variables: ::Hash[Symbol, String],
|
|
87
96
|
template_variables: ::Hash[Symbol, String]
|
|
88
97
|
}
|
|
89
98
|
|
|
@@ -7,6 +7,7 @@ module Zavudev
|
|
|
7
7
|
media_url: String,
|
|
8
8
|
mime_type: String,
|
|
9
9
|
template_button_variables: ::Hash[Symbol, String],
|
|
10
|
+
template_header_variables: ::Hash[Symbol, String],
|
|
10
11
|
template_id: String,
|
|
11
12
|
template_variables: ::Hash[Symbol, String]
|
|
12
13
|
}
|
|
@@ -34,6 +35,12 @@ module Zavudev
|
|
|
34
35
|
::Hash[Symbol, String]
|
|
35
36
|
) -> ::Hash[Symbol, String]
|
|
36
37
|
|
|
38
|
+
attr_reader template_header_variables: ::Hash[Symbol, String]?
|
|
39
|
+
|
|
40
|
+
def template_header_variables=: (
|
|
41
|
+
::Hash[Symbol, String]
|
|
42
|
+
) -> ::Hash[Symbol, String]
|
|
43
|
+
|
|
37
44
|
attr_reader template_id: String?
|
|
38
45
|
|
|
39
46
|
def template_id=: (String) -> String
|
|
@@ -50,6 +57,7 @@ module Zavudev
|
|
|
50
57
|
?media_url: String,
|
|
51
58
|
?mime_type: String,
|
|
52
59
|
?template_button_variables: ::Hash[Symbol, String],
|
|
60
|
+
?template_header_variables: ::Hash[Symbol, String],
|
|
53
61
|
?template_id: String,
|
|
54
62
|
?template_variables: ::Hash[Symbol, String]
|
|
55
63
|
) -> void
|
|
@@ -60,6 +68,7 @@ module Zavudev
|
|
|
60
68
|
media_url: String,
|
|
61
69
|
mime_type: String,
|
|
62
70
|
template_button_variables: ::Hash[Symbol, String],
|
|
71
|
+
template_header_variables: ::Hash[Symbol, String],
|
|
63
72
|
template_id: String,
|
|
64
73
|
template_variables: ::Hash[Symbol, String]
|
|
65
74
|
}
|
|
@@ -32,6 +32,7 @@ module Zavudev
|
|
|
32
32
|
{
|
|
33
33
|
recipient: String,
|
|
34
34
|
template_button_variables: ::Hash[Symbol, String],
|
|
35
|
+
template_header_variables: ::Hash[Symbol, String],
|
|
35
36
|
template_variables: ::Hash[Symbol, String]
|
|
36
37
|
}
|
|
37
38
|
|
|
@@ -44,6 +45,12 @@ module Zavudev
|
|
|
44
45
|
::Hash[Symbol, String]
|
|
45
46
|
) -> ::Hash[Symbol, String]
|
|
46
47
|
|
|
48
|
+
attr_reader template_header_variables: ::Hash[Symbol, String]?
|
|
49
|
+
|
|
50
|
+
def template_header_variables=: (
|
|
51
|
+
::Hash[Symbol, String]
|
|
52
|
+
) -> ::Hash[Symbol, String]
|
|
53
|
+
|
|
47
54
|
attr_reader template_variables: ::Hash[Symbol, String]?
|
|
48
55
|
|
|
49
56
|
def template_variables=: (
|
|
@@ -53,12 +60,14 @@ module Zavudev
|
|
|
53
60
|
def initialize: (
|
|
54
61
|
recipient: String,
|
|
55
62
|
?template_button_variables: ::Hash[Symbol, String],
|
|
63
|
+
?template_header_variables: ::Hash[Symbol, String],
|
|
56
64
|
?template_variables: ::Hash[Symbol, String]
|
|
57
65
|
) -> void
|
|
58
66
|
|
|
59
67
|
def to_hash: -> {
|
|
60
68
|
recipient: String,
|
|
61
69
|
template_button_variables: ::Hash[Symbol, String],
|
|
70
|
+
template_header_variables: ::Hash[Symbol, String],
|
|
62
71
|
template_variables: ::Hash[Symbol, String]
|
|
63
72
|
}
|
|
64
73
|
end
|
|
@@ -21,8 +21,14 @@ module Zavudev
|
|
|
21
21
|
media_url: String,
|
|
22
22
|
mime_type: String,
|
|
23
23
|
react_to_message_id: String,
|
|
24
|
+
reply_to_from: String,
|
|
25
|
+
reply_to_message_id: String,
|
|
26
|
+
reply_to_message_type: String,
|
|
27
|
+
reply_to_provider_message_id: String,
|
|
28
|
+
reply_to_text: String,
|
|
24
29
|
sections: ::Array[Zavudev::MessageContent::Section],
|
|
25
30
|
template_button_variables: ::Hash[Symbol, String],
|
|
31
|
+
template_header_variables: ::Hash[Symbol, String],
|
|
26
32
|
template_id: String,
|
|
27
33
|
template_variables: ::Hash[Symbol, String]
|
|
28
34
|
}
|
|
@@ -110,6 +116,26 @@ module Zavudev
|
|
|
110
116
|
|
|
111
117
|
def react_to_message_id=: (String) -> String
|
|
112
118
|
|
|
119
|
+
attr_reader reply_to_from: String?
|
|
120
|
+
|
|
121
|
+
def reply_to_from=: (String) -> String
|
|
122
|
+
|
|
123
|
+
attr_reader reply_to_message_id: String?
|
|
124
|
+
|
|
125
|
+
def reply_to_message_id=: (String) -> String
|
|
126
|
+
|
|
127
|
+
attr_reader reply_to_message_type: String?
|
|
128
|
+
|
|
129
|
+
def reply_to_message_type=: (String) -> String
|
|
130
|
+
|
|
131
|
+
attr_reader reply_to_provider_message_id: String?
|
|
132
|
+
|
|
133
|
+
def reply_to_provider_message_id=: (String) -> String
|
|
134
|
+
|
|
135
|
+
attr_reader reply_to_text: String?
|
|
136
|
+
|
|
137
|
+
def reply_to_text=: (String) -> String
|
|
138
|
+
|
|
113
139
|
attr_reader sections: ::Array[Zavudev::MessageContent::Section]?
|
|
114
140
|
|
|
115
141
|
def sections=: (
|
|
@@ -122,6 +148,12 @@ module Zavudev
|
|
|
122
148
|
::Hash[Symbol, String]
|
|
123
149
|
) -> ::Hash[Symbol, String]
|
|
124
150
|
|
|
151
|
+
attr_reader template_header_variables: ::Hash[Symbol, String]?
|
|
152
|
+
|
|
153
|
+
def template_header_variables=: (
|
|
154
|
+
::Hash[Symbol, String]
|
|
155
|
+
) -> ::Hash[Symbol, String]
|
|
156
|
+
|
|
125
157
|
attr_reader template_id: String?
|
|
126
158
|
|
|
127
159
|
def template_id=: (String) -> String
|
|
@@ -152,8 +184,14 @@ module Zavudev
|
|
|
152
184
|
?media_url: String,
|
|
153
185
|
?mime_type: String,
|
|
154
186
|
?react_to_message_id: String,
|
|
187
|
+
?reply_to_from: String,
|
|
188
|
+
?reply_to_message_id: String,
|
|
189
|
+
?reply_to_message_type: String,
|
|
190
|
+
?reply_to_provider_message_id: String,
|
|
191
|
+
?reply_to_text: String,
|
|
155
192
|
?sections: ::Array[Zavudev::MessageContent::Section],
|
|
156
193
|
?template_button_variables: ::Hash[Symbol, String],
|
|
194
|
+
?template_header_variables: ::Hash[Symbol, String],
|
|
157
195
|
?template_id: String,
|
|
158
196
|
?template_variables: ::Hash[Symbol, String]
|
|
159
197
|
) -> void
|
|
@@ -178,8 +216,14 @@ module Zavudev
|
|
|
178
216
|
media_url: String,
|
|
179
217
|
mime_type: String,
|
|
180
218
|
react_to_message_id: String,
|
|
219
|
+
reply_to_from: String,
|
|
220
|
+
reply_to_message_id: String,
|
|
221
|
+
reply_to_message_type: String,
|
|
222
|
+
reply_to_provider_message_id: String,
|
|
223
|
+
reply_to_text: String,
|
|
181
224
|
sections: ::Array[Zavudev::MessageContent::Section],
|
|
182
225
|
template_button_variables: ::Hash[Symbol, String],
|
|
226
|
+
template_header_variables: ::Hash[Symbol, String],
|
|
183
227
|
template_id: String,
|
|
184
228
|
template_variables: ::Hash[Symbol, String]
|
|
185
229
|
}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zavudev
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.13.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Zavudev
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-06-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|