zavudev 0.5.0 → 0.7.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 +22 -0
- data/README.md +1 -1
- data/lib/zavudev/internal/util.rb +3 -1
- data/lib/zavudev/models/contact.rb +3 -153
- data/lib/zavudev/models/contact_channel.rb +155 -0
- data/lib/zavudev/models/message_send_params.rb +4 -3
- data/lib/zavudev/models/senders/agent/agent_flow.rb +6 -101
- data/lib/zavudev/models/senders/agent/agent_tool.rb +3 -53
- data/lib/zavudev/models/senders/agent/flow_create_params.rb +6 -100
- data/lib/zavudev/models/senders/agent/flow_step.rb +61 -0
- data/lib/zavudev/models/senders/agent/flow_trigger.rb +51 -0
- data/lib/zavudev/models/senders/agent/flow_update_params.rb +6 -100
- data/lib/zavudev/models/senders/agent/tool_create_params.rb +3 -52
- data/lib/zavudev/models/senders/agent/tool_parameters.rb +58 -0
- data/lib/zavudev/models/senders/agent/tool_update_params.rb +3 -52
- data/lib/zavudev/models/template.rb +33 -5
- data/lib/zavudev/models/template_create_params.rb +64 -2
- data/lib/zavudev/models.rb +2 -0
- data/lib/zavudev/resources/messages.rb +1 -1
- data/lib/zavudev/resources/senders/agent/flows.rb +4 -4
- data/lib/zavudev/resources/senders/agent/tools.rb +2 -2
- data/lib/zavudev/resources/templates.rb +14 -2
- data/lib/zavudev/version.rb +1 -1
- data/lib/zavudev.rb +4 -0
- data/rbi/zavudev/models/contact.rbi +4 -235
- data/rbi/zavudev/models/contact_channel.rbi +231 -0
- data/rbi/zavudev/models/message_send_params.rbi +6 -4
- data/rbi/zavudev/models/senders/agent/agent_flow.rbi +7 -233
- data/rbi/zavudev/models/senders/agent/agent_tool.rbi +4 -130
- data/rbi/zavudev/models/senders/agent/flow_create_params.rbi +7 -245
- data/rbi/zavudev/models/senders/agent/flow_step.rbi +115 -0
- data/rbi/zavudev/models/senders/agent/flow_trigger.rbi +108 -0
- data/rbi/zavudev/models/senders/agent/flow_update_params.rbi +8 -255
- data/rbi/zavudev/models/senders/agent/tool_create_params.rbi +4 -132
- data/rbi/zavudev/models/senders/agent/tool_parameters.rbi +124 -0
- data/rbi/zavudev/models/senders/agent/tool_update_params.rbi +4 -136
- data/rbi/zavudev/models/template.rbi +39 -4
- data/rbi/zavudev/models/template_create_params.rbi +105 -0
- data/rbi/zavudev/models.rbi +2 -0
- data/rbi/zavudev/resources/messages.rbi +3 -3
- data/rbi/zavudev/resources/senders/agent/flows.rbi +4 -12
- data/rbi/zavudev/resources/senders/agent/tools.rbi +2 -4
- data/rbi/zavudev/resources/templates.rbi +19 -0
- data/sig/zavudev/models/contact.rbs +6 -153
- data/sig/zavudev/models/contact_channel.rbs +150 -0
- data/sig/zavudev/models/senders/agent/agent_flow.rbs +8 -100
- data/sig/zavudev/models/senders/agent/agent_tool.rbs +4 -57
- data/sig/zavudev/models/senders/agent/flow_create_params.rbs +8 -100
- data/sig/zavudev/models/senders/agent/flow_step.rbs +55 -0
- data/sig/zavudev/models/senders/agent/flow_trigger.rbs +51 -0
- data/sig/zavudev/models/senders/agent/flow_update_params.rbs +12 -104
- data/sig/zavudev/models/senders/agent/tool_create_params.rbs +4 -57
- data/sig/zavudev/models/senders/agent/tool_parameters.rbs +60 -0
- data/sig/zavudev/models/senders/agent/tool_update_params.rbs +6 -59
- data/sig/zavudev/models/template.rbs +21 -0
- data/sig/zavudev/models/template_create_params.rbs +57 -0
- data/sig/zavudev/models.rbs +2 -0
- data/sig/zavudev/resources/senders/agent/flows.rbs +4 -4
- data/sig/zavudev/resources/senders/agent/tools.rbs +2 -2
- data/sig/zavudev/resources/templates.rbs +6 -0
- metadata +14 -2
|
@@ -40,17 +40,12 @@ module Zavudev
|
|
|
40
40
|
sig { params(name: String).void }
|
|
41
41
|
attr_writer :name
|
|
42
42
|
|
|
43
|
-
sig
|
|
44
|
-
returns(
|
|
45
|
-
T.nilable(Zavudev::Senders::Agent::ToolUpdateParams::Parameters)
|
|
46
|
-
)
|
|
47
|
-
end
|
|
43
|
+
sig { returns(T.nilable(Zavudev::Senders::Agent::ToolParameters)) }
|
|
48
44
|
attr_reader :parameters
|
|
49
45
|
|
|
50
46
|
sig do
|
|
51
47
|
params(
|
|
52
|
-
parameters:
|
|
53
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::OrHash
|
|
48
|
+
parameters: Zavudev::Senders::Agent::ToolParameters::OrHash
|
|
54
49
|
).void
|
|
55
50
|
end
|
|
56
51
|
attr_writer :parameters
|
|
@@ -71,8 +66,7 @@ module Zavudev
|
|
|
71
66
|
description: String,
|
|
72
67
|
enabled: T::Boolean,
|
|
73
68
|
name: String,
|
|
74
|
-
parameters:
|
|
75
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::OrHash,
|
|
69
|
+
parameters: Zavudev::Senders::Agent::ToolParameters::OrHash,
|
|
76
70
|
webhook_secret: T.nilable(String),
|
|
77
71
|
webhook_url: String,
|
|
78
72
|
request_options: Zavudev::RequestOptions::OrHash
|
|
@@ -99,8 +93,7 @@ module Zavudev
|
|
|
99
93
|
description: String,
|
|
100
94
|
enabled: T::Boolean,
|
|
101
95
|
name: String,
|
|
102
|
-
parameters:
|
|
103
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters,
|
|
96
|
+
parameters: Zavudev::Senders::Agent::ToolParameters,
|
|
104
97
|
webhook_secret: T.nilable(String),
|
|
105
98
|
webhook_url: String,
|
|
106
99
|
request_options: Zavudev::RequestOptions
|
|
@@ -109,131 +102,6 @@ module Zavudev
|
|
|
109
102
|
end
|
|
110
103
|
def to_hash
|
|
111
104
|
end
|
|
112
|
-
|
|
113
|
-
class Parameters < Zavudev::Internal::Type::BaseModel
|
|
114
|
-
OrHash =
|
|
115
|
-
T.type_alias do
|
|
116
|
-
T.any(
|
|
117
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters,
|
|
118
|
-
Zavudev::Internal::AnyHash
|
|
119
|
-
)
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
sig do
|
|
123
|
-
returns(
|
|
124
|
-
T::Hash[
|
|
125
|
-
Symbol,
|
|
126
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Property
|
|
127
|
-
]
|
|
128
|
-
)
|
|
129
|
-
end
|
|
130
|
-
attr_accessor :properties
|
|
131
|
-
|
|
132
|
-
sig { returns(T::Array[String]) }
|
|
133
|
-
attr_accessor :required
|
|
134
|
-
|
|
135
|
-
sig do
|
|
136
|
-
returns(
|
|
137
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Type::OrSymbol
|
|
138
|
-
)
|
|
139
|
-
end
|
|
140
|
-
attr_accessor :type
|
|
141
|
-
|
|
142
|
-
sig do
|
|
143
|
-
params(
|
|
144
|
-
properties:
|
|
145
|
-
T::Hash[
|
|
146
|
-
Symbol,
|
|
147
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Property::OrHash
|
|
148
|
-
],
|
|
149
|
-
required: T::Array[String],
|
|
150
|
-
type:
|
|
151
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Type::OrSymbol
|
|
152
|
-
).returns(T.attached_class)
|
|
153
|
-
end
|
|
154
|
-
def self.new(properties:, required:, type:)
|
|
155
|
-
end
|
|
156
|
-
|
|
157
|
-
sig do
|
|
158
|
-
override.returns(
|
|
159
|
-
{
|
|
160
|
-
properties:
|
|
161
|
-
T::Hash[
|
|
162
|
-
Symbol,
|
|
163
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Property
|
|
164
|
-
],
|
|
165
|
-
required: T::Array[String],
|
|
166
|
-
type:
|
|
167
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Type::OrSymbol
|
|
168
|
-
}
|
|
169
|
-
)
|
|
170
|
-
end
|
|
171
|
-
def to_hash
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
class Property < Zavudev::Internal::Type::BaseModel
|
|
175
|
-
OrHash =
|
|
176
|
-
T.type_alias do
|
|
177
|
-
T.any(
|
|
178
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Property,
|
|
179
|
-
Zavudev::Internal::AnyHash
|
|
180
|
-
)
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
sig { returns(T.nilable(String)) }
|
|
184
|
-
attr_reader :description
|
|
185
|
-
|
|
186
|
-
sig { params(description: String).void }
|
|
187
|
-
attr_writer :description
|
|
188
|
-
|
|
189
|
-
sig { returns(T.nilable(String)) }
|
|
190
|
-
attr_reader :type
|
|
191
|
-
|
|
192
|
-
sig { params(type: String).void }
|
|
193
|
-
attr_writer :type
|
|
194
|
-
|
|
195
|
-
sig do
|
|
196
|
-
params(description: String, type: String).returns(
|
|
197
|
-
T.attached_class
|
|
198
|
-
)
|
|
199
|
-
end
|
|
200
|
-
def self.new(description: nil, type: nil)
|
|
201
|
-
end
|
|
202
|
-
|
|
203
|
-
sig { override.returns({ description: String, type: String }) }
|
|
204
|
-
def to_hash
|
|
205
|
-
end
|
|
206
|
-
end
|
|
207
|
-
|
|
208
|
-
module Type
|
|
209
|
-
extend Zavudev::Internal::Type::Enum
|
|
210
|
-
|
|
211
|
-
TaggedSymbol =
|
|
212
|
-
T.type_alias do
|
|
213
|
-
T.all(
|
|
214
|
-
Symbol,
|
|
215
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Type
|
|
216
|
-
)
|
|
217
|
-
end
|
|
218
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
219
|
-
|
|
220
|
-
OBJECT =
|
|
221
|
-
T.let(
|
|
222
|
-
:object,
|
|
223
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Type::TaggedSymbol
|
|
224
|
-
)
|
|
225
|
-
|
|
226
|
-
sig do
|
|
227
|
-
override.returns(
|
|
228
|
-
T::Array[
|
|
229
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Type::TaggedSymbol
|
|
230
|
-
]
|
|
231
|
-
)
|
|
232
|
-
end
|
|
233
|
-
def self.values
|
|
234
|
-
end
|
|
235
|
-
end
|
|
236
|
-
end
|
|
237
105
|
end
|
|
238
106
|
end
|
|
239
107
|
end
|
|
@@ -9,7 +9,8 @@ module Zavudev
|
|
|
9
9
|
sig { returns(String) }
|
|
10
10
|
attr_accessor :id
|
|
11
11
|
|
|
12
|
-
#
|
|
12
|
+
# Default template body with variables: {{1}}, {{2}}, or named variables like
|
|
13
|
+
# {{contact.first_name}}. Used when no channel-specific body is set.
|
|
13
14
|
sig { returns(String) }
|
|
14
15
|
attr_accessor :body
|
|
15
16
|
|
|
@@ -21,7 +22,7 @@ module Zavudev
|
|
|
21
22
|
sig { returns(String) }
|
|
22
23
|
attr_accessor :language
|
|
23
24
|
|
|
24
|
-
# Template name
|
|
25
|
+
# Template name. For WhatsApp, must match the approved template name in Meta.
|
|
25
26
|
sig { returns(String) }
|
|
26
27
|
attr_accessor :name
|
|
27
28
|
|
|
@@ -73,12 +74,33 @@ module Zavudev
|
|
|
73
74
|
sig { params(header_type: String).void }
|
|
74
75
|
attr_writer :header_type
|
|
75
76
|
|
|
77
|
+
# Channel-specific body for Instagram messages. Falls back to `body` if not set.
|
|
78
|
+
sig { returns(T.nilable(String)) }
|
|
79
|
+
attr_reader :instagram_body
|
|
80
|
+
|
|
81
|
+
sig { params(instagram_body: String).void }
|
|
82
|
+
attr_writer :instagram_body
|
|
83
|
+
|
|
84
|
+
# Channel-specific body for SMS messages. Falls back to `body` if not set.
|
|
85
|
+
sig { returns(T.nilable(String)) }
|
|
86
|
+
attr_reader :sms_body
|
|
87
|
+
|
|
88
|
+
sig { params(sms_body: String).void }
|
|
89
|
+
attr_writer :sms_body
|
|
90
|
+
|
|
76
91
|
sig { returns(T.nilable(Zavudev::Template::Status::TaggedSymbol)) }
|
|
77
92
|
attr_reader :status
|
|
78
93
|
|
|
79
94
|
sig { params(status: Zavudev::Template::Status::OrSymbol).void }
|
|
80
95
|
attr_writer :status
|
|
81
96
|
|
|
97
|
+
# Channel-specific body for Telegram messages. Falls back to `body` if not set.
|
|
98
|
+
sig { returns(T.nilable(String)) }
|
|
99
|
+
attr_reader :telegram_body
|
|
100
|
+
|
|
101
|
+
sig { params(telegram_body: String).void }
|
|
102
|
+
attr_writer :telegram_body
|
|
103
|
+
|
|
82
104
|
sig { returns(T.nilable(Time)) }
|
|
83
105
|
attr_reader :updated_at
|
|
84
106
|
|
|
@@ -113,7 +135,10 @@ module Zavudev
|
|
|
113
135
|
footer: String,
|
|
114
136
|
header_content: String,
|
|
115
137
|
header_type: String,
|
|
138
|
+
instagram_body: String,
|
|
139
|
+
sms_body: String,
|
|
116
140
|
status: Zavudev::Template::Status::OrSymbol,
|
|
141
|
+
telegram_body: String,
|
|
117
142
|
updated_at: Time,
|
|
118
143
|
variables: T::Array[String],
|
|
119
144
|
whatsapp: Zavudev::Template::Whatsapp::OrHash
|
|
@@ -121,13 +146,14 @@ module Zavudev
|
|
|
121
146
|
end
|
|
122
147
|
def self.new(
|
|
123
148
|
id:,
|
|
124
|
-
#
|
|
149
|
+
# Default template body with variables: {{1}}, {{2}}, or named variables like
|
|
150
|
+
# {{contact.first_name}}. Used when no channel-specific body is set.
|
|
125
151
|
body:,
|
|
126
152
|
# WhatsApp template category.
|
|
127
153
|
category:,
|
|
128
154
|
# Language code.
|
|
129
155
|
language:,
|
|
130
|
-
# Template name
|
|
156
|
+
# Template name. For WhatsApp, must match the approved template name in Meta.
|
|
131
157
|
name:,
|
|
132
158
|
# Add 'Do not share this code' disclaimer. Only for AUTHENTICATION templates.
|
|
133
159
|
add_security_recommendation: nil,
|
|
@@ -142,7 +168,13 @@ module Zavudev
|
|
|
142
168
|
header_content: nil,
|
|
143
169
|
# Type of header (text, image, video, document).
|
|
144
170
|
header_type: nil,
|
|
171
|
+
# Channel-specific body for Instagram messages. Falls back to `body` if not set.
|
|
172
|
+
instagram_body: nil,
|
|
173
|
+
# Channel-specific body for SMS messages. Falls back to `body` if not set.
|
|
174
|
+
sms_body: nil,
|
|
145
175
|
status: nil,
|
|
176
|
+
# Channel-specific body for Telegram messages. Falls back to `body` if not set.
|
|
177
|
+
telegram_body: nil,
|
|
146
178
|
updated_at: nil,
|
|
147
179
|
# List of variable names for documentation.
|
|
148
180
|
variables: nil,
|
|
@@ -166,7 +198,10 @@ module Zavudev
|
|
|
166
198
|
footer: String,
|
|
167
199
|
header_content: String,
|
|
168
200
|
header_type: String,
|
|
201
|
+
instagram_body: String,
|
|
202
|
+
sms_body: String,
|
|
169
203
|
status: Zavudev::Template::Status::TaggedSymbol,
|
|
204
|
+
telegram_body: String,
|
|
170
205
|
updated_at: Time,
|
|
171
206
|
variables: T::Array[String],
|
|
172
207
|
whatsapp: Zavudev::Template::Whatsapp
|
|
@@ -11,6 +11,7 @@ module Zavudev
|
|
|
11
11
|
T.any(Zavudev::TemplateCreateParams, Zavudev::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# Default template body. Used when no channel-specific body is set.
|
|
14
15
|
sig { returns(String) }
|
|
15
16
|
attr_accessor :body
|
|
16
17
|
|
|
@@ -47,6 +48,54 @@ module Zavudev
|
|
|
47
48
|
sig { params(code_expiration_minutes: Integer).void }
|
|
48
49
|
attr_writer :code_expiration_minutes
|
|
49
50
|
|
|
51
|
+
# Footer text for the template.
|
|
52
|
+
sig { returns(T.nilable(String)) }
|
|
53
|
+
attr_reader :footer
|
|
54
|
+
|
|
55
|
+
sig { params(footer: String).void }
|
|
56
|
+
attr_writer :footer
|
|
57
|
+
|
|
58
|
+
# Header content (text string or media URL).
|
|
59
|
+
sig { returns(T.nilable(String)) }
|
|
60
|
+
attr_reader :header_content
|
|
61
|
+
|
|
62
|
+
sig { params(header_content: String).void }
|
|
63
|
+
attr_writer :header_content
|
|
64
|
+
|
|
65
|
+
# Type of header for the template.
|
|
66
|
+
sig do
|
|
67
|
+
returns(T.nilable(Zavudev::TemplateCreateParams::HeaderType::OrSymbol))
|
|
68
|
+
end
|
|
69
|
+
attr_reader :header_type
|
|
70
|
+
|
|
71
|
+
sig do
|
|
72
|
+
params(
|
|
73
|
+
header_type: Zavudev::TemplateCreateParams::HeaderType::OrSymbol
|
|
74
|
+
).void
|
|
75
|
+
end
|
|
76
|
+
attr_writer :header_type
|
|
77
|
+
|
|
78
|
+
# Channel-specific body for Instagram. Falls back to `body` if not set.
|
|
79
|
+
sig { returns(T.nilable(String)) }
|
|
80
|
+
attr_reader :instagram_body
|
|
81
|
+
|
|
82
|
+
sig { params(instagram_body: String).void }
|
|
83
|
+
attr_writer :instagram_body
|
|
84
|
+
|
|
85
|
+
# Channel-specific body for SMS. Falls back to `body` if not set.
|
|
86
|
+
sig { returns(T.nilable(String)) }
|
|
87
|
+
attr_reader :sms_body
|
|
88
|
+
|
|
89
|
+
sig { params(sms_body: String).void }
|
|
90
|
+
attr_writer :sms_body
|
|
91
|
+
|
|
92
|
+
# Channel-specific body for Telegram. Falls back to `body` if not set.
|
|
93
|
+
sig { returns(T.nilable(String)) }
|
|
94
|
+
attr_reader :telegram_body
|
|
95
|
+
|
|
96
|
+
sig { params(telegram_body: String).void }
|
|
97
|
+
attr_writer :telegram_body
|
|
98
|
+
|
|
50
99
|
sig { returns(T.nilable(T::Array[String])) }
|
|
51
100
|
attr_reader :variables
|
|
52
101
|
|
|
@@ -70,12 +119,19 @@ module Zavudev
|
|
|
70
119
|
add_security_recommendation: T::Boolean,
|
|
71
120
|
buttons: T::Array[Zavudev::TemplateCreateParams::Button::OrHash],
|
|
72
121
|
code_expiration_minutes: Integer,
|
|
122
|
+
footer: String,
|
|
123
|
+
header_content: String,
|
|
124
|
+
header_type: Zavudev::TemplateCreateParams::HeaderType::OrSymbol,
|
|
125
|
+
instagram_body: String,
|
|
126
|
+
sms_body: String,
|
|
127
|
+
telegram_body: String,
|
|
73
128
|
variables: T::Array[String],
|
|
74
129
|
whatsapp_category: Zavudev::WhatsappCategory::OrSymbol,
|
|
75
130
|
request_options: Zavudev::RequestOptions::OrHash
|
|
76
131
|
).returns(T.attached_class)
|
|
77
132
|
end
|
|
78
133
|
def self.new(
|
|
134
|
+
# Default template body. Used when no channel-specific body is set.
|
|
79
135
|
body:,
|
|
80
136
|
language:,
|
|
81
137
|
name:,
|
|
@@ -85,6 +141,18 @@ module Zavudev
|
|
|
85
141
|
buttons: nil,
|
|
86
142
|
# Code expiration time in minutes. Only for AUTHENTICATION templates.
|
|
87
143
|
code_expiration_minutes: nil,
|
|
144
|
+
# Footer text for the template.
|
|
145
|
+
footer: nil,
|
|
146
|
+
# Header content (text string or media URL).
|
|
147
|
+
header_content: nil,
|
|
148
|
+
# Type of header for the template.
|
|
149
|
+
header_type: nil,
|
|
150
|
+
# Channel-specific body for Instagram. Falls back to `body` if not set.
|
|
151
|
+
instagram_body: nil,
|
|
152
|
+
# Channel-specific body for SMS. Falls back to `body` if not set.
|
|
153
|
+
sms_body: nil,
|
|
154
|
+
# Channel-specific body for Telegram. Falls back to `body` if not set.
|
|
155
|
+
telegram_body: nil,
|
|
88
156
|
variables: nil,
|
|
89
157
|
# WhatsApp template category.
|
|
90
158
|
whatsapp_category: nil,
|
|
@@ -101,6 +169,12 @@ module Zavudev
|
|
|
101
169
|
add_security_recommendation: T::Boolean,
|
|
102
170
|
buttons: T::Array[Zavudev::TemplateCreateParams::Button],
|
|
103
171
|
code_expiration_minutes: Integer,
|
|
172
|
+
footer: String,
|
|
173
|
+
header_content: String,
|
|
174
|
+
header_type: Zavudev::TemplateCreateParams::HeaderType::OrSymbol,
|
|
175
|
+
instagram_body: String,
|
|
176
|
+
sms_body: String,
|
|
177
|
+
telegram_body: String,
|
|
104
178
|
variables: T::Array[String],
|
|
105
179
|
whatsapp_category: Zavudev::WhatsappCategory::OrSymbol,
|
|
106
180
|
request_options: Zavudev::RequestOptions
|
|
@@ -284,6 +358,37 @@ module Zavudev
|
|
|
284
358
|
end
|
|
285
359
|
end
|
|
286
360
|
end
|
|
361
|
+
|
|
362
|
+
# Type of header for the template.
|
|
363
|
+
module HeaderType
|
|
364
|
+
extend Zavudev::Internal::Type::Enum
|
|
365
|
+
|
|
366
|
+
TaggedSymbol =
|
|
367
|
+
T.type_alias do
|
|
368
|
+
T.all(Symbol, Zavudev::TemplateCreateParams::HeaderType)
|
|
369
|
+
end
|
|
370
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
371
|
+
|
|
372
|
+
TEXT =
|
|
373
|
+
T.let(:text, Zavudev::TemplateCreateParams::HeaderType::TaggedSymbol)
|
|
374
|
+
IMAGE =
|
|
375
|
+
T.let(:image, Zavudev::TemplateCreateParams::HeaderType::TaggedSymbol)
|
|
376
|
+
VIDEO =
|
|
377
|
+
T.let(:video, Zavudev::TemplateCreateParams::HeaderType::TaggedSymbol)
|
|
378
|
+
DOCUMENT =
|
|
379
|
+
T.let(
|
|
380
|
+
:document,
|
|
381
|
+
Zavudev::TemplateCreateParams::HeaderType::TaggedSymbol
|
|
382
|
+
)
|
|
383
|
+
|
|
384
|
+
sig do
|
|
385
|
+
override.returns(
|
|
386
|
+
T::Array[Zavudev::TemplateCreateParams::HeaderType::TaggedSymbol]
|
|
387
|
+
)
|
|
388
|
+
end
|
|
389
|
+
def self.values
|
|
390
|
+
end
|
|
391
|
+
end
|
|
287
392
|
end
|
|
288
393
|
end
|
|
289
394
|
end
|
data/rbi/zavudev/models.rbi
CHANGED
|
@@ -100,9 +100,9 @@ module Zavudev
|
|
|
100
100
|
# Body param: Email attachments. Only supported when channel is 'email'. Maximum
|
|
101
101
|
# 40MB total size.
|
|
102
102
|
attachments: nil,
|
|
103
|
-
# Body param: Delivery channel. Use 'auto' for intelligent routing. If omitted
|
|
104
|
-
#
|
|
105
|
-
# 'email'.
|
|
103
|
+
# Body param: Delivery channel. Use 'auto' for intelligent routing. If omitted,
|
|
104
|
+
# channel is auto-selected based on sender capabilities and recipient type. For
|
|
105
|
+
# email recipients, defaults to 'email'.
|
|
106
106
|
channel: nil,
|
|
107
107
|
# Body param: Additional content for non-text message types.
|
|
108
108
|
content: nil,
|
|
@@ -10,12 +10,8 @@ module Zavudev
|
|
|
10
10
|
params(
|
|
11
11
|
sender_id: String,
|
|
12
12
|
name: String,
|
|
13
|
-
steps:
|
|
14
|
-
|
|
15
|
-
Zavudev::Senders::Agent::FlowCreateParams::Step::OrHash
|
|
16
|
-
],
|
|
17
|
-
trigger:
|
|
18
|
-
Zavudev::Senders::Agent::FlowCreateParams::Trigger::OrHash,
|
|
13
|
+
steps: T::Array[Zavudev::Senders::Agent::FlowStep::OrHash],
|
|
14
|
+
trigger: Zavudev::Senders::Agent::FlowTrigger::OrHash,
|
|
19
15
|
description: String,
|
|
20
16
|
enabled: T::Boolean,
|
|
21
17
|
priority: Integer,
|
|
@@ -54,12 +50,8 @@ module Zavudev
|
|
|
54
50
|
enabled: T::Boolean,
|
|
55
51
|
name: String,
|
|
56
52
|
priority: Integer,
|
|
57
|
-
steps:
|
|
58
|
-
|
|
59
|
-
Zavudev::Senders::Agent::FlowUpdateParams::Step::OrHash
|
|
60
|
-
],
|
|
61
|
-
trigger:
|
|
62
|
-
Zavudev::Senders::Agent::FlowUpdateParams::Trigger::OrHash,
|
|
53
|
+
steps: T::Array[Zavudev::Senders::Agent::FlowStep::OrHash],
|
|
54
|
+
trigger: Zavudev::Senders::Agent::FlowTrigger::OrHash,
|
|
63
55
|
request_options: Zavudev::RequestOptions::OrHash
|
|
64
56
|
).returns(Zavudev::Models::Senders::Agent::FlowUpdateResponse)
|
|
65
57
|
end
|
|
@@ -11,8 +11,7 @@ module Zavudev
|
|
|
11
11
|
sender_id: String,
|
|
12
12
|
description: String,
|
|
13
13
|
name: String,
|
|
14
|
-
parameters:
|
|
15
|
-
Zavudev::Senders::Agent::ToolCreateParams::Parameters::OrHash,
|
|
14
|
+
parameters: Zavudev::Senders::Agent::ToolParameters::OrHash,
|
|
16
15
|
webhook_url: String,
|
|
17
16
|
enabled: T::Boolean,
|
|
18
17
|
webhook_secret: String,
|
|
@@ -52,8 +51,7 @@ module Zavudev
|
|
|
52
51
|
description: String,
|
|
53
52
|
enabled: T::Boolean,
|
|
54
53
|
name: String,
|
|
55
|
-
parameters:
|
|
56
|
-
Zavudev::Senders::Agent::ToolUpdateParams::Parameters::OrHash,
|
|
54
|
+
parameters: Zavudev::Senders::Agent::ToolParameters::OrHash,
|
|
57
55
|
webhook_secret: T.nilable(String),
|
|
58
56
|
webhook_url: String,
|
|
59
57
|
request_options: Zavudev::RequestOptions::OrHash
|
|
@@ -13,12 +13,19 @@ module Zavudev
|
|
|
13
13
|
add_security_recommendation: T::Boolean,
|
|
14
14
|
buttons: T::Array[Zavudev::TemplateCreateParams::Button::OrHash],
|
|
15
15
|
code_expiration_minutes: Integer,
|
|
16
|
+
footer: String,
|
|
17
|
+
header_content: String,
|
|
18
|
+
header_type: Zavudev::TemplateCreateParams::HeaderType::OrSymbol,
|
|
19
|
+
instagram_body: String,
|
|
20
|
+
sms_body: String,
|
|
21
|
+
telegram_body: String,
|
|
16
22
|
variables: T::Array[String],
|
|
17
23
|
whatsapp_category: Zavudev::WhatsappCategory::OrSymbol,
|
|
18
24
|
request_options: Zavudev::RequestOptions::OrHash
|
|
19
25
|
).returns(Zavudev::Template)
|
|
20
26
|
end
|
|
21
27
|
def create(
|
|
28
|
+
# Default template body. Used when no channel-specific body is set.
|
|
22
29
|
body:,
|
|
23
30
|
language:,
|
|
24
31
|
name:,
|
|
@@ -28,6 +35,18 @@ module Zavudev
|
|
|
28
35
|
buttons: nil,
|
|
29
36
|
# Code expiration time in minutes. Only for AUTHENTICATION templates.
|
|
30
37
|
code_expiration_minutes: nil,
|
|
38
|
+
# Footer text for the template.
|
|
39
|
+
footer: nil,
|
|
40
|
+
# Header content (text string or media URL).
|
|
41
|
+
header_content: nil,
|
|
42
|
+
# Type of header for the template.
|
|
43
|
+
header_type: nil,
|
|
44
|
+
# Channel-specific body for Instagram. Falls back to `body` if not set.
|
|
45
|
+
instagram_body: nil,
|
|
46
|
+
# Channel-specific body for SMS. Falls back to `body` if not set.
|
|
47
|
+
sms_body: nil,
|
|
48
|
+
# Channel-specific body for Telegram. Falls back to `body` if not set.
|
|
49
|
+
telegram_body: nil,
|
|
31
50
|
variables: nil,
|
|
32
51
|
# WhatsApp template category.
|
|
33
52
|
whatsapp_category: nil,
|