ark-email 0.13.0 → 0.14.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/ark_email/client.rb +4 -0
- 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.rb +8 -0
- data/lib/ark_email/resources/logs.rb +120 -0
- data/lib/ark_email/version.rb +1 -1
- data/lib/ark_email.rb +6 -0
- data/rbi/ark_email/client.rbi +3 -0
- 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.rbi +8 -0
- data/rbi/ark_email/resources/emails.rbi +4 -1
- data/rbi/ark_email/resources/logs.rbi +104 -0
- data/sig/ark_email/client.rbs +2 -0
- 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.rbs +8 -0
- data/sig/ark_email/resources/logs.rbs +25 -0
- metadata +20 -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
|
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
|
|
@@ -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
|
)
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Resources
|
|
5
|
+
class Logs
|
|
6
|
+
# Retrieve detailed information about a specific API request log, including the
|
|
7
|
+
# full request and response bodies.
|
|
8
|
+
#
|
|
9
|
+
# **Body decryption:** Request and response bodies are stored encrypted and
|
|
10
|
+
# automatically decrypted when retrieved. Bodies larger than 25KB are truncated at
|
|
11
|
+
# storage time with a `... [truncated]` marker.
|
|
12
|
+
#
|
|
13
|
+
# **Use cases:**
|
|
14
|
+
#
|
|
15
|
+
# - Debug a specific failed request
|
|
16
|
+
# - Review the exact payload sent/received
|
|
17
|
+
# - Share request details with support
|
|
18
|
+
#
|
|
19
|
+
# **Related endpoints:**
|
|
20
|
+
#
|
|
21
|
+
# - `GET /logs` - List logs with filters
|
|
22
|
+
sig do
|
|
23
|
+
params(
|
|
24
|
+
request_id: String,
|
|
25
|
+
request_options: ArkEmail::RequestOptions::OrHash
|
|
26
|
+
).returns(ArkEmail::Models::LogRetrieveResponse)
|
|
27
|
+
end
|
|
28
|
+
def retrieve(
|
|
29
|
+
# The request ID (format `req_*`)
|
|
30
|
+
request_id,
|
|
31
|
+
request_options: {}
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Retrieve a paginated list of API request logs for debugging and monitoring.
|
|
36
|
+
# Results are ordered by timestamp, newest first.
|
|
37
|
+
#
|
|
38
|
+
# **Use cases:**
|
|
39
|
+
#
|
|
40
|
+
# - Debug integration issues by reviewing recent requests
|
|
41
|
+
# - Monitor error rates and response times
|
|
42
|
+
# - Audit API usage patterns
|
|
43
|
+
#
|
|
44
|
+
# **Filters:**
|
|
45
|
+
#
|
|
46
|
+
# - `status` - Filter by success or error category
|
|
47
|
+
# - `statusCode` - Filter by exact HTTP status code
|
|
48
|
+
# - `endpoint` - Filter by endpoint name (e.g., `emails.send`)
|
|
49
|
+
# - `credentialId` - Filter by API key
|
|
50
|
+
# - `startDate`/`endDate` - Filter by date range
|
|
51
|
+
#
|
|
52
|
+
# **Note:** Request and response bodies are only included when retrieving a single
|
|
53
|
+
# log entry with `GET /logs/{requestId}`.
|
|
54
|
+
#
|
|
55
|
+
# **Related endpoints:**
|
|
56
|
+
#
|
|
57
|
+
# - `GET /logs/{requestId}` - Get full log details with request/response bodies
|
|
58
|
+
sig do
|
|
59
|
+
params(
|
|
60
|
+
credential_id: String,
|
|
61
|
+
end_date: Time,
|
|
62
|
+
endpoint: String,
|
|
63
|
+
page: Integer,
|
|
64
|
+
per_page: Integer,
|
|
65
|
+
request_id: String,
|
|
66
|
+
start_date: Time,
|
|
67
|
+
status: ArkEmail::LogListParams::Status::OrSymbol,
|
|
68
|
+
status_code: Integer,
|
|
69
|
+
request_options: ArkEmail::RequestOptions::OrHash
|
|
70
|
+
).returns(ArkEmail::Internal::PageNumberPagination[ArkEmail::LogEntry])
|
|
71
|
+
end
|
|
72
|
+
def list(
|
|
73
|
+
# Filter by API credential ID
|
|
74
|
+
credential_id: nil,
|
|
75
|
+
# Filter logs before this date (ISO 8601 format)
|
|
76
|
+
end_date: nil,
|
|
77
|
+
# Filter by endpoint name
|
|
78
|
+
endpoint: nil,
|
|
79
|
+
# Page number
|
|
80
|
+
page: nil,
|
|
81
|
+
# Results per page (max 100)
|
|
82
|
+
per_page: nil,
|
|
83
|
+
# Filter by request ID (partial match)
|
|
84
|
+
request_id: nil,
|
|
85
|
+
# Filter logs after this date (ISO 8601 format)
|
|
86
|
+
start_date: nil,
|
|
87
|
+
# Filter by status category:
|
|
88
|
+
#
|
|
89
|
+
# - `success` - Status codes < 400
|
|
90
|
+
# - `error` - Status codes >= 400
|
|
91
|
+
status: nil,
|
|
92
|
+
# Filter by exact HTTP status code (100-599)
|
|
93
|
+
status_code: nil,
|
|
94
|
+
request_options: {}
|
|
95
|
+
)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# @api private
|
|
99
|
+
sig { params(client: ArkEmail::Client).returns(T.attached_class) }
|
|
100
|
+
def self.new(client:)
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
data/sig/ark_email/client.rbs
CHANGED
|
@@ -37,11 +37,14 @@ module ArkEmail
|
|
|
37
37
|
timestamp: Float,
|
|
38
38
|
timestamp_iso: Time,
|
|
39
39
|
to: String,
|
|
40
|
+
activity: ArkEmail::Models::EmailRetrieveResponse::Data::Activity,
|
|
41
|
+
attachments: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Attachment],
|
|
40
42
|
deliveries: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Delivery],
|
|
41
43
|
headers: ::Hash[Symbol, String],
|
|
42
44
|
html_body: String,
|
|
43
45
|
message_id: String,
|
|
44
46
|
plain_body: String,
|
|
47
|
+
raw_message: String,
|
|
45
48
|
spam: bool,
|
|
46
49
|
spam_score: Float,
|
|
47
50
|
tag: String
|
|
@@ -66,6 +69,18 @@ module ArkEmail
|
|
|
66
69
|
|
|
67
70
|
attr_accessor to: String
|
|
68
71
|
|
|
72
|
+
attr_reader activity: ArkEmail::Models::EmailRetrieveResponse::Data::Activity?
|
|
73
|
+
|
|
74
|
+
def activity=: (
|
|
75
|
+
ArkEmail::Models::EmailRetrieveResponse::Data::Activity
|
|
76
|
+
) -> ArkEmail::Models::EmailRetrieveResponse::Data::Activity
|
|
77
|
+
|
|
78
|
+
attr_reader attachments: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Attachment]?
|
|
79
|
+
|
|
80
|
+
def attachments=: (
|
|
81
|
+
::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Attachment]
|
|
82
|
+
) -> ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Attachment]
|
|
83
|
+
|
|
69
84
|
attr_reader deliveries: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Delivery]?
|
|
70
85
|
|
|
71
86
|
def deliveries=: (
|
|
@@ -88,6 +103,10 @@ module ArkEmail
|
|
|
88
103
|
|
|
89
104
|
def plain_body=: (String) -> String
|
|
90
105
|
|
|
106
|
+
attr_reader raw_message: String?
|
|
107
|
+
|
|
108
|
+
def raw_message=: (String) -> String
|
|
109
|
+
|
|
91
110
|
attr_reader spam: bool?
|
|
92
111
|
|
|
93
112
|
def spam=: (bool) -> bool
|
|
@@ -110,11 +129,14 @@ module ArkEmail
|
|
|
110
129
|
timestamp: Float,
|
|
111
130
|
timestamp_iso: Time,
|
|
112
131
|
to: String,
|
|
132
|
+
?activity: ArkEmail::Models::EmailRetrieveResponse::Data::Activity,
|
|
133
|
+
?attachments: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Attachment],
|
|
113
134
|
?deliveries: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Delivery],
|
|
114
135
|
?headers: ::Hash[Symbol, String],
|
|
115
136
|
?html_body: String,
|
|
116
137
|
?message_id: String,
|
|
117
138
|
?plain_body: String,
|
|
139
|
+
?raw_message: String,
|
|
118
140
|
?spam: bool,
|
|
119
141
|
?spam_score: Float,
|
|
120
142
|
?tag: String
|
|
@@ -130,11 +152,14 @@ module ArkEmail
|
|
|
130
152
|
timestamp: Float,
|
|
131
153
|
timestamp_iso: Time,
|
|
132
154
|
to: String,
|
|
155
|
+
activity: ArkEmail::Models::EmailRetrieveResponse::Data::Activity,
|
|
156
|
+
attachments: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Attachment],
|
|
133
157
|
deliveries: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Delivery],
|
|
134
158
|
headers: ::Hash[Symbol, String],
|
|
135
159
|
html_body: String,
|
|
136
160
|
message_id: String,
|
|
137
161
|
plain_body: String,
|
|
162
|
+
raw_message: String,
|
|
138
163
|
spam: bool,
|
|
139
164
|
spam_score: Float,
|
|
140
165
|
tag: String
|
|
@@ -167,6 +192,160 @@ module ArkEmail
|
|
|
167
192
|
def self?.values: -> ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::status]
|
|
168
193
|
end
|
|
169
194
|
|
|
195
|
+
type activity =
|
|
196
|
+
{
|
|
197
|
+
clicks: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Click],
|
|
198
|
+
opens: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Open]
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
class Activity < ArkEmail::Internal::Type::BaseModel
|
|
202
|
+
attr_reader clicks: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Click]?
|
|
203
|
+
|
|
204
|
+
def clicks=: (
|
|
205
|
+
::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Click]
|
|
206
|
+
) -> ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Click]
|
|
207
|
+
|
|
208
|
+
attr_reader opens: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Open]?
|
|
209
|
+
|
|
210
|
+
def opens=: (
|
|
211
|
+
::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Open]
|
|
212
|
+
) -> ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Open]
|
|
213
|
+
|
|
214
|
+
def initialize: (
|
|
215
|
+
?clicks: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Click],
|
|
216
|
+
?opens: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Open]
|
|
217
|
+
) -> void
|
|
218
|
+
|
|
219
|
+
def to_hash: -> {
|
|
220
|
+
clicks: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Click],
|
|
221
|
+
opens: ::Array[ArkEmail::Models::EmailRetrieveResponse::Data::Activity::Open]
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
type click =
|
|
225
|
+
{
|
|
226
|
+
ip_address: String,
|
|
227
|
+
timestamp: Float,
|
|
228
|
+
timestamp_iso: Time,
|
|
229
|
+
url: String,
|
|
230
|
+
user_agent: String
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
class Click < ArkEmail::Internal::Type::BaseModel
|
|
234
|
+
attr_reader ip_address: String?
|
|
235
|
+
|
|
236
|
+
def ip_address=: (String) -> String
|
|
237
|
+
|
|
238
|
+
attr_reader timestamp: Float?
|
|
239
|
+
|
|
240
|
+
def timestamp=: (Float) -> Float
|
|
241
|
+
|
|
242
|
+
attr_reader timestamp_iso: Time?
|
|
243
|
+
|
|
244
|
+
def timestamp_iso=: (Time) -> Time
|
|
245
|
+
|
|
246
|
+
attr_reader url: String?
|
|
247
|
+
|
|
248
|
+
def url=: (String) -> String
|
|
249
|
+
|
|
250
|
+
attr_reader user_agent: String?
|
|
251
|
+
|
|
252
|
+
def user_agent=: (String) -> String
|
|
253
|
+
|
|
254
|
+
def initialize: (
|
|
255
|
+
?ip_address: String,
|
|
256
|
+
?timestamp: Float,
|
|
257
|
+
?timestamp_iso: Time,
|
|
258
|
+
?url: String,
|
|
259
|
+
?user_agent: String
|
|
260
|
+
) -> void
|
|
261
|
+
|
|
262
|
+
def to_hash: -> {
|
|
263
|
+
ip_address: String,
|
|
264
|
+
timestamp: Float,
|
|
265
|
+
timestamp_iso: Time,
|
|
266
|
+
url: String,
|
|
267
|
+
user_agent: String
|
|
268
|
+
}
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
type open_ =
|
|
272
|
+
{
|
|
273
|
+
ip_address: String,
|
|
274
|
+
timestamp: Float,
|
|
275
|
+
timestamp_iso: Time,
|
|
276
|
+
user_agent: String
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
class Open < ArkEmail::Internal::Type::BaseModel
|
|
280
|
+
attr_reader ip_address: String?
|
|
281
|
+
|
|
282
|
+
def ip_address=: (String) -> String
|
|
283
|
+
|
|
284
|
+
attr_reader timestamp: Float?
|
|
285
|
+
|
|
286
|
+
def timestamp=: (Float) -> Float
|
|
287
|
+
|
|
288
|
+
attr_reader timestamp_iso: Time?
|
|
289
|
+
|
|
290
|
+
def timestamp_iso=: (Time) -> Time
|
|
291
|
+
|
|
292
|
+
attr_reader user_agent: String?
|
|
293
|
+
|
|
294
|
+
def user_agent=: (String) -> String
|
|
295
|
+
|
|
296
|
+
def initialize: (
|
|
297
|
+
?ip_address: String,
|
|
298
|
+
?timestamp: Float,
|
|
299
|
+
?timestamp_iso: Time,
|
|
300
|
+
?user_agent: String
|
|
301
|
+
) -> void
|
|
302
|
+
|
|
303
|
+
def to_hash: -> {
|
|
304
|
+
ip_address: String,
|
|
305
|
+
timestamp: Float,
|
|
306
|
+
timestamp_iso: Time,
|
|
307
|
+
user_agent: String
|
|
308
|
+
}
|
|
309
|
+
end
|
|
310
|
+
end
|
|
311
|
+
|
|
312
|
+
type attachment =
|
|
313
|
+
{
|
|
314
|
+
content_type: String,
|
|
315
|
+
data: String,
|
|
316
|
+
filename: String,
|
|
317
|
+
hash_: String,
|
|
318
|
+
size: Integer
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
class Attachment < ArkEmail::Internal::Type::BaseModel
|
|
322
|
+
attr_accessor content_type: String
|
|
323
|
+
|
|
324
|
+
attr_accessor data: String
|
|
325
|
+
|
|
326
|
+
attr_accessor filename: String
|
|
327
|
+
|
|
328
|
+
attr_accessor hash_: String
|
|
329
|
+
|
|
330
|
+
attr_accessor size: Integer
|
|
331
|
+
|
|
332
|
+
def initialize: (
|
|
333
|
+
content_type: String,
|
|
334
|
+
data: String,
|
|
335
|
+
filename: String,
|
|
336
|
+
hash_: String,
|
|
337
|
+
size: Integer
|
|
338
|
+
) -> void
|
|
339
|
+
|
|
340
|
+
def to_hash: -> {
|
|
341
|
+
content_type: String,
|
|
342
|
+
data: String,
|
|
343
|
+
filename: String,
|
|
344
|
+
hash_: String,
|
|
345
|
+
size: Integer
|
|
346
|
+
}
|
|
347
|
+
end
|
|
348
|
+
|
|
170
349
|
type delivery =
|
|
171
350
|
{
|
|
172
351
|
id: String,
|