ark-email 0.13.0 → 0.15.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 +24 -0
- data/README.md +3 -3
- data/lib/ark_email/client.rb +8 -0
- data/lib/ark_email/models/dns_record.rb +49 -19
- data/lib/ark_email/models/domain_create_response.rb +117 -25
- data/lib/ark_email/models/domain_list_response.rb +12 -13
- data/lib/ark_email/models/domain_retrieve_response.rb +117 -25
- data/lib/ark_email/models/domain_verify_response.rb +117 -25
- data/lib/ark_email/models/email_retrieve_params.rb +4 -1
- data/lib/ark_email/models/email_retrieve_response.rb +177 -1
- data/lib/ark_email/models/log_entry.rb +298 -0
- data/lib/ark_email/models/log_entry_detail.rb +102 -0
- data/lib/ark_email/models/log_list_params.rb +106 -0
- data/lib/ark_email/models/log_retrieve_params.rb +14 -0
- data/lib/ark_email/models/log_retrieve_response.rb +33 -0
- data/lib/ark_email/models/track_domain.rb +6 -2
- data/lib/ark_email/models/usage_retrieve_params.rb +14 -0
- data/lib/ark_email/models/usage_retrieve_response.rb +270 -0
- data/lib/ark_email/models/webhook_create_params.rb +0 -2
- data/lib/ark_email/models/webhook_create_response.rb +0 -2
- data/lib/ark_email/models/webhook_list_deliveries_params.rb +0 -2
- data/lib/ark_email/models/webhook_list_deliveries_response.rb +0 -2
- data/lib/ark_email/models/webhook_retrieve_delivery_response.rb +0 -2
- data/lib/ark_email/models/webhook_retrieve_response.rb +0 -2
- data/lib/ark_email/models/webhook_test_params.rb +0 -2
- data/lib/ark_email/models/webhook_update_response.rb +0 -2
- data/lib/ark_email/models.rb +10 -0
- data/lib/ark_email/resources/logs.rb +120 -0
- data/lib/ark_email/resources/usage.rb +51 -0
- data/lib/ark_email/version.rb +1 -1
- data/lib/ark_email.rb +9 -0
- data/rbi/ark_email/client.rbi +6 -0
- data/rbi/ark_email/models/dns_record.rbi +57 -22
- data/rbi/ark_email/models/domain_create_response.rbi +189 -28
- data/rbi/ark_email/models/domain_list_response.rbi +13 -19
- data/rbi/ark_email/models/domain_retrieve_response.rbi +191 -28
- data/rbi/ark_email/models/domain_verify_response.rbi +189 -28
- data/rbi/ark_email/models/email_retrieve_params.rbi +8 -2
- data/rbi/ark_email/models/email_retrieve_response.rbi +379 -0
- data/rbi/ark_email/models/log_entry.rbi +431 -0
- data/rbi/ark_email/models/log_entry_detail.rbi +192 -0
- data/rbi/ark_email/models/log_list_params.rbi +163 -0
- data/rbi/ark_email/models/log_retrieve_params.rbi +27 -0
- data/rbi/ark_email/models/log_retrieve_response.rbi +59 -0
- data/rbi/ark_email/models/track_domain.rbi +4 -2
- data/rbi/ark_email/models/usage_retrieve_params.rbi +27 -0
- data/rbi/ark_email/models/usage_retrieve_response.rbi +511 -0
- data/rbi/ark_email/models/webhook_create_params.rbi +0 -10
- data/rbi/ark_email/models/webhook_create_response.rbi +0 -10
- data/rbi/ark_email/models/webhook_list_deliveries_params.rbi +0 -10
- data/rbi/ark_email/models/webhook_list_deliveries_response.rbi +0 -10
- data/rbi/ark_email/models/webhook_retrieve_delivery_response.rbi +0 -10
- data/rbi/ark_email/models/webhook_retrieve_response.rbi +0 -10
- data/rbi/ark_email/models/webhook_test_params.rbi +0 -10
- data/rbi/ark_email/models/webhook_update_response.rbi +0 -10
- data/rbi/ark_email/models.rbi +10 -0
- data/rbi/ark_email/resources/emails.rbi +4 -1
- data/rbi/ark_email/resources/logs.rbi +104 -0
- data/rbi/ark_email/resources/usage.rbi +40 -0
- data/sig/ark_email/client.rbs +4 -0
- data/sig/ark_email/models/dns_record.rbs +5 -0
- data/sig/ark_email/models/domain_create_response.rbs +27 -20
- data/sig/ark_email/models/domain_list_response.rbs +4 -16
- data/sig/ark_email/models/domain_retrieve_response.rbs +27 -20
- data/sig/ark_email/models/domain_verify_response.rbs +27 -20
- data/sig/ark_email/models/email_retrieve_response.rbs +179 -0
- data/sig/ark_email/models/log_entry.rbs +209 -0
- data/sig/ark_email/models/log_entry_detail.rbs +97 -0
- data/sig/ark_email/models/log_list_params.rbs +97 -0
- data/sig/ark_email/models/log_retrieve_params.rbs +15 -0
- data/sig/ark_email/models/log_retrieve_response.rbs +26 -0
- data/sig/ark_email/models/usage_retrieve_params.rbs +15 -0
- data/sig/ark_email/models/usage_retrieve_response.rbs +212 -0
- data/sig/ark_email/models/webhook_create_params.rbs +0 -4
- data/sig/ark_email/models/webhook_create_response.rbs +0 -4
- data/sig/ark_email/models/webhook_list_deliveries_params.rbs +0 -4
- data/sig/ark_email/models/webhook_list_deliveries_response.rbs +0 -4
- data/sig/ark_email/models/webhook_retrieve_delivery_response.rbs +0 -4
- data/sig/ark_email/models/webhook_retrieve_response.rbs +0 -4
- data/sig/ark_email/models/webhook_test_params.rbs +0 -4
- data/sig/ark_email/models/webhook_update_response.rbs +0 -4
- data/sig/ark_email/models.rbs +10 -0
- data/sig/ark_email/resources/logs.rbs +25 -0
- data/sig/ark_email/resources/usage.rbs +11 -0
- metadata +29 -2
|
@@ -0,0 +1,511 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Models
|
|
5
|
+
class UsageRetrieveResponse < ArkEmail::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
ArkEmail::Models::UsageRetrieveResponse,
|
|
10
|
+
ArkEmail::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Current usage and limit information
|
|
15
|
+
sig { returns(ArkEmail::Models::UsageRetrieveResponse::Data) }
|
|
16
|
+
attr_reader :data
|
|
17
|
+
|
|
18
|
+
sig do
|
|
19
|
+
params(data: ArkEmail::Models::UsageRetrieveResponse::Data::OrHash).void
|
|
20
|
+
end
|
|
21
|
+
attr_writer :data
|
|
22
|
+
|
|
23
|
+
sig { returns(ArkEmail::APIMeta) }
|
|
24
|
+
attr_reader :meta
|
|
25
|
+
|
|
26
|
+
sig { params(meta: ArkEmail::APIMeta::OrHash).void }
|
|
27
|
+
attr_writer :meta
|
|
28
|
+
|
|
29
|
+
sig { returns(T::Boolean) }
|
|
30
|
+
attr_accessor :success
|
|
31
|
+
|
|
32
|
+
# Account usage and limits response
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
data: ArkEmail::Models::UsageRetrieveResponse::Data::OrHash,
|
|
36
|
+
meta: ArkEmail::APIMeta::OrHash,
|
|
37
|
+
success: T::Boolean
|
|
38
|
+
).returns(T.attached_class)
|
|
39
|
+
end
|
|
40
|
+
def self.new(
|
|
41
|
+
# Current usage and limit information
|
|
42
|
+
data:,
|
|
43
|
+
meta:,
|
|
44
|
+
success: true
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
sig do
|
|
49
|
+
override.returns(
|
|
50
|
+
{
|
|
51
|
+
data: ArkEmail::Models::UsageRetrieveResponse::Data,
|
|
52
|
+
meta: ArkEmail::APIMeta,
|
|
53
|
+
success: T::Boolean
|
|
54
|
+
}
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
def to_hash
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
class Data < ArkEmail::Internal::Type::BaseModel
|
|
61
|
+
OrHash =
|
|
62
|
+
T.type_alias do
|
|
63
|
+
T.any(
|
|
64
|
+
ArkEmail::Models::UsageRetrieveResponse::Data,
|
|
65
|
+
ArkEmail::Internal::AnyHash
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# Billing and credit information
|
|
70
|
+
sig do
|
|
71
|
+
returns(
|
|
72
|
+
T.nilable(ArkEmail::Models::UsageRetrieveResponse::Data::Billing)
|
|
73
|
+
)
|
|
74
|
+
end
|
|
75
|
+
attr_reader :billing
|
|
76
|
+
|
|
77
|
+
sig do
|
|
78
|
+
params(
|
|
79
|
+
billing:
|
|
80
|
+
T.nilable(
|
|
81
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::Billing::OrHash
|
|
82
|
+
)
|
|
83
|
+
).void
|
|
84
|
+
end
|
|
85
|
+
attr_writer :billing
|
|
86
|
+
|
|
87
|
+
# API rate limit status
|
|
88
|
+
sig do
|
|
89
|
+
returns(ArkEmail::Models::UsageRetrieveResponse::Data::RateLimit)
|
|
90
|
+
end
|
|
91
|
+
attr_reader :rate_limit
|
|
92
|
+
|
|
93
|
+
sig do
|
|
94
|
+
params(
|
|
95
|
+
rate_limit:
|
|
96
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::RateLimit::OrHash
|
|
97
|
+
).void
|
|
98
|
+
end
|
|
99
|
+
attr_writer :rate_limit
|
|
100
|
+
|
|
101
|
+
# Email send limit status (hourly cap)
|
|
102
|
+
sig do
|
|
103
|
+
returns(
|
|
104
|
+
T.nilable(ArkEmail::Models::UsageRetrieveResponse::Data::SendLimit)
|
|
105
|
+
)
|
|
106
|
+
end
|
|
107
|
+
attr_reader :send_limit
|
|
108
|
+
|
|
109
|
+
sig do
|
|
110
|
+
params(
|
|
111
|
+
send_limit:
|
|
112
|
+
T.nilable(
|
|
113
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::SendLimit::OrHash
|
|
114
|
+
)
|
|
115
|
+
).void
|
|
116
|
+
end
|
|
117
|
+
attr_writer :send_limit
|
|
118
|
+
|
|
119
|
+
# Current usage and limit information
|
|
120
|
+
sig do
|
|
121
|
+
params(
|
|
122
|
+
billing:
|
|
123
|
+
T.nilable(
|
|
124
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::Billing::OrHash
|
|
125
|
+
),
|
|
126
|
+
rate_limit:
|
|
127
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::RateLimit::OrHash,
|
|
128
|
+
send_limit:
|
|
129
|
+
T.nilable(
|
|
130
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::SendLimit::OrHash
|
|
131
|
+
)
|
|
132
|
+
).returns(T.attached_class)
|
|
133
|
+
end
|
|
134
|
+
def self.new(
|
|
135
|
+
# Billing and credit information
|
|
136
|
+
billing:,
|
|
137
|
+
# API rate limit status
|
|
138
|
+
rate_limit:,
|
|
139
|
+
# Email send limit status (hourly cap)
|
|
140
|
+
send_limit:
|
|
141
|
+
)
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
sig do
|
|
145
|
+
override.returns(
|
|
146
|
+
{
|
|
147
|
+
billing:
|
|
148
|
+
T.nilable(
|
|
149
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::Billing
|
|
150
|
+
),
|
|
151
|
+
rate_limit:
|
|
152
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::RateLimit,
|
|
153
|
+
send_limit:
|
|
154
|
+
T.nilable(
|
|
155
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::SendLimit
|
|
156
|
+
)
|
|
157
|
+
}
|
|
158
|
+
)
|
|
159
|
+
end
|
|
160
|
+
def to_hash
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
class Billing < ArkEmail::Internal::Type::BaseModel
|
|
164
|
+
OrHash =
|
|
165
|
+
T.type_alias do
|
|
166
|
+
T.any(
|
|
167
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::Billing,
|
|
168
|
+
ArkEmail::Internal::AnyHash
|
|
169
|
+
)
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# Auto-recharge configuration
|
|
173
|
+
sig do
|
|
174
|
+
returns(
|
|
175
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::Billing::AutoRecharge
|
|
176
|
+
)
|
|
177
|
+
end
|
|
178
|
+
attr_reader :auto_recharge
|
|
179
|
+
|
|
180
|
+
sig do
|
|
181
|
+
params(
|
|
182
|
+
auto_recharge:
|
|
183
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::Billing::AutoRecharge::OrHash
|
|
184
|
+
).void
|
|
185
|
+
end
|
|
186
|
+
attr_writer :auto_recharge
|
|
187
|
+
|
|
188
|
+
# Current credit balance as formatted string (e.g., "25.50")
|
|
189
|
+
sig { returns(String) }
|
|
190
|
+
attr_accessor :credit_balance
|
|
191
|
+
|
|
192
|
+
# Current credit balance in cents for precise calculations
|
|
193
|
+
sig { returns(Integer) }
|
|
194
|
+
attr_accessor :credit_balance_cents
|
|
195
|
+
|
|
196
|
+
# Whether a payment method is configured
|
|
197
|
+
sig { returns(T::Boolean) }
|
|
198
|
+
attr_accessor :has_payment_method
|
|
199
|
+
|
|
200
|
+
# Billing and credit information
|
|
201
|
+
sig do
|
|
202
|
+
params(
|
|
203
|
+
auto_recharge:
|
|
204
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::Billing::AutoRecharge::OrHash,
|
|
205
|
+
credit_balance: String,
|
|
206
|
+
credit_balance_cents: Integer,
|
|
207
|
+
has_payment_method: T::Boolean
|
|
208
|
+
).returns(T.attached_class)
|
|
209
|
+
end
|
|
210
|
+
def self.new(
|
|
211
|
+
# Auto-recharge configuration
|
|
212
|
+
auto_recharge:,
|
|
213
|
+
# Current credit balance as formatted string (e.g., "25.50")
|
|
214
|
+
credit_balance:,
|
|
215
|
+
# Current credit balance in cents for precise calculations
|
|
216
|
+
credit_balance_cents:,
|
|
217
|
+
# Whether a payment method is configured
|
|
218
|
+
has_payment_method:
|
|
219
|
+
)
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
sig do
|
|
223
|
+
override.returns(
|
|
224
|
+
{
|
|
225
|
+
auto_recharge:
|
|
226
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::Billing::AutoRecharge,
|
|
227
|
+
credit_balance: String,
|
|
228
|
+
credit_balance_cents: Integer,
|
|
229
|
+
has_payment_method: T::Boolean
|
|
230
|
+
}
|
|
231
|
+
)
|
|
232
|
+
end
|
|
233
|
+
def to_hash
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
class AutoRecharge < ArkEmail::Internal::Type::BaseModel
|
|
237
|
+
OrHash =
|
|
238
|
+
T.type_alias do
|
|
239
|
+
T.any(
|
|
240
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::Billing::AutoRecharge,
|
|
241
|
+
ArkEmail::Internal::AnyHash
|
|
242
|
+
)
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
# Amount to recharge when triggered
|
|
246
|
+
sig { returns(String) }
|
|
247
|
+
attr_accessor :amount
|
|
248
|
+
|
|
249
|
+
# Whether auto-recharge is enabled
|
|
250
|
+
sig { returns(T::Boolean) }
|
|
251
|
+
attr_accessor :enabled
|
|
252
|
+
|
|
253
|
+
# Balance threshold that triggers recharge
|
|
254
|
+
sig { returns(String) }
|
|
255
|
+
attr_accessor :threshold
|
|
256
|
+
|
|
257
|
+
# Auto-recharge configuration
|
|
258
|
+
sig do
|
|
259
|
+
params(
|
|
260
|
+
amount: String,
|
|
261
|
+
enabled: T::Boolean,
|
|
262
|
+
threshold: String
|
|
263
|
+
).returns(T.attached_class)
|
|
264
|
+
end
|
|
265
|
+
def self.new(
|
|
266
|
+
# Amount to recharge when triggered
|
|
267
|
+
amount:,
|
|
268
|
+
# Whether auto-recharge is enabled
|
|
269
|
+
enabled:,
|
|
270
|
+
# Balance threshold that triggers recharge
|
|
271
|
+
threshold:
|
|
272
|
+
)
|
|
273
|
+
end
|
|
274
|
+
|
|
275
|
+
sig do
|
|
276
|
+
override.returns(
|
|
277
|
+
{ amount: String, enabled: T::Boolean, threshold: String }
|
|
278
|
+
)
|
|
279
|
+
end
|
|
280
|
+
def to_hash
|
|
281
|
+
end
|
|
282
|
+
end
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
class RateLimit < ArkEmail::Internal::Type::BaseModel
|
|
286
|
+
OrHash =
|
|
287
|
+
T.type_alias do
|
|
288
|
+
T.any(
|
|
289
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::RateLimit,
|
|
290
|
+
ArkEmail::Internal::AnyHash
|
|
291
|
+
)
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
# Maximum requests allowed per period
|
|
295
|
+
sig { returns(Integer) }
|
|
296
|
+
attr_accessor :limit
|
|
297
|
+
|
|
298
|
+
# Time period for the limit
|
|
299
|
+
sig do
|
|
300
|
+
returns(
|
|
301
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::RateLimit::Period::TaggedSymbol
|
|
302
|
+
)
|
|
303
|
+
end
|
|
304
|
+
attr_accessor :period
|
|
305
|
+
|
|
306
|
+
# Requests remaining in current window
|
|
307
|
+
sig { returns(Integer) }
|
|
308
|
+
attr_accessor :remaining
|
|
309
|
+
|
|
310
|
+
# Unix timestamp when the limit resets
|
|
311
|
+
sig { returns(Integer) }
|
|
312
|
+
attr_accessor :reset
|
|
313
|
+
|
|
314
|
+
# API rate limit status
|
|
315
|
+
sig do
|
|
316
|
+
params(
|
|
317
|
+
limit: Integer,
|
|
318
|
+
period:
|
|
319
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::RateLimit::Period::OrSymbol,
|
|
320
|
+
remaining: Integer,
|
|
321
|
+
reset: Integer
|
|
322
|
+
).returns(T.attached_class)
|
|
323
|
+
end
|
|
324
|
+
def self.new(
|
|
325
|
+
# Maximum requests allowed per period
|
|
326
|
+
limit:,
|
|
327
|
+
# Time period for the limit
|
|
328
|
+
period:,
|
|
329
|
+
# Requests remaining in current window
|
|
330
|
+
remaining:,
|
|
331
|
+
# Unix timestamp when the limit resets
|
|
332
|
+
reset:
|
|
333
|
+
)
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
sig do
|
|
337
|
+
override.returns(
|
|
338
|
+
{
|
|
339
|
+
limit: Integer,
|
|
340
|
+
period:
|
|
341
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::RateLimit::Period::TaggedSymbol,
|
|
342
|
+
remaining: Integer,
|
|
343
|
+
reset: Integer
|
|
344
|
+
}
|
|
345
|
+
)
|
|
346
|
+
end
|
|
347
|
+
def to_hash
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
# Time period for the limit
|
|
351
|
+
module Period
|
|
352
|
+
extend ArkEmail::Internal::Type::Enum
|
|
353
|
+
|
|
354
|
+
TaggedSymbol =
|
|
355
|
+
T.type_alias do
|
|
356
|
+
T.all(
|
|
357
|
+
Symbol,
|
|
358
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::RateLimit::Period
|
|
359
|
+
)
|
|
360
|
+
end
|
|
361
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
362
|
+
|
|
363
|
+
SECOND =
|
|
364
|
+
T.let(
|
|
365
|
+
:second,
|
|
366
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::RateLimit::Period::TaggedSymbol
|
|
367
|
+
)
|
|
368
|
+
|
|
369
|
+
sig do
|
|
370
|
+
override.returns(
|
|
371
|
+
T::Array[
|
|
372
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::RateLimit::Period::TaggedSymbol
|
|
373
|
+
]
|
|
374
|
+
)
|
|
375
|
+
end
|
|
376
|
+
def self.values
|
|
377
|
+
end
|
|
378
|
+
end
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
class SendLimit < ArkEmail::Internal::Type::BaseModel
|
|
382
|
+
OrHash =
|
|
383
|
+
T.type_alias do
|
|
384
|
+
T.any(
|
|
385
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::SendLimit,
|
|
386
|
+
ArkEmail::Internal::AnyHash
|
|
387
|
+
)
|
|
388
|
+
end
|
|
389
|
+
|
|
390
|
+
# Whether approaching the limit (>90%)
|
|
391
|
+
sig { returns(T::Boolean) }
|
|
392
|
+
attr_accessor :approaching
|
|
393
|
+
|
|
394
|
+
# Whether the limit has been exceeded
|
|
395
|
+
sig { returns(T::Boolean) }
|
|
396
|
+
attr_accessor :exceeded
|
|
397
|
+
|
|
398
|
+
# Maximum emails allowed per hour (null = unlimited)
|
|
399
|
+
sig { returns(T.nilable(Integer)) }
|
|
400
|
+
attr_accessor :limit
|
|
401
|
+
|
|
402
|
+
# Time period for the limit
|
|
403
|
+
sig do
|
|
404
|
+
returns(
|
|
405
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::SendLimit::Period::TaggedSymbol
|
|
406
|
+
)
|
|
407
|
+
end
|
|
408
|
+
attr_accessor :period
|
|
409
|
+
|
|
410
|
+
# Emails remaining in current period (null if unlimited)
|
|
411
|
+
sig { returns(T.nilable(Integer)) }
|
|
412
|
+
attr_accessor :remaining
|
|
413
|
+
|
|
414
|
+
# ISO timestamp when the limit window resets (top of next hour)
|
|
415
|
+
sig { returns(Time) }
|
|
416
|
+
attr_accessor :resets_at
|
|
417
|
+
|
|
418
|
+
# Usage as a percentage (null if unlimited)
|
|
419
|
+
sig { returns(T.nilable(Float)) }
|
|
420
|
+
attr_accessor :usage_percent
|
|
421
|
+
|
|
422
|
+
# Emails sent in current period
|
|
423
|
+
sig { returns(Integer) }
|
|
424
|
+
attr_accessor :used
|
|
425
|
+
|
|
426
|
+
# Email send limit status (hourly cap)
|
|
427
|
+
sig do
|
|
428
|
+
params(
|
|
429
|
+
approaching: T::Boolean,
|
|
430
|
+
exceeded: T::Boolean,
|
|
431
|
+
limit: T.nilable(Integer),
|
|
432
|
+
period:
|
|
433
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::SendLimit::Period::OrSymbol,
|
|
434
|
+
remaining: T.nilable(Integer),
|
|
435
|
+
resets_at: Time,
|
|
436
|
+
usage_percent: T.nilable(Float),
|
|
437
|
+
used: Integer
|
|
438
|
+
).returns(T.attached_class)
|
|
439
|
+
end
|
|
440
|
+
def self.new(
|
|
441
|
+
# Whether approaching the limit (>90%)
|
|
442
|
+
approaching:,
|
|
443
|
+
# Whether the limit has been exceeded
|
|
444
|
+
exceeded:,
|
|
445
|
+
# Maximum emails allowed per hour (null = unlimited)
|
|
446
|
+
limit:,
|
|
447
|
+
# Time period for the limit
|
|
448
|
+
period:,
|
|
449
|
+
# Emails remaining in current period (null if unlimited)
|
|
450
|
+
remaining:,
|
|
451
|
+
# ISO timestamp when the limit window resets (top of next hour)
|
|
452
|
+
resets_at:,
|
|
453
|
+
# Usage as a percentage (null if unlimited)
|
|
454
|
+
usage_percent:,
|
|
455
|
+
# Emails sent in current period
|
|
456
|
+
used:
|
|
457
|
+
)
|
|
458
|
+
end
|
|
459
|
+
|
|
460
|
+
sig do
|
|
461
|
+
override.returns(
|
|
462
|
+
{
|
|
463
|
+
approaching: T::Boolean,
|
|
464
|
+
exceeded: T::Boolean,
|
|
465
|
+
limit: T.nilable(Integer),
|
|
466
|
+
period:
|
|
467
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::SendLimit::Period::TaggedSymbol,
|
|
468
|
+
remaining: T.nilable(Integer),
|
|
469
|
+
resets_at: Time,
|
|
470
|
+
usage_percent: T.nilable(Float),
|
|
471
|
+
used: Integer
|
|
472
|
+
}
|
|
473
|
+
)
|
|
474
|
+
end
|
|
475
|
+
def to_hash
|
|
476
|
+
end
|
|
477
|
+
|
|
478
|
+
# Time period for the limit
|
|
479
|
+
module Period
|
|
480
|
+
extend ArkEmail::Internal::Type::Enum
|
|
481
|
+
|
|
482
|
+
TaggedSymbol =
|
|
483
|
+
T.type_alias do
|
|
484
|
+
T.all(
|
|
485
|
+
Symbol,
|
|
486
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::SendLimit::Period
|
|
487
|
+
)
|
|
488
|
+
end
|
|
489
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
490
|
+
|
|
491
|
+
HOUR =
|
|
492
|
+
T.let(
|
|
493
|
+
:hour,
|
|
494
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::SendLimit::Period::TaggedSymbol
|
|
495
|
+
)
|
|
496
|
+
|
|
497
|
+
sig do
|
|
498
|
+
override.returns(
|
|
499
|
+
T::Array[
|
|
500
|
+
ArkEmail::Models::UsageRetrieveResponse::Data::SendLimit::Period::TaggedSymbol
|
|
501
|
+
]
|
|
502
|
+
)
|
|
503
|
+
end
|
|
504
|
+
def self.values
|
|
505
|
+
end
|
|
506
|
+
end
|
|
507
|
+
end
|
|
508
|
+
end
|
|
509
|
+
end
|
|
510
|
+
end
|
|
511
|
+
end
|
|
@@ -144,16 +144,6 @@ module ArkEmail
|
|
|
144
144
|
:DomainDNSError,
|
|
145
145
|
ArkEmail::WebhookCreateParams::Event::TaggedSymbol
|
|
146
146
|
)
|
|
147
|
-
SEND_LIMIT_APPROACHING =
|
|
148
|
-
T.let(
|
|
149
|
-
:SendLimitApproaching,
|
|
150
|
-
ArkEmail::WebhookCreateParams::Event::TaggedSymbol
|
|
151
|
-
)
|
|
152
|
-
SEND_LIMIT_EXCEEDED =
|
|
153
|
-
T.let(
|
|
154
|
-
:SendLimitExceeded,
|
|
155
|
-
ArkEmail::WebhookCreateParams::Event::TaggedSymbol
|
|
156
|
-
)
|
|
157
147
|
|
|
158
148
|
sig do
|
|
159
149
|
override.returns(
|
|
@@ -200,16 +200,6 @@ module ArkEmail
|
|
|
200
200
|
:DomainDNSError,
|
|
201
201
|
ArkEmail::Models::WebhookCreateResponse::Data::Event::TaggedSymbol
|
|
202
202
|
)
|
|
203
|
-
SEND_LIMIT_APPROACHING =
|
|
204
|
-
T.let(
|
|
205
|
-
:SendLimitApproaching,
|
|
206
|
-
ArkEmail::Models::WebhookCreateResponse::Data::Event::TaggedSymbol
|
|
207
|
-
)
|
|
208
|
-
SEND_LIMIT_EXCEEDED =
|
|
209
|
-
T.let(
|
|
210
|
-
:SendLimitExceeded,
|
|
211
|
-
ArkEmail::Models::WebhookCreateResponse::Data::Event::TaggedSymbol
|
|
212
|
-
)
|
|
213
203
|
|
|
214
204
|
sig do
|
|
215
205
|
override.returns(
|
|
@@ -158,16 +158,6 @@ module ArkEmail
|
|
|
158
158
|
:DomainDNSError,
|
|
159
159
|
ArkEmail::WebhookListDeliveriesParams::Event::TaggedSymbol
|
|
160
160
|
)
|
|
161
|
-
SEND_LIMIT_APPROACHING =
|
|
162
|
-
T.let(
|
|
163
|
-
:SendLimitApproaching,
|
|
164
|
-
ArkEmail::WebhookListDeliveriesParams::Event::TaggedSymbol
|
|
165
|
-
)
|
|
166
|
-
SEND_LIMIT_EXCEEDED =
|
|
167
|
-
T.let(
|
|
168
|
-
:SendLimitExceeded,
|
|
169
|
-
ArkEmail::WebhookListDeliveriesParams::Event::TaggedSymbol
|
|
170
|
-
)
|
|
171
161
|
|
|
172
162
|
sig do
|
|
173
163
|
override.returns(
|
|
@@ -240,16 +240,6 @@ module ArkEmail
|
|
|
240
240
|
:DomainDNSError,
|
|
241
241
|
ArkEmail::Models::WebhookListDeliveriesResponse::Data::Event::TaggedSymbol
|
|
242
242
|
)
|
|
243
|
-
SEND_LIMIT_APPROACHING =
|
|
244
|
-
T.let(
|
|
245
|
-
:SendLimitApproaching,
|
|
246
|
-
ArkEmail::Models::WebhookListDeliveriesResponse::Data::Event::TaggedSymbol
|
|
247
|
-
)
|
|
248
|
-
SEND_LIMIT_EXCEEDED =
|
|
249
|
-
T.let(
|
|
250
|
-
:SendLimitExceeded,
|
|
251
|
-
ArkEmail::Models::WebhookListDeliveriesResponse::Data::Event::TaggedSymbol
|
|
252
|
-
)
|
|
253
243
|
|
|
254
244
|
sig do
|
|
255
245
|
override.returns(
|
|
@@ -269,16 +269,6 @@ module ArkEmail
|
|
|
269
269
|
:DomainDNSError,
|
|
270
270
|
ArkEmail::Models::WebhookRetrieveDeliveryResponse::Data::Event::TaggedSymbol
|
|
271
271
|
)
|
|
272
|
-
SEND_LIMIT_APPROACHING =
|
|
273
|
-
T.let(
|
|
274
|
-
:SendLimitApproaching,
|
|
275
|
-
ArkEmail::Models::WebhookRetrieveDeliveryResponse::Data::Event::TaggedSymbol
|
|
276
|
-
)
|
|
277
|
-
SEND_LIMIT_EXCEEDED =
|
|
278
|
-
T.let(
|
|
279
|
-
:SendLimitExceeded,
|
|
280
|
-
ArkEmail::Models::WebhookRetrieveDeliveryResponse::Data::Event::TaggedSymbol
|
|
281
|
-
)
|
|
282
272
|
|
|
283
273
|
sig do
|
|
284
274
|
override.returns(
|
|
@@ -202,16 +202,6 @@ module ArkEmail
|
|
|
202
202
|
:DomainDNSError,
|
|
203
203
|
ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
|
|
204
204
|
)
|
|
205
|
-
SEND_LIMIT_APPROACHING =
|
|
206
|
-
T.let(
|
|
207
|
-
:SendLimitApproaching,
|
|
208
|
-
ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
|
|
209
|
-
)
|
|
210
|
-
SEND_LIMIT_EXCEEDED =
|
|
211
|
-
T.let(
|
|
212
|
-
:SendLimitExceeded,
|
|
213
|
-
ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
|
|
214
|
-
)
|
|
215
205
|
|
|
216
206
|
sig do
|
|
217
207
|
override.returns(
|
|
@@ -81,16 +81,6 @@ module ArkEmail
|
|
|
81
81
|
:DomainDNSError,
|
|
82
82
|
ArkEmail::WebhookTestParams::Event::TaggedSymbol
|
|
83
83
|
)
|
|
84
|
-
SEND_LIMIT_APPROACHING =
|
|
85
|
-
T.let(
|
|
86
|
-
:SendLimitApproaching,
|
|
87
|
-
ArkEmail::WebhookTestParams::Event::TaggedSymbol
|
|
88
|
-
)
|
|
89
|
-
SEND_LIMIT_EXCEEDED =
|
|
90
|
-
T.let(
|
|
91
|
-
:SendLimitExceeded,
|
|
92
|
-
ArkEmail::WebhookTestParams::Event::TaggedSymbol
|
|
93
|
-
)
|
|
94
84
|
|
|
95
85
|
sig do
|
|
96
86
|
override.returns(
|
|
@@ -200,16 +200,6 @@ module ArkEmail
|
|
|
200
200
|
:DomainDNSError,
|
|
201
201
|
ArkEmail::Models::WebhookUpdateResponse::Data::Event::TaggedSymbol
|
|
202
202
|
)
|
|
203
|
-
SEND_LIMIT_APPROACHING =
|
|
204
|
-
T.let(
|
|
205
|
-
:SendLimitApproaching,
|
|
206
|
-
ArkEmail::Models::WebhookUpdateResponse::Data::Event::TaggedSymbol
|
|
207
|
-
)
|
|
208
|
-
SEND_LIMIT_EXCEEDED =
|
|
209
|
-
T.let(
|
|
210
|
-
:SendLimitExceeded,
|
|
211
|
-
ArkEmail::Models::WebhookUpdateResponse::Data::Event::TaggedSymbol
|
|
212
|
-
)
|
|
213
203
|
|
|
214
204
|
sig do
|
|
215
205
|
override.returns(
|
data/rbi/ark_email/models.rbi
CHANGED
|
@@ -30,6 +30,14 @@ module ArkEmail
|
|
|
30
30
|
|
|
31
31
|
EmailSendRawParams = ArkEmail::Models::EmailSendRawParams
|
|
32
32
|
|
|
33
|
+
LogEntry = ArkEmail::Models::LogEntry
|
|
34
|
+
|
|
35
|
+
LogEntryDetail = ArkEmail::Models::LogEntryDetail
|
|
36
|
+
|
|
37
|
+
LogListParams = ArkEmail::Models::LogListParams
|
|
38
|
+
|
|
39
|
+
LogRetrieveParams = ArkEmail::Models::LogRetrieveParams
|
|
40
|
+
|
|
33
41
|
SuppressionBulkCreateParams = ArkEmail::Models::SuppressionBulkCreateParams
|
|
34
42
|
|
|
35
43
|
SuppressionCreateParams = ArkEmail::Models::SuppressionCreateParams
|
|
@@ -54,6 +62,8 @@ module ArkEmail
|
|
|
54
62
|
|
|
55
63
|
TrackingVerifyParams = ArkEmail::Models::TrackingVerifyParams
|
|
56
64
|
|
|
65
|
+
UsageRetrieveParams = ArkEmail::Models::UsageRetrieveParams
|
|
66
|
+
|
|
57
67
|
WebhookCreateParams = ArkEmail::Models::WebhookCreateParams
|
|
58
68
|
|
|
59
69
|
WebhookDeleteParams = ArkEmail::Models::WebhookDeleteParams
|
|
@@ -20,10 +20,13 @@ module ArkEmail
|
|
|
20
20
|
email_id,
|
|
21
21
|
# Comma-separated list of fields to include:
|
|
22
22
|
#
|
|
23
|
+
# - `full` - Include all expanded fields in a single request
|
|
23
24
|
# - `content` - HTML and plain text body
|
|
24
25
|
# - `headers` - Email headers
|
|
25
26
|
# - `deliveries` - Delivery attempt history
|
|
26
|
-
# - `activity` - Opens and clicks
|
|
27
|
+
# - `activity` - Opens and clicks tracking data
|
|
28
|
+
# - `attachments` - File attachments with content (base64 encoded)
|
|
29
|
+
# - `raw` - Complete raw MIME message (base64 encoded)
|
|
27
30
|
expand: nil,
|
|
28
31
|
request_options: {}
|
|
29
32
|
)
|