zavudev 0.6.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 +9 -0
- data/README.md +1 -1
- data/lib/zavudev/models/contact.rb +3 -153
- data/lib/zavudev/models/contact_channel.rb +155 -0
- 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_create_params.rb +38 -1
- data/lib/zavudev/models.rb +2 -0
- 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 +7 -1
- 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/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_create_params.rbi +70 -0
- data/rbi/zavudev/models.rbi +2 -0
- 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 +9 -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_create_params.rbs +36 -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 +3 -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
|
|
@@ -48,6 +48,33 @@ module Zavudev
|
|
|
48
48
|
sig { params(code_expiration_minutes: Integer).void }
|
|
49
49
|
attr_writer :code_expiration_minutes
|
|
50
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
|
+
|
|
51
78
|
# Channel-specific body for Instagram. Falls back to `body` if not set.
|
|
52
79
|
sig { returns(T.nilable(String)) }
|
|
53
80
|
attr_reader :instagram_body
|
|
@@ -92,6 +119,9 @@ module Zavudev
|
|
|
92
119
|
add_security_recommendation: T::Boolean,
|
|
93
120
|
buttons: T::Array[Zavudev::TemplateCreateParams::Button::OrHash],
|
|
94
121
|
code_expiration_minutes: Integer,
|
|
122
|
+
footer: String,
|
|
123
|
+
header_content: String,
|
|
124
|
+
header_type: Zavudev::TemplateCreateParams::HeaderType::OrSymbol,
|
|
95
125
|
instagram_body: String,
|
|
96
126
|
sms_body: String,
|
|
97
127
|
telegram_body: String,
|
|
@@ -111,6 +141,12 @@ module Zavudev
|
|
|
111
141
|
buttons: nil,
|
|
112
142
|
# Code expiration time in minutes. Only for AUTHENTICATION templates.
|
|
113
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,
|
|
114
150
|
# Channel-specific body for Instagram. Falls back to `body` if not set.
|
|
115
151
|
instagram_body: nil,
|
|
116
152
|
# Channel-specific body for SMS. Falls back to `body` if not set.
|
|
@@ -133,6 +169,9 @@ module Zavudev
|
|
|
133
169
|
add_security_recommendation: T::Boolean,
|
|
134
170
|
buttons: T::Array[Zavudev::TemplateCreateParams::Button],
|
|
135
171
|
code_expiration_minutes: Integer,
|
|
172
|
+
footer: String,
|
|
173
|
+
header_content: String,
|
|
174
|
+
header_type: Zavudev::TemplateCreateParams::HeaderType::OrSymbol,
|
|
136
175
|
instagram_body: String,
|
|
137
176
|
sms_body: String,
|
|
138
177
|
telegram_body: String,
|
|
@@ -319,6 +358,37 @@ module Zavudev
|
|
|
319
358
|
end
|
|
320
359
|
end
|
|
321
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
|
|
322
392
|
end
|
|
323
393
|
end
|
|
324
394
|
end
|
data/rbi/zavudev/models.rbi
CHANGED
|
@@ -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,6 +13,9 @@ 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,
|
|
16
19
|
instagram_body: String,
|
|
17
20
|
sms_body: String,
|
|
18
21
|
telegram_body: String,
|
|
@@ -32,6 +35,12 @@ module Zavudev
|
|
|
32
35
|
buttons: nil,
|
|
33
36
|
# Code expiration time in minutes. Only for AUTHENTICATION templates.
|
|
34
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,
|
|
35
44
|
# Channel-specific body for Instagram. Falls back to `body` if not set.
|
|
36
45
|
instagram_body: nil,
|
|
37
46
|
# Channel-specific body for SMS. Falls back to `body` if not set.
|
|
@@ -7,7 +7,7 @@ module Zavudev
|
|
|
7
7
|
created_at: Time,
|
|
8
8
|
metadata: ::Hash[Symbol, String],
|
|
9
9
|
verified: bool,
|
|
10
|
-
channels: ::Array[Zavudev::
|
|
10
|
+
channels: ::Array[Zavudev::ContactChannel],
|
|
11
11
|
country_code: String,
|
|
12
12
|
default_channel: Zavudev::Models::Contact::default_channel,
|
|
13
13
|
display_name: String,
|
|
@@ -30,11 +30,11 @@ module Zavudev
|
|
|
30
30
|
|
|
31
31
|
attr_accessor verified: bool
|
|
32
32
|
|
|
33
|
-
attr_reader channels: ::Array[Zavudev::
|
|
33
|
+
attr_reader channels: ::Array[Zavudev::ContactChannel]?
|
|
34
34
|
|
|
35
35
|
def channels=: (
|
|
36
|
-
::Array[Zavudev::
|
|
37
|
-
) -> ::Array[Zavudev::
|
|
36
|
+
::Array[Zavudev::ContactChannel]
|
|
37
|
+
) -> ::Array[Zavudev::ContactChannel]
|
|
38
38
|
|
|
39
39
|
attr_reader country_code: String?
|
|
40
40
|
|
|
@@ -78,7 +78,7 @@ module Zavudev
|
|
|
78
78
|
created_at: Time,
|
|
79
79
|
metadata: ::Hash[Symbol, String],
|
|
80
80
|
verified: bool,
|
|
81
|
-
?channels: ::Array[Zavudev::
|
|
81
|
+
?channels: ::Array[Zavudev::ContactChannel],
|
|
82
82
|
?country_code: String,
|
|
83
83
|
?default_channel: Zavudev::Models::Contact::default_channel,
|
|
84
84
|
?display_name: String,
|
|
@@ -96,7 +96,7 @@ module Zavudev
|
|
|
96
96
|
created_at: Time,
|
|
97
97
|
metadata: ::Hash[Symbol, String],
|
|
98
98
|
verified: bool,
|
|
99
|
-
channels: ::Array[Zavudev::
|
|
99
|
+
channels: ::Array[Zavudev::ContactChannel],
|
|
100
100
|
country_code: String,
|
|
101
101
|
default_channel: Zavudev::Models::Contact::default_channel,
|
|
102
102
|
display_name: String,
|
|
@@ -108,153 +108,6 @@ module Zavudev
|
|
|
108
108
|
updated_at: Time
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
type channel =
|
|
112
|
-
{
|
|
113
|
-
id: String,
|
|
114
|
-
channel: Zavudev::Models::Contact::Channel::channel,
|
|
115
|
-
created_at: Time,
|
|
116
|
-
identifier: String,
|
|
117
|
-
is_primary: bool,
|
|
118
|
-
verified: bool,
|
|
119
|
-
country_code: String,
|
|
120
|
-
label: String,
|
|
121
|
-
last_inbound_at: Time,
|
|
122
|
-
metadata: ::Hash[Symbol, String],
|
|
123
|
-
metrics: Zavudev::Contact::Channel::Metrics,
|
|
124
|
-
updated_at: Time
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
class Channel < Zavudev::Internal::Type::BaseModel
|
|
128
|
-
attr_accessor id: String
|
|
129
|
-
|
|
130
|
-
attr_accessor channel: Zavudev::Models::Contact::Channel::channel
|
|
131
|
-
|
|
132
|
-
attr_accessor created_at: Time
|
|
133
|
-
|
|
134
|
-
attr_accessor identifier: String
|
|
135
|
-
|
|
136
|
-
attr_accessor is_primary: bool
|
|
137
|
-
|
|
138
|
-
attr_accessor verified: bool
|
|
139
|
-
|
|
140
|
-
attr_reader country_code: String?
|
|
141
|
-
|
|
142
|
-
def country_code=: (String) -> String
|
|
143
|
-
|
|
144
|
-
attr_reader label: String?
|
|
145
|
-
|
|
146
|
-
def label=: (String) -> String
|
|
147
|
-
|
|
148
|
-
attr_reader last_inbound_at: Time?
|
|
149
|
-
|
|
150
|
-
def last_inbound_at=: (Time) -> Time
|
|
151
|
-
|
|
152
|
-
attr_reader metadata: ::Hash[Symbol, String]?
|
|
153
|
-
|
|
154
|
-
def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
|
|
155
|
-
|
|
156
|
-
attr_reader metrics: Zavudev::Contact::Channel::Metrics?
|
|
157
|
-
|
|
158
|
-
def metrics=: (
|
|
159
|
-
Zavudev::Contact::Channel::Metrics
|
|
160
|
-
) -> Zavudev::Contact::Channel::Metrics
|
|
161
|
-
|
|
162
|
-
attr_reader updated_at: Time?
|
|
163
|
-
|
|
164
|
-
def updated_at=: (Time) -> Time
|
|
165
|
-
|
|
166
|
-
def initialize: (
|
|
167
|
-
id: String,
|
|
168
|
-
channel: Zavudev::Models::Contact::Channel::channel,
|
|
169
|
-
created_at: Time,
|
|
170
|
-
identifier: String,
|
|
171
|
-
is_primary: bool,
|
|
172
|
-
verified: bool,
|
|
173
|
-
?country_code: String,
|
|
174
|
-
?label: String,
|
|
175
|
-
?last_inbound_at: Time,
|
|
176
|
-
?metadata: ::Hash[Symbol, String],
|
|
177
|
-
?metrics: Zavudev::Contact::Channel::Metrics,
|
|
178
|
-
?updated_at: Time
|
|
179
|
-
) -> void
|
|
180
|
-
|
|
181
|
-
def to_hash: -> {
|
|
182
|
-
id: String,
|
|
183
|
-
channel: Zavudev::Models::Contact::Channel::channel,
|
|
184
|
-
created_at: Time,
|
|
185
|
-
identifier: String,
|
|
186
|
-
is_primary: bool,
|
|
187
|
-
verified: bool,
|
|
188
|
-
country_code: String,
|
|
189
|
-
label: String,
|
|
190
|
-
last_inbound_at: Time,
|
|
191
|
-
metadata: ::Hash[Symbol, String],
|
|
192
|
-
metrics: Zavudev::Contact::Channel::Metrics,
|
|
193
|
-
updated_at: Time
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
type channel = :sms | :whatsapp | :email | :telegram | :voice
|
|
197
|
-
|
|
198
|
-
module Channel
|
|
199
|
-
extend Zavudev::Internal::Type::Enum
|
|
200
|
-
|
|
201
|
-
SMS: :sms
|
|
202
|
-
WHATSAPP: :whatsapp
|
|
203
|
-
EMAIL: :email
|
|
204
|
-
TELEGRAM: :telegram
|
|
205
|
-
VOICE: :voice
|
|
206
|
-
|
|
207
|
-
def self?.values: -> ::Array[Zavudev::Models::Contact::Channel::channel]
|
|
208
|
-
end
|
|
209
|
-
|
|
210
|
-
type metrics =
|
|
211
|
-
{
|
|
212
|
-
avg_delivery_time_ms: Float,
|
|
213
|
-
failure_count: Integer,
|
|
214
|
-
last_success_at: Time,
|
|
215
|
-
success_count: Integer,
|
|
216
|
-
total_attempts: Integer
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
class Metrics < Zavudev::Internal::Type::BaseModel
|
|
220
|
-
attr_reader avg_delivery_time_ms: Float?
|
|
221
|
-
|
|
222
|
-
def avg_delivery_time_ms=: (Float) -> Float
|
|
223
|
-
|
|
224
|
-
attr_reader failure_count: Integer?
|
|
225
|
-
|
|
226
|
-
def failure_count=: (Integer) -> Integer
|
|
227
|
-
|
|
228
|
-
attr_reader last_success_at: Time?
|
|
229
|
-
|
|
230
|
-
def last_success_at=: (Time) -> Time
|
|
231
|
-
|
|
232
|
-
attr_reader success_count: Integer?
|
|
233
|
-
|
|
234
|
-
def success_count=: (Integer) -> Integer
|
|
235
|
-
|
|
236
|
-
attr_reader total_attempts: Integer?
|
|
237
|
-
|
|
238
|
-
def total_attempts=: (Integer) -> Integer
|
|
239
|
-
|
|
240
|
-
def initialize: (
|
|
241
|
-
?avg_delivery_time_ms: Float,
|
|
242
|
-
?failure_count: Integer,
|
|
243
|
-
?last_success_at: Time,
|
|
244
|
-
?success_count: Integer,
|
|
245
|
-
?total_attempts: Integer
|
|
246
|
-
) -> void
|
|
247
|
-
|
|
248
|
-
def to_hash: -> {
|
|
249
|
-
avg_delivery_time_ms: Float,
|
|
250
|
-
failure_count: Integer,
|
|
251
|
-
last_success_at: Time,
|
|
252
|
-
success_count: Integer,
|
|
253
|
-
total_attempts: Integer
|
|
254
|
-
}
|
|
255
|
-
end
|
|
256
|
-
end
|
|
257
|
-
|
|
258
111
|
type default_channel =
|
|
259
112
|
:sms | :whatsapp | :telegram | :email | :instagram | :voice
|
|
260
113
|
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
module Zavudev
|
|
2
|
+
module Models
|
|
3
|
+
type contact_channel =
|
|
4
|
+
{
|
|
5
|
+
id: String,
|
|
6
|
+
channel: Zavudev::Models::ContactChannel::channel,
|
|
7
|
+
created_at: Time,
|
|
8
|
+
identifier: String,
|
|
9
|
+
is_primary: bool,
|
|
10
|
+
verified: bool,
|
|
11
|
+
country_code: String,
|
|
12
|
+
label: String,
|
|
13
|
+
last_inbound_at: Time,
|
|
14
|
+
metadata: ::Hash[Symbol, String],
|
|
15
|
+
metrics: Zavudev::ContactChannel::Metrics,
|
|
16
|
+
updated_at: Time
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
class ContactChannel < Zavudev::Internal::Type::BaseModel
|
|
20
|
+
attr_accessor id: String
|
|
21
|
+
|
|
22
|
+
attr_accessor channel: Zavudev::Models::ContactChannel::channel
|
|
23
|
+
|
|
24
|
+
attr_accessor created_at: Time
|
|
25
|
+
|
|
26
|
+
attr_accessor identifier: String
|
|
27
|
+
|
|
28
|
+
attr_accessor is_primary: bool
|
|
29
|
+
|
|
30
|
+
attr_accessor verified: bool
|
|
31
|
+
|
|
32
|
+
attr_reader country_code: String?
|
|
33
|
+
|
|
34
|
+
def country_code=: (String) -> String
|
|
35
|
+
|
|
36
|
+
attr_reader label: String?
|
|
37
|
+
|
|
38
|
+
def label=: (String) -> String
|
|
39
|
+
|
|
40
|
+
attr_reader last_inbound_at: Time?
|
|
41
|
+
|
|
42
|
+
def last_inbound_at=: (Time) -> Time
|
|
43
|
+
|
|
44
|
+
attr_reader metadata: ::Hash[Symbol, String]?
|
|
45
|
+
|
|
46
|
+
def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
|
|
47
|
+
|
|
48
|
+
attr_reader metrics: Zavudev::ContactChannel::Metrics?
|
|
49
|
+
|
|
50
|
+
def metrics=: (
|
|
51
|
+
Zavudev::ContactChannel::Metrics
|
|
52
|
+
) -> Zavudev::ContactChannel::Metrics
|
|
53
|
+
|
|
54
|
+
attr_reader updated_at: Time?
|
|
55
|
+
|
|
56
|
+
def updated_at=: (Time) -> Time
|
|
57
|
+
|
|
58
|
+
def initialize: (
|
|
59
|
+
id: String,
|
|
60
|
+
channel: Zavudev::Models::ContactChannel::channel,
|
|
61
|
+
created_at: Time,
|
|
62
|
+
identifier: String,
|
|
63
|
+
is_primary: bool,
|
|
64
|
+
verified: bool,
|
|
65
|
+
?country_code: String,
|
|
66
|
+
?label: String,
|
|
67
|
+
?last_inbound_at: Time,
|
|
68
|
+
?metadata: ::Hash[Symbol, String],
|
|
69
|
+
?metrics: Zavudev::ContactChannel::Metrics,
|
|
70
|
+
?updated_at: Time
|
|
71
|
+
) -> void
|
|
72
|
+
|
|
73
|
+
def to_hash: -> {
|
|
74
|
+
id: String,
|
|
75
|
+
channel: Zavudev::Models::ContactChannel::channel,
|
|
76
|
+
created_at: Time,
|
|
77
|
+
identifier: String,
|
|
78
|
+
is_primary: bool,
|
|
79
|
+
verified: bool,
|
|
80
|
+
country_code: String,
|
|
81
|
+
label: String,
|
|
82
|
+
last_inbound_at: Time,
|
|
83
|
+
metadata: ::Hash[Symbol, String],
|
|
84
|
+
metrics: Zavudev::ContactChannel::Metrics,
|
|
85
|
+
updated_at: Time
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
type channel = :sms | :whatsapp | :email | :telegram | :voice
|
|
89
|
+
|
|
90
|
+
module Channel
|
|
91
|
+
extend Zavudev::Internal::Type::Enum
|
|
92
|
+
|
|
93
|
+
SMS: :sms
|
|
94
|
+
WHATSAPP: :whatsapp
|
|
95
|
+
EMAIL: :email
|
|
96
|
+
TELEGRAM: :telegram
|
|
97
|
+
VOICE: :voice
|
|
98
|
+
|
|
99
|
+
def self?.values: -> ::Array[Zavudev::Models::ContactChannel::channel]
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
type metrics =
|
|
103
|
+
{
|
|
104
|
+
avg_delivery_time_ms: Float,
|
|
105
|
+
failure_count: Integer,
|
|
106
|
+
last_success_at: Time,
|
|
107
|
+
success_count: Integer,
|
|
108
|
+
total_attempts: Integer
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
class Metrics < Zavudev::Internal::Type::BaseModel
|
|
112
|
+
attr_reader avg_delivery_time_ms: Float?
|
|
113
|
+
|
|
114
|
+
def avg_delivery_time_ms=: (Float) -> Float
|
|
115
|
+
|
|
116
|
+
attr_reader failure_count: Integer?
|
|
117
|
+
|
|
118
|
+
def failure_count=: (Integer) -> Integer
|
|
119
|
+
|
|
120
|
+
attr_reader last_success_at: Time?
|
|
121
|
+
|
|
122
|
+
def last_success_at=: (Time) -> Time
|
|
123
|
+
|
|
124
|
+
attr_reader success_count: Integer?
|
|
125
|
+
|
|
126
|
+
def success_count=: (Integer) -> Integer
|
|
127
|
+
|
|
128
|
+
attr_reader total_attempts: Integer?
|
|
129
|
+
|
|
130
|
+
def total_attempts=: (Integer) -> Integer
|
|
131
|
+
|
|
132
|
+
def initialize: (
|
|
133
|
+
?avg_delivery_time_ms: Float,
|
|
134
|
+
?failure_count: Integer,
|
|
135
|
+
?last_success_at: Time,
|
|
136
|
+
?success_count: Integer,
|
|
137
|
+
?total_attempts: Integer
|
|
138
|
+
) -> void
|
|
139
|
+
|
|
140
|
+
def to_hash: -> {
|
|
141
|
+
avg_delivery_time_ms: Float,
|
|
142
|
+
failure_count: Integer,
|
|
143
|
+
last_success_at: Time,
|
|
144
|
+
success_count: Integer,
|
|
145
|
+
total_attempts: Integer
|
|
146
|
+
}
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
end
|