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,298 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Models
|
|
5
|
+
# @see ArkEmail::Resources::Logs#list
|
|
6
|
+
class LogEntry < ArkEmail::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute context
|
|
8
|
+
# Request context information
|
|
9
|
+
#
|
|
10
|
+
# @return [ArkEmail::Models::LogEntry::Context]
|
|
11
|
+
required :context, -> { ArkEmail::LogEntry::Context }
|
|
12
|
+
|
|
13
|
+
# @!attribute credential
|
|
14
|
+
# API credential information
|
|
15
|
+
#
|
|
16
|
+
# @return [ArkEmail::Models::LogEntry::Credential]
|
|
17
|
+
required :credential, -> { ArkEmail::LogEntry::Credential }
|
|
18
|
+
|
|
19
|
+
# @!attribute duration_ms
|
|
20
|
+
# Request duration in milliseconds
|
|
21
|
+
#
|
|
22
|
+
# @return [Integer]
|
|
23
|
+
required :duration_ms, Integer, api_name: :durationMs
|
|
24
|
+
|
|
25
|
+
# @!attribute endpoint
|
|
26
|
+
# Semantic endpoint name
|
|
27
|
+
#
|
|
28
|
+
# @return [String]
|
|
29
|
+
required :endpoint, String
|
|
30
|
+
|
|
31
|
+
# @!attribute method_
|
|
32
|
+
# HTTP method
|
|
33
|
+
#
|
|
34
|
+
# @return [Symbol, ArkEmail::Models::LogEntry::Method]
|
|
35
|
+
required :method_, enum: -> { ArkEmail::LogEntry::Method }, api_name: :method
|
|
36
|
+
|
|
37
|
+
# @!attribute path
|
|
38
|
+
# Request path
|
|
39
|
+
#
|
|
40
|
+
# @return [String]
|
|
41
|
+
required :path, String
|
|
42
|
+
|
|
43
|
+
# @!attribute rate_limit
|
|
44
|
+
# Rate limit state at time of request
|
|
45
|
+
#
|
|
46
|
+
# @return [ArkEmail::Models::LogEntry::RateLimit]
|
|
47
|
+
required :rate_limit, -> { ArkEmail::LogEntry::RateLimit }, api_name: :rateLimit
|
|
48
|
+
|
|
49
|
+
# @!attribute request_id
|
|
50
|
+
# Unique request identifier
|
|
51
|
+
#
|
|
52
|
+
# @return [String]
|
|
53
|
+
required :request_id, String, api_name: :requestId
|
|
54
|
+
|
|
55
|
+
# @!attribute status_code
|
|
56
|
+
# HTTP response status code
|
|
57
|
+
#
|
|
58
|
+
# @return [Integer]
|
|
59
|
+
required :status_code, Integer, api_name: :statusCode
|
|
60
|
+
|
|
61
|
+
# @!attribute timestamp
|
|
62
|
+
# When the request was made (ISO 8601)
|
|
63
|
+
#
|
|
64
|
+
# @return [Time]
|
|
65
|
+
required :timestamp, Time
|
|
66
|
+
|
|
67
|
+
# @!attribute email
|
|
68
|
+
# Email-specific data (for email endpoints)
|
|
69
|
+
#
|
|
70
|
+
# @return [ArkEmail::Models::LogEntry::Email, nil]
|
|
71
|
+
optional :email, -> { ArkEmail::LogEntry::Email }, nil?: true
|
|
72
|
+
|
|
73
|
+
# @!attribute error
|
|
74
|
+
# Error details (null if request succeeded)
|
|
75
|
+
#
|
|
76
|
+
# @return [ArkEmail::Models::LogEntry::Error, nil]
|
|
77
|
+
optional :error, -> { ArkEmail::LogEntry::Error }, nil?: true
|
|
78
|
+
|
|
79
|
+
# @!attribute sdk
|
|
80
|
+
# SDK information (null if not using an SDK)
|
|
81
|
+
#
|
|
82
|
+
# @return [ArkEmail::Models::LogEntry::SDK, nil]
|
|
83
|
+
optional :sdk, -> { ArkEmail::LogEntry::SDK }, nil?: true
|
|
84
|
+
|
|
85
|
+
# @!method initialize(context:, credential:, duration_ms:, endpoint:, method_:, path:, rate_limit:, request_id:, status_code:, timestamp:, email: nil, error: nil, sdk: nil)
|
|
86
|
+
# API request log entry (list view)
|
|
87
|
+
#
|
|
88
|
+
# @param context [ArkEmail::Models::LogEntry::Context] Request context information
|
|
89
|
+
#
|
|
90
|
+
# @param credential [ArkEmail::Models::LogEntry::Credential] API credential information
|
|
91
|
+
#
|
|
92
|
+
# @param duration_ms [Integer] Request duration in milliseconds
|
|
93
|
+
#
|
|
94
|
+
# @param endpoint [String] Semantic endpoint name
|
|
95
|
+
#
|
|
96
|
+
# @param method_ [Symbol, ArkEmail::Models::LogEntry::Method] HTTP method
|
|
97
|
+
#
|
|
98
|
+
# @param path [String] Request path
|
|
99
|
+
#
|
|
100
|
+
# @param rate_limit [ArkEmail::Models::LogEntry::RateLimit] Rate limit state at time of request
|
|
101
|
+
#
|
|
102
|
+
# @param request_id [String] Unique request identifier
|
|
103
|
+
#
|
|
104
|
+
# @param status_code [Integer] HTTP response status code
|
|
105
|
+
#
|
|
106
|
+
# @param timestamp [Time] When the request was made (ISO 8601)
|
|
107
|
+
#
|
|
108
|
+
# @param email [ArkEmail::Models::LogEntry::Email, nil] Email-specific data (for email endpoints)
|
|
109
|
+
#
|
|
110
|
+
# @param error [ArkEmail::Models::LogEntry::Error, nil] Error details (null if request succeeded)
|
|
111
|
+
#
|
|
112
|
+
# @param sdk [ArkEmail::Models::LogEntry::SDK, nil] SDK information (null if not using an SDK)
|
|
113
|
+
|
|
114
|
+
# @see ArkEmail::Models::LogEntry#context
|
|
115
|
+
class Context < ArkEmail::Internal::Type::BaseModel
|
|
116
|
+
# @!attribute idempotency_key
|
|
117
|
+
# Idempotency key if provided
|
|
118
|
+
#
|
|
119
|
+
# @return [String, nil]
|
|
120
|
+
optional :idempotency_key, String, api_name: :idempotencyKey, nil?: true
|
|
121
|
+
|
|
122
|
+
# @!attribute ip_address
|
|
123
|
+
# Client IP address
|
|
124
|
+
#
|
|
125
|
+
# @return [String, nil]
|
|
126
|
+
optional :ip_address, String, api_name: :ipAddress, nil?: true
|
|
127
|
+
|
|
128
|
+
# @!attribute query_params
|
|
129
|
+
# Query parameters
|
|
130
|
+
#
|
|
131
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
132
|
+
optional :query_params,
|
|
133
|
+
ArkEmail::Internal::Type::HashOf[ArkEmail::Internal::Type::Unknown],
|
|
134
|
+
api_name: :queryParams,
|
|
135
|
+
nil?: true
|
|
136
|
+
|
|
137
|
+
# @!attribute user_agent
|
|
138
|
+
# User-Agent header
|
|
139
|
+
#
|
|
140
|
+
# @return [String, nil]
|
|
141
|
+
optional :user_agent, String, api_name: :userAgent, nil?: true
|
|
142
|
+
|
|
143
|
+
# @!method initialize(idempotency_key: nil, ip_address: nil, query_params: nil, user_agent: nil)
|
|
144
|
+
# Request context information
|
|
145
|
+
#
|
|
146
|
+
# @param idempotency_key [String, nil] Idempotency key if provided
|
|
147
|
+
#
|
|
148
|
+
# @param ip_address [String, nil] Client IP address
|
|
149
|
+
#
|
|
150
|
+
# @param query_params [Hash{Symbol=>Object}, nil] Query parameters
|
|
151
|
+
#
|
|
152
|
+
# @param user_agent [String, nil] User-Agent header
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# @see ArkEmail::Models::LogEntry#credential
|
|
156
|
+
class Credential < ArkEmail::Internal::Type::BaseModel
|
|
157
|
+
# @!attribute id
|
|
158
|
+
# Credential ID
|
|
159
|
+
#
|
|
160
|
+
# @return [String]
|
|
161
|
+
required :id, String
|
|
162
|
+
|
|
163
|
+
# @!attribute key_prefix
|
|
164
|
+
# API key prefix (first 8 characters)
|
|
165
|
+
#
|
|
166
|
+
# @return [String, nil]
|
|
167
|
+
optional :key_prefix, String, api_name: :keyPrefix, nil?: true
|
|
168
|
+
|
|
169
|
+
# @!method initialize(id:, key_prefix: nil)
|
|
170
|
+
# API credential information
|
|
171
|
+
#
|
|
172
|
+
# @param id [String] Credential ID
|
|
173
|
+
#
|
|
174
|
+
# @param key_prefix [String, nil] API key prefix (first 8 characters)
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# HTTP method
|
|
178
|
+
#
|
|
179
|
+
# @see ArkEmail::Models::LogEntry#method_
|
|
180
|
+
module Method
|
|
181
|
+
extend ArkEmail::Internal::Type::Enum
|
|
182
|
+
|
|
183
|
+
GET = :GET
|
|
184
|
+
POST = :POST
|
|
185
|
+
PUT = :PUT
|
|
186
|
+
PATCH = :PATCH
|
|
187
|
+
DELETE = :DELETE
|
|
188
|
+
|
|
189
|
+
# @!method self.values
|
|
190
|
+
# @return [Array<Symbol>]
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
# @see ArkEmail::Models::LogEntry#rate_limit
|
|
194
|
+
class RateLimit < ArkEmail::Internal::Type::BaseModel
|
|
195
|
+
# @!attribute limit
|
|
196
|
+
# Rate limit ceiling
|
|
197
|
+
#
|
|
198
|
+
# @return [Integer, nil]
|
|
199
|
+
optional :limit, Integer, nil?: true
|
|
200
|
+
|
|
201
|
+
# @!attribute limited
|
|
202
|
+
# Whether the request was rate limited
|
|
203
|
+
#
|
|
204
|
+
# @return [Boolean, nil]
|
|
205
|
+
optional :limited, ArkEmail::Internal::Type::Boolean
|
|
206
|
+
|
|
207
|
+
# @!attribute remaining
|
|
208
|
+
# Remaining requests in window
|
|
209
|
+
#
|
|
210
|
+
# @return [Integer, nil]
|
|
211
|
+
optional :remaining, Integer, nil?: true
|
|
212
|
+
|
|
213
|
+
# @!attribute reset
|
|
214
|
+
# Unix timestamp when limit resets
|
|
215
|
+
#
|
|
216
|
+
# @return [Integer, nil]
|
|
217
|
+
optional :reset, Integer, nil?: true
|
|
218
|
+
|
|
219
|
+
# @!method initialize(limit: nil, limited: nil, remaining: nil, reset: nil)
|
|
220
|
+
# Rate limit state at time of request
|
|
221
|
+
#
|
|
222
|
+
# @param limit [Integer, nil] Rate limit ceiling
|
|
223
|
+
#
|
|
224
|
+
# @param limited [Boolean] Whether the request was rate limited
|
|
225
|
+
#
|
|
226
|
+
# @param remaining [Integer, nil] Remaining requests in window
|
|
227
|
+
#
|
|
228
|
+
# @param reset [Integer, nil] Unix timestamp when limit resets
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# @see ArkEmail::Models::LogEntry#email
|
|
232
|
+
class Email < ArkEmail::Internal::Type::BaseModel
|
|
233
|
+
# @!attribute id
|
|
234
|
+
# Email message ID
|
|
235
|
+
#
|
|
236
|
+
# @return [String, nil]
|
|
237
|
+
optional :id, String
|
|
238
|
+
|
|
239
|
+
# @!attribute recipient_count
|
|
240
|
+
# Number of recipients
|
|
241
|
+
#
|
|
242
|
+
# @return [Integer, nil]
|
|
243
|
+
optional :recipient_count, Integer, api_name: :recipientCount, nil?: true
|
|
244
|
+
|
|
245
|
+
# @!method initialize(id: nil, recipient_count: nil)
|
|
246
|
+
# Email-specific data (for email endpoints)
|
|
247
|
+
#
|
|
248
|
+
# @param id [String] Email message ID
|
|
249
|
+
#
|
|
250
|
+
# @param recipient_count [Integer, nil] Number of recipients
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
# @see ArkEmail::Models::LogEntry#error
|
|
254
|
+
class Error < ArkEmail::Internal::Type::BaseModel
|
|
255
|
+
# @!attribute code
|
|
256
|
+
# Error code
|
|
257
|
+
#
|
|
258
|
+
# @return [String, nil]
|
|
259
|
+
optional :code, String
|
|
260
|
+
|
|
261
|
+
# @!attribute message
|
|
262
|
+
# Error message
|
|
263
|
+
#
|
|
264
|
+
# @return [String, nil]
|
|
265
|
+
optional :message, String, nil?: true
|
|
266
|
+
|
|
267
|
+
# @!method initialize(code: nil, message: nil)
|
|
268
|
+
# Error details (null if request succeeded)
|
|
269
|
+
#
|
|
270
|
+
# @param code [String] Error code
|
|
271
|
+
#
|
|
272
|
+
# @param message [String, nil] Error message
|
|
273
|
+
end
|
|
274
|
+
|
|
275
|
+
# @see ArkEmail::Models::LogEntry#sdk
|
|
276
|
+
class SDK < ArkEmail::Internal::Type::BaseModel
|
|
277
|
+
# @!attribute name
|
|
278
|
+
# SDK name
|
|
279
|
+
#
|
|
280
|
+
# @return [String, nil]
|
|
281
|
+
optional :name, String
|
|
282
|
+
|
|
283
|
+
# @!attribute version
|
|
284
|
+
# SDK version
|
|
285
|
+
#
|
|
286
|
+
# @return [String, nil]
|
|
287
|
+
optional :version, String, nil?: true
|
|
288
|
+
|
|
289
|
+
# @!method initialize(name: nil, version: nil)
|
|
290
|
+
# SDK information (null if not using an SDK)
|
|
291
|
+
#
|
|
292
|
+
# @param name [String] SDK name
|
|
293
|
+
#
|
|
294
|
+
# @param version [String, nil] SDK version
|
|
295
|
+
end
|
|
296
|
+
end
|
|
297
|
+
end
|
|
298
|
+
end
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Models
|
|
5
|
+
class LogEntryDetail < ArkEmail::Models::LogEntry
|
|
6
|
+
# @!attribute request
|
|
7
|
+
# Request body information
|
|
8
|
+
#
|
|
9
|
+
# @return [ArkEmail::Models::LogEntryDetail::Request, nil]
|
|
10
|
+
optional :request, -> { ArkEmail::LogEntryDetail::Request }
|
|
11
|
+
|
|
12
|
+
# @!attribute response
|
|
13
|
+
# Response body information
|
|
14
|
+
#
|
|
15
|
+
# @return [ArkEmail::Models::LogEntryDetail::Response, nil]
|
|
16
|
+
optional :response, -> { ArkEmail::LogEntryDetail::Response }
|
|
17
|
+
|
|
18
|
+
# @!method initialize(request: nil, response: nil)
|
|
19
|
+
# Full API request log entry with bodies
|
|
20
|
+
#
|
|
21
|
+
# @param request [ArkEmail::Models::LogEntryDetail::Request] Request body information
|
|
22
|
+
#
|
|
23
|
+
# @param response [ArkEmail::Models::LogEntryDetail::Response] Response body information
|
|
24
|
+
|
|
25
|
+
class Request < ArkEmail::Internal::Type::BaseModel
|
|
26
|
+
# @!attribute body
|
|
27
|
+
# Decrypted request body (JSON or string). Bodies over 25KB are truncated.
|
|
28
|
+
#
|
|
29
|
+
# @return [Hash{Symbol=>Object}, String, nil]
|
|
30
|
+
optional :body, union: -> { ArkEmail::LogEntryDetail::Request::Body }, nil?: true
|
|
31
|
+
|
|
32
|
+
# @!attribute body_size
|
|
33
|
+
# Original request body size in bytes
|
|
34
|
+
#
|
|
35
|
+
# @return [Integer, nil]
|
|
36
|
+
optional :body_size, Integer, api_name: :bodySize, nil?: true
|
|
37
|
+
|
|
38
|
+
# @!method initialize(body: nil, body_size: nil)
|
|
39
|
+
# Request body information
|
|
40
|
+
#
|
|
41
|
+
# @param body [Hash{Symbol=>Object}, String, nil] Decrypted request body (JSON or string). Bodies over 25KB are truncated.
|
|
42
|
+
#
|
|
43
|
+
# @param body_size [Integer, nil] Original request body size in bytes
|
|
44
|
+
|
|
45
|
+
# Decrypted request body (JSON or string). Bodies over 25KB are truncated.
|
|
46
|
+
#
|
|
47
|
+
# @see ArkEmail::Models::LogEntryDetail::Request#body
|
|
48
|
+
module Body
|
|
49
|
+
extend ArkEmail::Internal::Type::Union
|
|
50
|
+
|
|
51
|
+
variant -> { ArkEmail::Models::LogEntryDetail::Request::Body::UnionMember0Map }
|
|
52
|
+
|
|
53
|
+
variant String
|
|
54
|
+
|
|
55
|
+
# @!method self.variants
|
|
56
|
+
# @return [Array(Hash{Symbol=>Object}, String)]
|
|
57
|
+
|
|
58
|
+
# @type [ArkEmail::Internal::Type::Converter]
|
|
59
|
+
UnionMember0Map = ArkEmail::Internal::Type::HashOf[ArkEmail::Internal::Type::Unknown]
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
class Response < ArkEmail::Internal::Type::BaseModel
|
|
64
|
+
# @!attribute body
|
|
65
|
+
# Decrypted response body (JSON or string). Bodies over 25KB are truncated.
|
|
66
|
+
#
|
|
67
|
+
# @return [Hash{Symbol=>Object}, String, nil]
|
|
68
|
+
optional :body, union: -> { ArkEmail::LogEntryDetail::Response::Body }, nil?: true
|
|
69
|
+
|
|
70
|
+
# @!attribute body_size
|
|
71
|
+
# Response body size in bytes
|
|
72
|
+
#
|
|
73
|
+
# @return [Integer, nil]
|
|
74
|
+
optional :body_size, Integer, api_name: :bodySize, nil?: true
|
|
75
|
+
|
|
76
|
+
# @!method initialize(body: nil, body_size: nil)
|
|
77
|
+
# Response body information
|
|
78
|
+
#
|
|
79
|
+
# @param body [Hash{Symbol=>Object}, String, nil] Decrypted response body (JSON or string). Bodies over 25KB are truncated.
|
|
80
|
+
#
|
|
81
|
+
# @param body_size [Integer, nil] Response body size in bytes
|
|
82
|
+
|
|
83
|
+
# Decrypted response body (JSON or string). Bodies over 25KB are truncated.
|
|
84
|
+
#
|
|
85
|
+
# @see ArkEmail::Models::LogEntryDetail::Response#body
|
|
86
|
+
module Body
|
|
87
|
+
extend ArkEmail::Internal::Type::Union
|
|
88
|
+
|
|
89
|
+
variant -> { ArkEmail::Models::LogEntryDetail::Response::Body::UnionMember0Map }
|
|
90
|
+
|
|
91
|
+
variant String
|
|
92
|
+
|
|
93
|
+
# @!method self.variants
|
|
94
|
+
# @return [Array(Hash{Symbol=>Object}, String)]
|
|
95
|
+
|
|
96
|
+
# @type [ArkEmail::Internal::Type::Converter]
|
|
97
|
+
UnionMember0Map = ArkEmail::Internal::Type::HashOf[ArkEmail::Internal::Type::Unknown]
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Models
|
|
5
|
+
# @see ArkEmail::Resources::Logs#list
|
|
6
|
+
class LogListParams < ArkEmail::Internal::Type::BaseModel
|
|
7
|
+
extend ArkEmail::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include ArkEmail::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute credential_id
|
|
11
|
+
# Filter by API credential ID
|
|
12
|
+
#
|
|
13
|
+
# @return [String, nil]
|
|
14
|
+
optional :credential_id, String
|
|
15
|
+
|
|
16
|
+
# @!attribute end_date
|
|
17
|
+
# Filter logs before this date (ISO 8601 format)
|
|
18
|
+
#
|
|
19
|
+
# @return [Time, nil]
|
|
20
|
+
optional :end_date, Time
|
|
21
|
+
|
|
22
|
+
# @!attribute endpoint
|
|
23
|
+
# Filter by endpoint name
|
|
24
|
+
#
|
|
25
|
+
# @return [String, nil]
|
|
26
|
+
optional :endpoint, String
|
|
27
|
+
|
|
28
|
+
# @!attribute page
|
|
29
|
+
# Page number
|
|
30
|
+
#
|
|
31
|
+
# @return [Integer, nil]
|
|
32
|
+
optional :page, Integer
|
|
33
|
+
|
|
34
|
+
# @!attribute per_page
|
|
35
|
+
# Results per page (max 100)
|
|
36
|
+
#
|
|
37
|
+
# @return [Integer, nil]
|
|
38
|
+
optional :per_page, Integer
|
|
39
|
+
|
|
40
|
+
# @!attribute request_id
|
|
41
|
+
# Filter by request ID (partial match)
|
|
42
|
+
#
|
|
43
|
+
# @return [String, nil]
|
|
44
|
+
optional :request_id, String
|
|
45
|
+
|
|
46
|
+
# @!attribute start_date
|
|
47
|
+
# Filter logs after this date (ISO 8601 format)
|
|
48
|
+
#
|
|
49
|
+
# @return [Time, nil]
|
|
50
|
+
optional :start_date, Time
|
|
51
|
+
|
|
52
|
+
# @!attribute status
|
|
53
|
+
# Filter by status category:
|
|
54
|
+
#
|
|
55
|
+
# - `success` - Status codes < 400
|
|
56
|
+
# - `error` - Status codes >= 400
|
|
57
|
+
#
|
|
58
|
+
# @return [Symbol, ArkEmail::Models::LogListParams::Status, nil]
|
|
59
|
+
optional :status, enum: -> { ArkEmail::LogListParams::Status }
|
|
60
|
+
|
|
61
|
+
# @!attribute status_code
|
|
62
|
+
# Filter by exact HTTP status code (100-599)
|
|
63
|
+
#
|
|
64
|
+
# @return [Integer, nil]
|
|
65
|
+
optional :status_code, Integer
|
|
66
|
+
|
|
67
|
+
# @!method initialize(credential_id: nil, end_date: nil, endpoint: nil, page: nil, per_page: nil, request_id: nil, start_date: nil, status: nil, status_code: nil, request_options: {})
|
|
68
|
+
# Some parameter documentations has been truncated, see
|
|
69
|
+
# {ArkEmail::Models::LogListParams} for more details.
|
|
70
|
+
#
|
|
71
|
+
# @param credential_id [String] Filter by API credential ID
|
|
72
|
+
#
|
|
73
|
+
# @param end_date [Time] Filter logs before this date (ISO 8601 format)
|
|
74
|
+
#
|
|
75
|
+
# @param endpoint [String] Filter by endpoint name
|
|
76
|
+
#
|
|
77
|
+
# @param page [Integer] Page number
|
|
78
|
+
#
|
|
79
|
+
# @param per_page [Integer] Results per page (max 100)
|
|
80
|
+
#
|
|
81
|
+
# @param request_id [String] Filter by request ID (partial match)
|
|
82
|
+
#
|
|
83
|
+
# @param start_date [Time] Filter logs after this date (ISO 8601 format)
|
|
84
|
+
#
|
|
85
|
+
# @param status [Symbol, ArkEmail::Models::LogListParams::Status] Filter by status category:
|
|
86
|
+
#
|
|
87
|
+
# @param status_code [Integer] Filter by exact HTTP status code (100-599)
|
|
88
|
+
#
|
|
89
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
|
|
90
|
+
|
|
91
|
+
# Filter by status category:
|
|
92
|
+
#
|
|
93
|
+
# - `success` - Status codes < 400
|
|
94
|
+
# - `error` - Status codes >= 400
|
|
95
|
+
module Status
|
|
96
|
+
extend ArkEmail::Internal::Type::Enum
|
|
97
|
+
|
|
98
|
+
SUCCESS = :success
|
|
99
|
+
ERROR = :error
|
|
100
|
+
|
|
101
|
+
# @!method self.values
|
|
102
|
+
# @return [Array<Symbol>]
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Models
|
|
5
|
+
# @see ArkEmail::Resources::Logs#retrieve
|
|
6
|
+
class LogRetrieveParams < ArkEmail::Internal::Type::BaseModel
|
|
7
|
+
extend ArkEmail::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include ArkEmail::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!method initialize(request_options: {})
|
|
11
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Models
|
|
5
|
+
# @see ArkEmail::Resources::Logs#retrieve
|
|
6
|
+
class LogRetrieveResponse < ArkEmail::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute data
|
|
8
|
+
# Full API request log entry with bodies
|
|
9
|
+
#
|
|
10
|
+
# @return [ArkEmail::Models::LogEntryDetail]
|
|
11
|
+
required :data, -> { ArkEmail::LogEntryDetail }
|
|
12
|
+
|
|
13
|
+
# @!attribute meta
|
|
14
|
+
#
|
|
15
|
+
# @return [ArkEmail::Models::APIMeta]
|
|
16
|
+
required :meta, -> { ArkEmail::APIMeta }
|
|
17
|
+
|
|
18
|
+
# @!attribute success
|
|
19
|
+
#
|
|
20
|
+
# @return [Boolean, true]
|
|
21
|
+
required :success, const: true
|
|
22
|
+
|
|
23
|
+
# @!method initialize(data:, meta:, success: true)
|
|
24
|
+
# Detailed API request log with request/response bodies
|
|
25
|
+
#
|
|
26
|
+
# @param data [ArkEmail::Models::LogEntryDetail] Full API request log entry with bodies
|
|
27
|
+
#
|
|
28
|
+
# @param meta [ArkEmail::Models::APIMeta]
|
|
29
|
+
#
|
|
30
|
+
# @param success [Boolean, true]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -16,7 +16,8 @@ module ArkEmail
|
|
|
16
16
|
required :created_at, Time, api_name: :createdAt
|
|
17
17
|
|
|
18
18
|
# @!attribute dns_ok
|
|
19
|
-
# Whether
|
|
19
|
+
# Whether the tracking CNAME record is correctly configured. Must be true to use
|
|
20
|
+
# tracking features.
|
|
20
21
|
#
|
|
21
22
|
# @return [Boolean]
|
|
22
23
|
required :dns_ok, ArkEmail::Internal::Type::Boolean, api_name: :dnsOk
|
|
@@ -94,11 +95,14 @@ module ArkEmail
|
|
|
94
95
|
optional :updated_at, Time, api_name: :updatedAt, nil?: true
|
|
95
96
|
|
|
96
97
|
# @!method initialize(id:, created_at:, dns_ok:, domain_id:, full_name:, name:, ssl_enabled:, track_clicks:, track_opens:, dns_checked_at: nil, dns_error: nil, dns_record: nil, dns_status: nil, excluded_click_domains: nil, updated_at: nil)
|
|
98
|
+
# Some parameter documentations has been truncated, see
|
|
99
|
+
# {ArkEmail::Models::TrackDomain} for more details.
|
|
100
|
+
#
|
|
97
101
|
# @param id [String] Track domain ID
|
|
98
102
|
#
|
|
99
103
|
# @param created_at [Time] When the track domain was created
|
|
100
104
|
#
|
|
101
|
-
# @param dns_ok [Boolean] Whether
|
|
105
|
+
# @param dns_ok [Boolean] Whether the tracking CNAME record is correctly configured. Must be true to use t
|
|
102
106
|
#
|
|
103
107
|
# @param domain_id [String] ID of the parent sending domain
|
|
104
108
|
#
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Models
|
|
5
|
+
# @see ArkEmail::Resources::Usage#retrieve
|
|
6
|
+
class UsageRetrieveParams < ArkEmail::Internal::Type::BaseModel
|
|
7
|
+
extend ArkEmail::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include ArkEmail::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!method initialize(request_options: {})
|
|
11
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|