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,163 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Models
|
|
5
|
+
class LogListParams < ArkEmail::Internal::Type::BaseModel
|
|
6
|
+
extend ArkEmail::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include ArkEmail::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(ArkEmail::LogListParams, ArkEmail::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Filter by API credential ID
|
|
15
|
+
sig { returns(T.nilable(String)) }
|
|
16
|
+
attr_reader :credential_id
|
|
17
|
+
|
|
18
|
+
sig { params(credential_id: String).void }
|
|
19
|
+
attr_writer :credential_id
|
|
20
|
+
|
|
21
|
+
# Filter logs before this date (ISO 8601 format)
|
|
22
|
+
sig { returns(T.nilable(Time)) }
|
|
23
|
+
attr_reader :end_date
|
|
24
|
+
|
|
25
|
+
sig { params(end_date: Time).void }
|
|
26
|
+
attr_writer :end_date
|
|
27
|
+
|
|
28
|
+
# Filter by endpoint name
|
|
29
|
+
sig { returns(T.nilable(String)) }
|
|
30
|
+
attr_reader :endpoint
|
|
31
|
+
|
|
32
|
+
sig { params(endpoint: String).void }
|
|
33
|
+
attr_writer :endpoint
|
|
34
|
+
|
|
35
|
+
# Page number
|
|
36
|
+
sig { returns(T.nilable(Integer)) }
|
|
37
|
+
attr_reader :page
|
|
38
|
+
|
|
39
|
+
sig { params(page: Integer).void }
|
|
40
|
+
attr_writer :page
|
|
41
|
+
|
|
42
|
+
# Results per page (max 100)
|
|
43
|
+
sig { returns(T.nilable(Integer)) }
|
|
44
|
+
attr_reader :per_page
|
|
45
|
+
|
|
46
|
+
sig { params(per_page: Integer).void }
|
|
47
|
+
attr_writer :per_page
|
|
48
|
+
|
|
49
|
+
# Filter by request ID (partial match)
|
|
50
|
+
sig { returns(T.nilable(String)) }
|
|
51
|
+
attr_reader :request_id
|
|
52
|
+
|
|
53
|
+
sig { params(request_id: String).void }
|
|
54
|
+
attr_writer :request_id
|
|
55
|
+
|
|
56
|
+
# Filter logs after this date (ISO 8601 format)
|
|
57
|
+
sig { returns(T.nilable(Time)) }
|
|
58
|
+
attr_reader :start_date
|
|
59
|
+
|
|
60
|
+
sig { params(start_date: Time).void }
|
|
61
|
+
attr_writer :start_date
|
|
62
|
+
|
|
63
|
+
# Filter by status category:
|
|
64
|
+
#
|
|
65
|
+
# - `success` - Status codes < 400
|
|
66
|
+
# - `error` - Status codes >= 400
|
|
67
|
+
sig { returns(T.nilable(ArkEmail::LogListParams::Status::OrSymbol)) }
|
|
68
|
+
attr_reader :status
|
|
69
|
+
|
|
70
|
+
sig { params(status: ArkEmail::LogListParams::Status::OrSymbol).void }
|
|
71
|
+
attr_writer :status
|
|
72
|
+
|
|
73
|
+
# Filter by exact HTTP status code (100-599)
|
|
74
|
+
sig { returns(T.nilable(Integer)) }
|
|
75
|
+
attr_reader :status_code
|
|
76
|
+
|
|
77
|
+
sig { params(status_code: Integer).void }
|
|
78
|
+
attr_writer :status_code
|
|
79
|
+
|
|
80
|
+
sig do
|
|
81
|
+
params(
|
|
82
|
+
credential_id: String,
|
|
83
|
+
end_date: Time,
|
|
84
|
+
endpoint: String,
|
|
85
|
+
page: Integer,
|
|
86
|
+
per_page: Integer,
|
|
87
|
+
request_id: String,
|
|
88
|
+
start_date: Time,
|
|
89
|
+
status: ArkEmail::LogListParams::Status::OrSymbol,
|
|
90
|
+
status_code: Integer,
|
|
91
|
+
request_options: ArkEmail::RequestOptions::OrHash
|
|
92
|
+
).returns(T.attached_class)
|
|
93
|
+
end
|
|
94
|
+
def self.new(
|
|
95
|
+
# Filter by API credential ID
|
|
96
|
+
credential_id: nil,
|
|
97
|
+
# Filter logs before this date (ISO 8601 format)
|
|
98
|
+
end_date: nil,
|
|
99
|
+
# Filter by endpoint name
|
|
100
|
+
endpoint: nil,
|
|
101
|
+
# Page number
|
|
102
|
+
page: nil,
|
|
103
|
+
# Results per page (max 100)
|
|
104
|
+
per_page: nil,
|
|
105
|
+
# Filter by request ID (partial match)
|
|
106
|
+
request_id: nil,
|
|
107
|
+
# Filter logs after this date (ISO 8601 format)
|
|
108
|
+
start_date: nil,
|
|
109
|
+
# Filter by status category:
|
|
110
|
+
#
|
|
111
|
+
# - `success` - Status codes < 400
|
|
112
|
+
# - `error` - Status codes >= 400
|
|
113
|
+
status: nil,
|
|
114
|
+
# Filter by exact HTTP status code (100-599)
|
|
115
|
+
status_code: nil,
|
|
116
|
+
request_options: {}
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
sig do
|
|
121
|
+
override.returns(
|
|
122
|
+
{
|
|
123
|
+
credential_id: String,
|
|
124
|
+
end_date: Time,
|
|
125
|
+
endpoint: String,
|
|
126
|
+
page: Integer,
|
|
127
|
+
per_page: Integer,
|
|
128
|
+
request_id: String,
|
|
129
|
+
start_date: Time,
|
|
130
|
+
status: ArkEmail::LogListParams::Status::OrSymbol,
|
|
131
|
+
status_code: Integer,
|
|
132
|
+
request_options: ArkEmail::RequestOptions
|
|
133
|
+
}
|
|
134
|
+
)
|
|
135
|
+
end
|
|
136
|
+
def to_hash
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# Filter by status category:
|
|
140
|
+
#
|
|
141
|
+
# - `success` - Status codes < 400
|
|
142
|
+
# - `error` - Status codes >= 400
|
|
143
|
+
module Status
|
|
144
|
+
extend ArkEmail::Internal::Type::Enum
|
|
145
|
+
|
|
146
|
+
TaggedSymbol =
|
|
147
|
+
T.type_alias { T.all(Symbol, ArkEmail::LogListParams::Status) }
|
|
148
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
149
|
+
|
|
150
|
+
SUCCESS = T.let(:success, ArkEmail::LogListParams::Status::TaggedSymbol)
|
|
151
|
+
ERROR = T.let(:error, ArkEmail::LogListParams::Status::TaggedSymbol)
|
|
152
|
+
|
|
153
|
+
sig do
|
|
154
|
+
override.returns(
|
|
155
|
+
T::Array[ArkEmail::LogListParams::Status::TaggedSymbol]
|
|
156
|
+
)
|
|
157
|
+
end
|
|
158
|
+
def self.values
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Models
|
|
5
|
+
class LogRetrieveParams < ArkEmail::Internal::Type::BaseModel
|
|
6
|
+
extend ArkEmail::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include ArkEmail::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(ArkEmail::LogRetrieveParams, ArkEmail::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig do
|
|
15
|
+
params(request_options: ArkEmail::RequestOptions::OrHash).returns(
|
|
16
|
+
T.attached_class
|
|
17
|
+
)
|
|
18
|
+
end
|
|
19
|
+
def self.new(request_options: {})
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
sig { override.returns({ request_options: ArkEmail::RequestOptions }) }
|
|
23
|
+
def to_hash
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Models
|
|
5
|
+
class LogRetrieveResponse < ArkEmail::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
ArkEmail::Models::LogRetrieveResponse,
|
|
10
|
+
ArkEmail::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Full API request log entry with bodies
|
|
15
|
+
sig { returns(ArkEmail::LogEntryDetail) }
|
|
16
|
+
attr_reader :data
|
|
17
|
+
|
|
18
|
+
sig { params(data: ArkEmail::LogEntryDetail::OrHash).void }
|
|
19
|
+
attr_writer :data
|
|
20
|
+
|
|
21
|
+
sig { returns(ArkEmail::APIMeta) }
|
|
22
|
+
attr_reader :meta
|
|
23
|
+
|
|
24
|
+
sig { params(meta: ArkEmail::APIMeta::OrHash).void }
|
|
25
|
+
attr_writer :meta
|
|
26
|
+
|
|
27
|
+
sig { returns(T::Boolean) }
|
|
28
|
+
attr_accessor :success
|
|
29
|
+
|
|
30
|
+
# Detailed API request log with request/response bodies
|
|
31
|
+
sig do
|
|
32
|
+
params(
|
|
33
|
+
data: ArkEmail::LogEntryDetail::OrHash,
|
|
34
|
+
meta: ArkEmail::APIMeta::OrHash,
|
|
35
|
+
success: T::Boolean
|
|
36
|
+
).returns(T.attached_class)
|
|
37
|
+
end
|
|
38
|
+
def self.new(
|
|
39
|
+
# Full API request log entry with bodies
|
|
40
|
+
data:,
|
|
41
|
+
meta:,
|
|
42
|
+
success: true
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
sig do
|
|
47
|
+
override.returns(
|
|
48
|
+
{
|
|
49
|
+
data: ArkEmail::LogEntryDetail,
|
|
50
|
+
meta: ArkEmail::APIMeta,
|
|
51
|
+
success: T::Boolean
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
def to_hash
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -16,7 +16,8 @@ module ArkEmail
|
|
|
16
16
|
sig { returns(Time) }
|
|
17
17
|
attr_accessor :created_at
|
|
18
18
|
|
|
19
|
-
# Whether
|
|
19
|
+
# Whether the tracking CNAME record is correctly configured. Must be true to use
|
|
20
|
+
# tracking features.
|
|
20
21
|
sig { returns(T::Boolean) }
|
|
21
22
|
attr_accessor :dns_ok
|
|
22
23
|
|
|
@@ -99,7 +100,8 @@ module ArkEmail
|
|
|
99
100
|
id:,
|
|
100
101
|
# When the track domain was created
|
|
101
102
|
created_at:,
|
|
102
|
-
# Whether
|
|
103
|
+
# Whether the tracking CNAME record is correctly configured. Must be true to use
|
|
104
|
+
# tracking features.
|
|
103
105
|
dns_ok:,
|
|
104
106
|
# ID of the parent sending domain
|
|
105
107
|
domain_id:,
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Models
|
|
5
|
+
class UsageRetrieveParams < ArkEmail::Internal::Type::BaseModel
|
|
6
|
+
extend ArkEmail::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include ArkEmail::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(ArkEmail::UsageRetrieveParams, ArkEmail::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig do
|
|
15
|
+
params(request_options: ArkEmail::RequestOptions::OrHash).returns(
|
|
16
|
+
T.attached_class
|
|
17
|
+
)
|
|
18
|
+
end
|
|
19
|
+
def self.new(request_options: {})
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
sig { override.returns({ request_options: ArkEmail::RequestOptions }) }
|
|
23
|
+
def to_hash
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|