ark-email 0.12.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 +18 -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/email_send_raw_params.rb +19 -4
- 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/emails.rb +8 -3
- 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/email_send_raw_params.rbi +28 -4
- 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 +21 -4
- 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,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
|
data/lib/ark_email/models.rb
CHANGED
|
@@ -67,6 +67,14 @@ module ArkEmail
|
|
|
67
67
|
|
|
68
68
|
EmailSendRawParams = ArkEmail::Models::EmailSendRawParams
|
|
69
69
|
|
|
70
|
+
LogEntry = ArkEmail::Models::LogEntry
|
|
71
|
+
|
|
72
|
+
LogEntryDetail = ArkEmail::Models::LogEntryDetail
|
|
73
|
+
|
|
74
|
+
LogListParams = ArkEmail::Models::LogListParams
|
|
75
|
+
|
|
76
|
+
LogRetrieveParams = ArkEmail::Models::LogRetrieveParams
|
|
77
|
+
|
|
70
78
|
SuppressionBulkCreateParams = ArkEmail::Models::SuppressionBulkCreateParams
|
|
71
79
|
|
|
72
80
|
SuppressionCreateParams = ArkEmail::Models::SuppressionCreateParams
|
|
@@ -263,16 +263,21 @@ module ArkEmail
|
|
|
263
263
|
)
|
|
264
264
|
end
|
|
265
265
|
|
|
266
|
+
# Some parameter documentations has been truncated, see
|
|
267
|
+
# {ArkEmail::Models::EmailSendRawParams} for more details.
|
|
268
|
+
#
|
|
266
269
|
# Send a pre-formatted RFC 2822 MIME message. Use this for advanced use cases or
|
|
267
270
|
# when migrating from systems that generate raw email content.
|
|
268
271
|
#
|
|
269
|
-
# The `rawMessage` field
|
|
272
|
+
# **Important:** The `rawMessage` field must be base64-encoded. Your raw MIME
|
|
273
|
+
# message (with headers like From, To, Subject, Content-Type, followed by a blank
|
|
274
|
+
# line and the body) must be encoded to base64 before sending.
|
|
270
275
|
#
|
|
271
276
|
# @overload send_raw(from:, raw_message:, to:, bounce: nil, request_options: {})
|
|
272
277
|
#
|
|
273
|
-
# @param from [String] Sender email address
|
|
278
|
+
# @param from [String] Sender email address. Must be from a verified domain.
|
|
274
279
|
#
|
|
275
|
-
# @param raw_message [String] Base64-encoded RFC 2822 MIME message
|
|
280
|
+
# @param raw_message [String] Base64-encoded RFC 2822 MIME message.
|
|
276
281
|
#
|
|
277
282
|
# @param to [Array<String>] Recipient email addresses
|
|
278
283
|
#
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
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
|
+
#
|
|
23
|
+
# @overload retrieve(request_id, request_options: {})
|
|
24
|
+
#
|
|
25
|
+
# @param request_id [String] The request ID (format `req_*`)
|
|
26
|
+
#
|
|
27
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
28
|
+
#
|
|
29
|
+
# @return [ArkEmail::Models::LogRetrieveResponse]
|
|
30
|
+
#
|
|
31
|
+
# @see ArkEmail::Models::LogRetrieveParams
|
|
32
|
+
def retrieve(request_id, params = {})
|
|
33
|
+
@client.request(
|
|
34
|
+
method: :get,
|
|
35
|
+
path: ["logs/%1$s", request_id],
|
|
36
|
+
model: ArkEmail::Models::LogRetrieveResponse,
|
|
37
|
+
options: params[:request_options]
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Some parameter documentations has been truncated, see
|
|
42
|
+
# {ArkEmail::Models::LogListParams} for more details.
|
|
43
|
+
#
|
|
44
|
+
# Retrieve a paginated list of API request logs for debugging and monitoring.
|
|
45
|
+
# Results are ordered by timestamp, newest first.
|
|
46
|
+
#
|
|
47
|
+
# **Use cases:**
|
|
48
|
+
#
|
|
49
|
+
# - Debug integration issues by reviewing recent requests
|
|
50
|
+
# - Monitor error rates and response times
|
|
51
|
+
# - Audit API usage patterns
|
|
52
|
+
#
|
|
53
|
+
# **Filters:**
|
|
54
|
+
#
|
|
55
|
+
# - `status` - Filter by success or error category
|
|
56
|
+
# - `statusCode` - Filter by exact HTTP status code
|
|
57
|
+
# - `endpoint` - Filter by endpoint name (e.g., `emails.send`)
|
|
58
|
+
# - `credentialId` - Filter by API key
|
|
59
|
+
# - `startDate`/`endDate` - Filter by date range
|
|
60
|
+
#
|
|
61
|
+
# **Note:** Request and response bodies are only included when retrieving a single
|
|
62
|
+
# log entry with `GET /logs/{requestId}`.
|
|
63
|
+
#
|
|
64
|
+
# **Related endpoints:**
|
|
65
|
+
#
|
|
66
|
+
# - `GET /logs/{requestId}` - Get full log details with request/response bodies
|
|
67
|
+
#
|
|
68
|
+
# @overload list(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: {})
|
|
69
|
+
#
|
|
70
|
+
# @param credential_id [String] Filter by API credential ID
|
|
71
|
+
#
|
|
72
|
+
# @param end_date [Time] Filter logs before this date (ISO 8601 format)
|
|
73
|
+
#
|
|
74
|
+
# @param endpoint [String] Filter by endpoint name
|
|
75
|
+
#
|
|
76
|
+
# @param page [Integer] Page number
|
|
77
|
+
#
|
|
78
|
+
# @param per_page [Integer] Results per page (max 100)
|
|
79
|
+
#
|
|
80
|
+
# @param request_id [String] Filter by request ID (partial match)
|
|
81
|
+
#
|
|
82
|
+
# @param start_date [Time] Filter logs after this date (ISO 8601 format)
|
|
83
|
+
#
|
|
84
|
+
# @param status [Symbol, ArkEmail::Models::LogListParams::Status] Filter by status category:
|
|
85
|
+
#
|
|
86
|
+
# @param status_code [Integer] Filter by exact HTTP status code (100-599)
|
|
87
|
+
#
|
|
88
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
89
|
+
#
|
|
90
|
+
# @return [ArkEmail::Internal::PageNumberPagination<ArkEmail::Models::LogEntry>]
|
|
91
|
+
#
|
|
92
|
+
# @see ArkEmail::Models::LogListParams
|
|
93
|
+
def list(params = {})
|
|
94
|
+
parsed, options = ArkEmail::LogListParams.dump_request(params)
|
|
95
|
+
@client.request(
|
|
96
|
+
method: :get,
|
|
97
|
+
path: "logs",
|
|
98
|
+
query: parsed.transform_keys(
|
|
99
|
+
credential_id: "credentialId",
|
|
100
|
+
end_date: "endDate",
|
|
101
|
+
per_page: "perPage",
|
|
102
|
+
request_id: "requestId",
|
|
103
|
+
start_date: "startDate",
|
|
104
|
+
status_code: "statusCode"
|
|
105
|
+
),
|
|
106
|
+
page: ArkEmail::Internal::PageNumberPagination,
|
|
107
|
+
model: ArkEmail::LogEntry,
|
|
108
|
+
options: options
|
|
109
|
+
)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# @api private
|
|
113
|
+
#
|
|
114
|
+
# @param client [ArkEmail::Client]
|
|
115
|
+
def initialize(client:)
|
|
116
|
+
@client = client
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
data/lib/ark_email/version.rb
CHANGED
data/lib/ark_email.rb
CHANGED
|
@@ -53,6 +53,7 @@ require_relative "ark_email/internal/transport/base_client"
|
|
|
53
53
|
require_relative "ark_email/internal/transport/pooled_net_requester"
|
|
54
54
|
require_relative "ark_email/client"
|
|
55
55
|
require_relative "ark_email/internal/page_number_pagination"
|
|
56
|
+
require_relative "ark_email/models/log_entry"
|
|
56
57
|
require_relative "ark_email/models/api_meta"
|
|
57
58
|
require_relative "ark_email/models/dns_record"
|
|
58
59
|
require_relative "ark_email/models/domain_create_params"
|
|
@@ -79,6 +80,10 @@ require_relative "ark_email/models/email_send_params"
|
|
|
79
80
|
require_relative "ark_email/models/email_send_raw_params"
|
|
80
81
|
require_relative "ark_email/models/email_send_raw_response"
|
|
81
82
|
require_relative "ark_email/models/email_send_response"
|
|
83
|
+
require_relative "ark_email/models/log_entry_detail"
|
|
84
|
+
require_relative "ark_email/models/log_list_params"
|
|
85
|
+
require_relative "ark_email/models/log_retrieve_params"
|
|
86
|
+
require_relative "ark_email/models/log_retrieve_response"
|
|
82
87
|
require_relative "ark_email/models/suppression_bulk_create_params"
|
|
83
88
|
require_relative "ark_email/models/suppression_bulk_create_response"
|
|
84
89
|
require_relative "ark_email/models/suppression_create_params"
|
|
@@ -123,6 +128,7 @@ require_relative "ark_email/models/webhook_update_response"
|
|
|
123
128
|
require_relative "ark_email/models"
|
|
124
129
|
require_relative "ark_email/resources/domains"
|
|
125
130
|
require_relative "ark_email/resources/emails"
|
|
131
|
+
require_relative "ark_email/resources/logs"
|
|
126
132
|
require_relative "ark_email/resources/suppressions"
|
|
127
133
|
require_relative "ark_email/resources/tracking"
|
|
128
134
|
require_relative "ark_email/resources/webhooks"
|
data/rbi/ark_email/client.rbi
CHANGED
|
@@ -34,6 +34,9 @@ module ArkEmail
|
|
|
34
34
|
sig { returns(ArkEmail::Resources::Tracking) }
|
|
35
35
|
attr_reader :tracking
|
|
36
36
|
|
|
37
|
+
sig { returns(ArkEmail::Resources::Logs) }
|
|
38
|
+
attr_reader :logs
|
|
39
|
+
|
|
37
40
|
# @api private
|
|
38
41
|
sig { override.returns(T::Hash[String, String]) }
|
|
39
42
|
private def auth_headers
|
|
@@ -13,10 +13,13 @@ module ArkEmail
|
|
|
13
13
|
|
|
14
14
|
# Comma-separated list of fields to include:
|
|
15
15
|
#
|
|
16
|
+
# - `full` - Include all expanded fields in a single request
|
|
16
17
|
# - `content` - HTML and plain text body
|
|
17
18
|
# - `headers` - Email headers
|
|
18
19
|
# - `deliveries` - Delivery attempt history
|
|
19
|
-
# - `activity` - Opens and clicks
|
|
20
|
+
# - `activity` - Opens and clicks tracking data
|
|
21
|
+
# - `attachments` - File attachments with content (base64 encoded)
|
|
22
|
+
# - `raw` - Complete raw MIME message (base64 encoded)
|
|
20
23
|
sig { returns(T.nilable(String)) }
|
|
21
24
|
attr_reader :expand
|
|
22
25
|
|
|
@@ -32,10 +35,13 @@ module ArkEmail
|
|
|
32
35
|
def self.new(
|
|
33
36
|
# Comma-separated list of fields to include:
|
|
34
37
|
#
|
|
38
|
+
# - `full` - Include all expanded fields in a single request
|
|
35
39
|
# - `content` - HTML and plain text body
|
|
36
40
|
# - `headers` - Email headers
|
|
37
41
|
# - `deliveries` - Delivery attempt history
|
|
38
|
-
# - `activity` - Opens and clicks
|
|
42
|
+
# - `activity` - Opens and clicks tracking data
|
|
43
|
+
# - `attachments` - File attachments with content (base64 encoded)
|
|
44
|
+
# - `raw` - Complete raw MIME message (base64 encoded)
|
|
39
45
|
expand: nil,
|
|
40
46
|
request_options: {}
|
|
41
47
|
)
|