ark-email 0.5.2 → 0.7.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 +22 -0
- data/README.md +3 -3
- data/lib/ark_email/models/email_send_batch_params.rb +31 -7
- data/lib/ark_email/models/email_send_params.rb +46 -27
- data/lib/ark_email/models/email_send_raw_params.rb +9 -1
- data/lib/ark_email/models/suppression_bulk_create_params.rb +4 -2
- data/lib/ark_email/models/suppression_create_params.rb +3 -3
- data/lib/ark_email/models/tracking_create_params.rb +12 -12
- data/lib/ark_email/models/tracking_update_params.rb +12 -12
- data/lib/ark_email/models/webhook_create_params.rb +26 -23
- data/lib/ark_email/models/webhook_update_params.rb +10 -10
- data/lib/ark_email/resources/emails.rb +15 -11
- data/lib/ark_email/resources/suppressions.rb +1 -1
- data/lib/ark_email/resources/tracking.rb +8 -8
- data/lib/ark_email/resources/webhooks.rb +10 -10
- data/lib/ark_email/version.rb +1 -1
- data/rbi/ark_email/models/email_send_batch_params.rbi +42 -19
- data/rbi/ark_email/models/email_send_params.rbi +71 -71
- data/rbi/ark_email/models/email_send_raw_params.rbi +8 -0
- data/rbi/ark_email/models/suppression_bulk_create_params.rbi +11 -7
- data/rbi/ark_email/models/suppression_create_params.rbi +5 -8
- data/rbi/ark_email/models/tracking_create_params.rbi +18 -27
- data/rbi/ark_email/models/tracking_update_params.rbi +20 -32
- data/rbi/ark_email/models/webhook_create_params.rbi +40 -36
- data/rbi/ark_email/models/webhook_update_params.rbi +15 -30
- data/rbi/ark_email/resources/emails.rbi +35 -19
- data/rbi/ark_email/resources/suppressions.rbi +2 -2
- data/rbi/ark_email/resources/tracking.rbi +15 -15
- data/rbi/ark_email/resources/webhooks.rbi +19 -17
- data/sig/ark_email/models/email_send_batch_params.rbs +16 -17
- data/sig/ark_email/models/email_send_params.rbs +36 -49
- data/sig/ark_email/models/email_send_raw_params.rbs +10 -1
- data/sig/ark_email/models/suppression_bulk_create_params.rbs +4 -6
- data/sig/ark_email/models/suppression_create_params.rbs +4 -6
- data/sig/ark_email/models/tracking_create_params.rbs +16 -22
- data/sig/ark_email/models/tracking_update_params.rbs +16 -24
- data/sig/ark_email/models/webhook_create_params.rbs +12 -16
- data/sig/ark_email/models/webhook_update_params.rbs +20 -30
- data/sig/ark_email/resources/emails.rbs +10 -8
- data/sig/ark_email/resources/suppressions.rbs +1 -1
- data/sig/ark_email/resources/tracking.rbs +8 -8
- data/sig/ark_email/resources/webhooks.rbs +8 -8
- metadata +2 -2
|
@@ -11,19 +11,6 @@ module ArkEmail
|
|
|
11
11
|
T.any(ArkEmail::WebhookCreateParams, ArkEmail::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
# Events to subscribe to:
|
|
15
|
-
#
|
|
16
|
-
# - `MessageSent` - Email successfully delivered to recipient's server
|
|
17
|
-
# - `MessageDelayed` - Temporary delivery failure, will retry
|
|
18
|
-
# - `MessageDeliveryFailed` - Permanent delivery failure
|
|
19
|
-
# - `MessageHeld` - Email held for manual review
|
|
20
|
-
# - `MessageBounced` - Email bounced back
|
|
21
|
-
# - `MessageLinkClicked` - Recipient clicked a tracked link
|
|
22
|
-
# - `MessageLoaded` - Recipient opened the email (tracking pixel loaded)
|
|
23
|
-
# - `DomainDNSError` - DNS configuration issue detected
|
|
24
|
-
sig { returns(T::Array[ArkEmail::WebhookCreateParams::Event::OrSymbol]) }
|
|
25
|
-
attr_accessor :events
|
|
26
|
-
|
|
27
14
|
# Webhook name for identification
|
|
28
15
|
sig { returns(String) }
|
|
29
16
|
attr_accessor :name
|
|
@@ -32,31 +19,52 @@ module ArkEmail
|
|
|
32
19
|
sig { returns(String) }
|
|
33
20
|
attr_accessor :url
|
|
34
21
|
|
|
35
|
-
# Subscribe to all events (ignores events array)
|
|
22
|
+
# Subscribe to all events (ignores events array, accepts null)
|
|
36
23
|
sig { returns(T.nilable(T::Boolean)) }
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
sig { params(all_events: T::Boolean).void }
|
|
40
|
-
attr_writer :all_events
|
|
24
|
+
attr_accessor :all_events
|
|
41
25
|
|
|
26
|
+
# Whether the webhook is enabled (accepts null)
|
|
42
27
|
sig { returns(T.nilable(T::Boolean)) }
|
|
43
|
-
|
|
28
|
+
attr_accessor :enabled
|
|
44
29
|
|
|
45
|
-
|
|
46
|
-
|
|
30
|
+
# Events to subscribe to (accepts null):
|
|
31
|
+
#
|
|
32
|
+
# - `MessageSent` - Email successfully delivered to recipient's server
|
|
33
|
+
# - `MessageDelayed` - Temporary delivery failure, will retry
|
|
34
|
+
# - `MessageDeliveryFailed` - Permanent delivery failure
|
|
35
|
+
# - `MessageHeld` - Email held for manual review
|
|
36
|
+
# - `MessageBounced` - Email bounced back
|
|
37
|
+
# - `MessageLinkClicked` - Recipient clicked a tracked link
|
|
38
|
+
# - `MessageLoaded` - Recipient opened the email (tracking pixel loaded)
|
|
39
|
+
# - `DomainDNSError` - DNS configuration issue detected
|
|
40
|
+
sig do
|
|
41
|
+
returns(
|
|
42
|
+
T.nilable(T::Array[ArkEmail::WebhookCreateParams::Event::OrSymbol])
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
attr_accessor :events
|
|
47
46
|
|
|
48
47
|
sig do
|
|
49
48
|
params(
|
|
50
|
-
events: T::Array[ArkEmail::WebhookCreateParams::Event::OrSymbol],
|
|
51
49
|
name: String,
|
|
52
50
|
url: String,
|
|
53
|
-
all_events: T::Boolean,
|
|
54
|
-
enabled: T::Boolean,
|
|
51
|
+
all_events: T.nilable(T::Boolean),
|
|
52
|
+
enabled: T.nilable(T::Boolean),
|
|
53
|
+
events:
|
|
54
|
+
T.nilable(T::Array[ArkEmail::WebhookCreateParams::Event::OrSymbol]),
|
|
55
55
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
56
56
|
).returns(T.attached_class)
|
|
57
57
|
end
|
|
58
58
|
def self.new(
|
|
59
|
-
#
|
|
59
|
+
# Webhook name for identification
|
|
60
|
+
name:,
|
|
61
|
+
# HTTPS endpoint URL
|
|
62
|
+
url:,
|
|
63
|
+
# Subscribe to all events (ignores events array, accepts null)
|
|
64
|
+
all_events: nil,
|
|
65
|
+
# Whether the webhook is enabled (accepts null)
|
|
66
|
+
enabled: nil,
|
|
67
|
+
# Events to subscribe to (accepts null):
|
|
60
68
|
#
|
|
61
69
|
# - `MessageSent` - Email successfully delivered to recipient's server
|
|
62
70
|
# - `MessageDelayed` - Temporary delivery failure, will retry
|
|
@@ -66,14 +74,7 @@ module ArkEmail
|
|
|
66
74
|
# - `MessageLinkClicked` - Recipient clicked a tracked link
|
|
67
75
|
# - `MessageLoaded` - Recipient opened the email (tracking pixel loaded)
|
|
68
76
|
# - `DomainDNSError` - DNS configuration issue detected
|
|
69
|
-
events
|
|
70
|
-
# Webhook name for identification
|
|
71
|
-
name:,
|
|
72
|
-
# HTTPS endpoint URL
|
|
73
|
-
url:,
|
|
74
|
-
# Subscribe to all events (ignores events array)
|
|
75
|
-
all_events: nil,
|
|
76
|
-
enabled: nil,
|
|
77
|
+
events: nil,
|
|
77
78
|
request_options: {}
|
|
78
79
|
)
|
|
79
80
|
end
|
|
@@ -81,11 +82,14 @@ module ArkEmail
|
|
|
81
82
|
sig do
|
|
82
83
|
override.returns(
|
|
83
84
|
{
|
|
84
|
-
events: T::Array[ArkEmail::WebhookCreateParams::Event::OrSymbol],
|
|
85
85
|
name: String,
|
|
86
86
|
url: String,
|
|
87
|
-
all_events: T::Boolean,
|
|
88
|
-
enabled: T::Boolean,
|
|
87
|
+
all_events: T.nilable(T::Boolean),
|
|
88
|
+
enabled: T.nilable(T::Boolean),
|
|
89
|
+
events:
|
|
90
|
+
T.nilable(
|
|
91
|
+
T::Array[ArkEmail::WebhookCreateParams::Event::OrSymbol]
|
|
92
|
+
),
|
|
89
93
|
request_options: ArkEmail::RequestOptions
|
|
90
94
|
}
|
|
91
95
|
)
|
|
@@ -12,42 +12,27 @@ module ArkEmail
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
sig { returns(T.nilable(T::Boolean)) }
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
sig { params(all_events: T::Boolean).void }
|
|
18
|
-
attr_writer :all_events
|
|
15
|
+
attr_accessor :all_events
|
|
19
16
|
|
|
20
17
|
sig { returns(T.nilable(T::Boolean)) }
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
sig { params(enabled: T::Boolean).void }
|
|
24
|
-
attr_writer :enabled
|
|
18
|
+
attr_accessor :enabled
|
|
25
19
|
|
|
26
20
|
sig { returns(T.nilable(T::Array[String])) }
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
sig { params(events: T::Array[String]).void }
|
|
30
|
-
attr_writer :events
|
|
21
|
+
attr_accessor :events
|
|
31
22
|
|
|
32
23
|
sig { returns(T.nilable(String)) }
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
sig { params(name: String).void }
|
|
36
|
-
attr_writer :name
|
|
24
|
+
attr_accessor :name
|
|
37
25
|
|
|
38
26
|
sig { returns(T.nilable(String)) }
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
sig { params(url: String).void }
|
|
42
|
-
attr_writer :url
|
|
27
|
+
attr_accessor :url
|
|
43
28
|
|
|
44
29
|
sig do
|
|
45
30
|
params(
|
|
46
|
-
all_events: T::Boolean,
|
|
47
|
-
enabled: T::Boolean,
|
|
48
|
-
events: T::Array[String],
|
|
49
|
-
name: String,
|
|
50
|
-
url: String,
|
|
31
|
+
all_events: T.nilable(T::Boolean),
|
|
32
|
+
enabled: T.nilable(T::Boolean),
|
|
33
|
+
events: T.nilable(T::Array[String]),
|
|
34
|
+
name: T.nilable(String),
|
|
35
|
+
url: T.nilable(String),
|
|
51
36
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
52
37
|
).returns(T.attached_class)
|
|
53
38
|
end
|
|
@@ -64,11 +49,11 @@ module ArkEmail
|
|
|
64
49
|
sig do
|
|
65
50
|
override.returns(
|
|
66
51
|
{
|
|
67
|
-
all_events: T::Boolean,
|
|
68
|
-
enabled: T::Boolean,
|
|
69
|
-
events: T::Array[String],
|
|
70
|
-
name: String,
|
|
71
|
-
url: String,
|
|
52
|
+
all_events: T.nilable(T::Boolean),
|
|
53
|
+
enabled: T.nilable(T::Boolean),
|
|
54
|
+
events: T.nilable(T::Array[String]),
|
|
55
|
+
name: T.nilable(String),
|
|
56
|
+
url: T.nilable(String),
|
|
72
57
|
request_options: ArkEmail::RequestOptions
|
|
73
58
|
}
|
|
74
59
|
)
|
|
@@ -126,14 +126,16 @@ module ArkEmail
|
|
|
126
126
|
from: String,
|
|
127
127
|
subject: String,
|
|
128
128
|
to: T::Array[String],
|
|
129
|
-
attachments:
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
129
|
+
attachments:
|
|
130
|
+
T.nilable(T::Array[ArkEmail::EmailSendParams::Attachment::OrHash]),
|
|
131
|
+
bcc: T.nilable(T::Array[String]),
|
|
132
|
+
cc: T.nilable(T::Array[String]),
|
|
133
|
+
headers: T.nilable(T::Hash[Symbol, String]),
|
|
134
|
+
html: T.nilable(String),
|
|
135
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
136
|
+
reply_to: T.nilable(String),
|
|
137
|
+
tag: T.nilable(String),
|
|
138
|
+
text: T.nilable(String),
|
|
137
139
|
idempotency_key: String,
|
|
138
140
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
139
141
|
).returns(ArkEmail::Models::EmailSendResponse)
|
|
@@ -153,23 +155,34 @@ module ArkEmail
|
|
|
153
155
|
subject:,
|
|
154
156
|
# Body param: Recipient email addresses (max 50)
|
|
155
157
|
to:,
|
|
156
|
-
# Body param: File attachments
|
|
158
|
+
# Body param: File attachments (accepts null)
|
|
157
159
|
attachments: nil,
|
|
158
|
-
# Body param: BCC recipients
|
|
160
|
+
# Body param: BCC recipients (accepts null)
|
|
159
161
|
bcc: nil,
|
|
160
|
-
# Body param: CC recipients
|
|
162
|
+
# Body param: CC recipients (accepts null)
|
|
161
163
|
cc: nil,
|
|
162
|
-
# Body param: Custom email headers
|
|
164
|
+
# Body param: Custom email headers (accepts null)
|
|
163
165
|
headers: nil,
|
|
164
|
-
# Body param: HTML body content. Maximum 5MB (5,242,880
|
|
165
|
-
# attachments, the total message must not exceed 14MB.
|
|
166
|
+
# Body param: HTML body content (accepts null). Maximum 5MB (5,242,880
|
|
167
|
+
# characters). Combined with attachments, the total message must not exceed 14MB.
|
|
166
168
|
html: nil,
|
|
167
|
-
# Body param:
|
|
169
|
+
# Body param: Custom key-value pairs attached to an email for webhook correlation.
|
|
170
|
+
#
|
|
171
|
+
# When you send an email with metadata, these key-value pairs are:
|
|
172
|
+
#
|
|
173
|
+
# - **Stored** with the message
|
|
174
|
+
# - **Returned** in all webhook event payloads (MessageSent, MessageBounced, etc.)
|
|
175
|
+
# - **Never visible** to email recipients
|
|
176
|
+
#
|
|
177
|
+
# This is useful for correlating webhook events with your internal systems (e.g.,
|
|
178
|
+
# user IDs, order IDs, campaign identifiers).
|
|
179
|
+
metadata: nil,
|
|
180
|
+
# Body param: Reply-to address (accepts null)
|
|
168
181
|
reply_to: nil,
|
|
169
|
-
# Body param: Tag for categorization and filtering
|
|
182
|
+
# Body param: Tag for categorization and filtering (accepts null)
|
|
170
183
|
tag: nil,
|
|
171
|
-
# Body param: Plain text body (auto-generated from HTML if not
|
|
172
|
-
# 5MB (5,242,880 characters).
|
|
184
|
+
# Body param: Plain text body (accepts null, auto-generated from HTML if not
|
|
185
|
+
# provided). Maximum 5MB (5,242,880 characters).
|
|
173
186
|
text: nil,
|
|
174
187
|
# Header param: Unique key for idempotent requests. If a request with this key was
|
|
175
188
|
# already processed, the cached response is returned. Keys expire after 24 hours.
|
|
@@ -194,7 +207,7 @@ module ArkEmail
|
|
|
194
207
|
).returns(ArkEmail::Models::EmailSendBatchResponse)
|
|
195
208
|
end
|
|
196
209
|
def send_batch(
|
|
197
|
-
# Body param
|
|
210
|
+
# Body param
|
|
198
211
|
emails:,
|
|
199
212
|
# Body param: Sender email for all messages
|
|
200
213
|
from:,
|
|
@@ -214,6 +227,7 @@ module ArkEmail
|
|
|
214
227
|
data: String,
|
|
215
228
|
mail_from: String,
|
|
216
229
|
rcpt_to: T::Array[String],
|
|
230
|
+
bounce: T.nilable(T::Boolean),
|
|
217
231
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
218
232
|
).returns(ArkEmail::Models::EmailSendRawResponse)
|
|
219
233
|
end
|
|
@@ -224,6 +238,8 @@ module ArkEmail
|
|
|
224
238
|
mail_from:,
|
|
225
239
|
# Envelope recipient addresses
|
|
226
240
|
rcpt_to:,
|
|
241
|
+
# Whether this is a bounce message (accepts null)
|
|
242
|
+
bounce: nil,
|
|
227
243
|
request_options: {}
|
|
228
244
|
)
|
|
229
245
|
end
|
|
@@ -8,14 +8,14 @@ module ArkEmail
|
|
|
8
8
|
sig do
|
|
9
9
|
params(
|
|
10
10
|
address: String,
|
|
11
|
-
reason: String,
|
|
11
|
+
reason: T.nilable(String),
|
|
12
12
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
13
13
|
).returns(ArkEmail::Models::SuppressionCreateResponse)
|
|
14
14
|
end
|
|
15
15
|
def create(
|
|
16
16
|
# Email address to suppress
|
|
17
17
|
address:,
|
|
18
|
-
# Reason for suppression
|
|
18
|
+
# Reason for suppression (accepts null)
|
|
19
19
|
reason: nil,
|
|
20
20
|
request_options: {}
|
|
21
21
|
)
|
|
@@ -9,11 +9,11 @@ module ArkEmail
|
|
|
9
9
|
# value before tracking will work.
|
|
10
10
|
sig do
|
|
11
11
|
params(
|
|
12
|
-
domain_id:
|
|
12
|
+
domain_id: Integer,
|
|
13
13
|
name: String,
|
|
14
|
-
ssl_enabled: T::Boolean,
|
|
15
|
-
track_clicks: T::Boolean,
|
|
16
|
-
track_opens: T::Boolean,
|
|
14
|
+
ssl_enabled: T.nilable(T::Boolean),
|
|
15
|
+
track_clicks: T.nilable(T::Boolean),
|
|
16
|
+
track_opens: T.nilable(T::Boolean),
|
|
17
17
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
18
18
|
).returns(ArkEmail::Models::TrackingCreateResponse)
|
|
19
19
|
end
|
|
@@ -22,11 +22,11 @@ module ArkEmail
|
|
|
22
22
|
domain_id:,
|
|
23
23
|
# Subdomain name (e.g., 'track' for track.yourdomain.com)
|
|
24
24
|
name:,
|
|
25
|
-
# Enable SSL for tracking URLs (
|
|
25
|
+
# Enable SSL for tracking URLs (accepts null, defaults to true)
|
|
26
26
|
ssl_enabled: nil,
|
|
27
|
-
# Enable click tracking
|
|
27
|
+
# Enable click tracking (accepts null, defaults to true)
|
|
28
28
|
track_clicks: nil,
|
|
29
|
-
# Enable open tracking (tracking pixel)
|
|
29
|
+
# Enable open tracking (tracking pixel, accepts null, defaults to true)
|
|
30
30
|
track_opens: nil,
|
|
31
31
|
request_options: {}
|
|
32
32
|
)
|
|
@@ -57,23 +57,23 @@ module ArkEmail
|
|
|
57
57
|
sig do
|
|
58
58
|
params(
|
|
59
59
|
tracking_id: String,
|
|
60
|
-
excluded_click_domains: String,
|
|
61
|
-
ssl_enabled: T::Boolean,
|
|
62
|
-
track_clicks: T::Boolean,
|
|
63
|
-
track_opens: T::Boolean,
|
|
60
|
+
excluded_click_domains: T.nilable(String),
|
|
61
|
+
ssl_enabled: T.nilable(T::Boolean),
|
|
62
|
+
track_clicks: T.nilable(T::Boolean),
|
|
63
|
+
track_opens: T.nilable(T::Boolean),
|
|
64
64
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
65
65
|
).returns(ArkEmail::Models::TrackingUpdateResponse)
|
|
66
66
|
end
|
|
67
67
|
def update(
|
|
68
68
|
# Track domain ID or UUID
|
|
69
69
|
tracking_id,
|
|
70
|
-
# Comma-separated list of domains to exclude from click tracking
|
|
70
|
+
# Comma-separated list of domains to exclude from click tracking (accepts null)
|
|
71
71
|
excluded_click_domains: nil,
|
|
72
|
-
# Enable or disable SSL for tracking URLs
|
|
72
|
+
# Enable or disable SSL for tracking URLs (accepts null)
|
|
73
73
|
ssl_enabled: nil,
|
|
74
|
-
# Enable or disable click tracking
|
|
74
|
+
# Enable or disable click tracking (accepts null)
|
|
75
75
|
track_clicks: nil,
|
|
76
|
-
# Enable or disable open tracking
|
|
76
|
+
# Enable or disable open tracking (accepts null)
|
|
77
77
|
track_opens: nil,
|
|
78
78
|
request_options: {}
|
|
79
79
|
)
|
|
@@ -17,16 +17,25 @@ module ArkEmail
|
|
|
17
17
|
# - `DomainDNSError` - Domain DNS issue detected
|
|
18
18
|
sig do
|
|
19
19
|
params(
|
|
20
|
-
events: T::Array[ArkEmail::WebhookCreateParams::Event::OrSymbol],
|
|
21
20
|
name: String,
|
|
22
21
|
url: String,
|
|
23
|
-
all_events: T::Boolean,
|
|
24
|
-
enabled: T::Boolean,
|
|
22
|
+
all_events: T.nilable(T::Boolean),
|
|
23
|
+
enabled: T.nilable(T::Boolean),
|
|
24
|
+
events:
|
|
25
|
+
T.nilable(T::Array[ArkEmail::WebhookCreateParams::Event::OrSymbol]),
|
|
25
26
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
26
27
|
).returns(ArkEmail::Models::WebhookCreateResponse)
|
|
27
28
|
end
|
|
28
29
|
def create(
|
|
29
|
-
#
|
|
30
|
+
# Webhook name for identification
|
|
31
|
+
name:,
|
|
32
|
+
# HTTPS endpoint URL
|
|
33
|
+
url:,
|
|
34
|
+
# Subscribe to all events (ignores events array, accepts null)
|
|
35
|
+
all_events: nil,
|
|
36
|
+
# Whether the webhook is enabled (accepts null)
|
|
37
|
+
enabled: nil,
|
|
38
|
+
# Events to subscribe to (accepts null):
|
|
30
39
|
#
|
|
31
40
|
# - `MessageSent` - Email successfully delivered to recipient's server
|
|
32
41
|
# - `MessageDelayed` - Temporary delivery failure, will retry
|
|
@@ -36,14 +45,7 @@ module ArkEmail
|
|
|
36
45
|
# - `MessageLinkClicked` - Recipient clicked a tracked link
|
|
37
46
|
# - `MessageLoaded` - Recipient opened the email (tracking pixel loaded)
|
|
38
47
|
# - `DomainDNSError` - DNS configuration issue detected
|
|
39
|
-
events
|
|
40
|
-
# Webhook name for identification
|
|
41
|
-
name:,
|
|
42
|
-
# HTTPS endpoint URL
|
|
43
|
-
url:,
|
|
44
|
-
# Subscribe to all events (ignores events array)
|
|
45
|
-
all_events: nil,
|
|
46
|
-
enabled: nil,
|
|
48
|
+
events: nil,
|
|
47
49
|
request_options: {}
|
|
48
50
|
)
|
|
49
51
|
end
|
|
@@ -62,11 +64,11 @@ module ArkEmail
|
|
|
62
64
|
sig do
|
|
63
65
|
params(
|
|
64
66
|
webhook_id: String,
|
|
65
|
-
all_events: T::Boolean,
|
|
66
|
-
enabled: T::Boolean,
|
|
67
|
-
events: T::Array[String],
|
|
68
|
-
name: String,
|
|
69
|
-
url: String,
|
|
67
|
+
all_events: T.nilable(T::Boolean),
|
|
68
|
+
enabled: T.nilable(T::Boolean),
|
|
69
|
+
events: T.nilable(T::Array[String]),
|
|
70
|
+
name: T.nilable(String),
|
|
71
|
+
url: T.nilable(String),
|
|
70
72
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
71
73
|
).returns(ArkEmail::Models::WebhookUpdateResponse)
|
|
72
74
|
end
|
|
@@ -38,9 +38,10 @@ module ArkEmail
|
|
|
38
38
|
{
|
|
39
39
|
subject: String,
|
|
40
40
|
to: ::Array[String],
|
|
41
|
-
html: String
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
html: String?,
|
|
42
|
+
metadata: ::Hash[Symbol, String]?,
|
|
43
|
+
tag: String?,
|
|
44
|
+
text: String?
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
class Email < ArkEmail::Internal::Type::BaseModel
|
|
@@ -48,32 +49,30 @@ module ArkEmail
|
|
|
48
49
|
|
|
49
50
|
attr_accessor to: ::Array[String]
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
attr_accessor html: String?
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
attr_accessor metadata: ::Hash[Symbol, String]?
|
|
54
55
|
|
|
55
|
-
|
|
56
|
+
attr_accessor tag: String?
|
|
56
57
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
attr_reader text: String?
|
|
60
|
-
|
|
61
|
-
def text=: (String) -> String
|
|
58
|
+
attr_accessor text: String?
|
|
62
59
|
|
|
63
60
|
def initialize: (
|
|
64
61
|
subject: String,
|
|
65
62
|
to: ::Array[String],
|
|
66
|
-
?html: String
|
|
67
|
-
?
|
|
68
|
-
?
|
|
63
|
+
?html: String?,
|
|
64
|
+
?metadata: ::Hash[Symbol, String]?,
|
|
65
|
+
?tag: String?,
|
|
66
|
+
?text: String?
|
|
69
67
|
) -> void
|
|
70
68
|
|
|
71
69
|
def to_hash: -> {
|
|
72
70
|
subject: String,
|
|
73
71
|
to: ::Array[String],
|
|
74
|
-
html: String
|
|
75
|
-
|
|
76
|
-
|
|
72
|
+
html: String?,
|
|
73
|
+
metadata: ::Hash[Symbol, String]?,
|
|
74
|
+
tag: String?,
|
|
75
|
+
text: String?
|
|
77
76
|
}
|
|
78
77
|
end
|
|
79
78
|
end
|
|
@@ -5,14 +5,15 @@ module ArkEmail
|
|
|
5
5
|
from: String,
|
|
6
6
|
subject: String,
|
|
7
7
|
to: ::Array[String],
|
|
8
|
-
attachments: ::Array[ArkEmail::EmailSendParams::Attachment]
|
|
9
|
-
bcc: ::Array[String]
|
|
10
|
-
cc: ::Array[String]
|
|
11
|
-
headers: ::Hash[Symbol, String]
|
|
12
|
-
html: String
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
attachments: ::Array[ArkEmail::EmailSendParams::Attachment]?,
|
|
9
|
+
bcc: ::Array[String]?,
|
|
10
|
+
cc: ::Array[String]?,
|
|
11
|
+
headers: ::Hash[Symbol, String]?,
|
|
12
|
+
html: String?,
|
|
13
|
+
metadata: ::Hash[Symbol, String]?,
|
|
14
|
+
reply_to: String?,
|
|
15
|
+
tag: String?,
|
|
16
|
+
text: String?,
|
|
16
17
|
idempotency_key: String
|
|
17
18
|
}
|
|
18
19
|
& ArkEmail::Internal::Type::request_parameters
|
|
@@ -27,39 +28,23 @@ module ArkEmail
|
|
|
27
28
|
|
|
28
29
|
attr_accessor to: ::Array[String]
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
attr_accessor attachments: ::Array[ArkEmail::EmailSendParams::Attachment]?
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
::Array[ArkEmail::EmailSendParams::Attachment]
|
|
34
|
-
) -> ::Array[ArkEmail::EmailSendParams::Attachment]
|
|
33
|
+
attr_accessor bcc: ::Array[String]?
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
attr_accessor cc: ::Array[String]?
|
|
37
36
|
|
|
38
|
-
|
|
37
|
+
attr_accessor headers: ::Hash[Symbol, String]?
|
|
39
38
|
|
|
40
|
-
|
|
39
|
+
attr_accessor html: String?
|
|
41
40
|
|
|
42
|
-
|
|
41
|
+
attr_accessor metadata: ::Hash[Symbol, String]?
|
|
43
42
|
|
|
44
|
-
|
|
43
|
+
attr_accessor reply_to: String?
|
|
45
44
|
|
|
46
|
-
|
|
45
|
+
attr_accessor tag: String?
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
def html=: (String) -> String
|
|
51
|
-
|
|
52
|
-
attr_reader reply_to: String?
|
|
53
|
-
|
|
54
|
-
def reply_to=: (String) -> String
|
|
55
|
-
|
|
56
|
-
attr_reader tag: String?
|
|
57
|
-
|
|
58
|
-
def tag=: (String) -> String
|
|
59
|
-
|
|
60
|
-
attr_reader text: String?
|
|
61
|
-
|
|
62
|
-
def text=: (String) -> String
|
|
47
|
+
attr_accessor text: String?
|
|
63
48
|
|
|
64
49
|
attr_reader idempotency_key: String?
|
|
65
50
|
|
|
@@ -69,14 +54,15 @@ module ArkEmail
|
|
|
69
54
|
from: String,
|
|
70
55
|
subject: String,
|
|
71
56
|
to: ::Array[String],
|
|
72
|
-
?attachments: ::Array[ArkEmail::EmailSendParams::Attachment]
|
|
73
|
-
?bcc: ::Array[String]
|
|
74
|
-
?cc: ::Array[String]
|
|
75
|
-
?headers: ::Hash[Symbol, String]
|
|
76
|
-
?html: String
|
|
77
|
-
?
|
|
78
|
-
?
|
|
79
|
-
?
|
|
57
|
+
?attachments: ::Array[ArkEmail::EmailSendParams::Attachment]?,
|
|
58
|
+
?bcc: ::Array[String]?,
|
|
59
|
+
?cc: ::Array[String]?,
|
|
60
|
+
?headers: ::Hash[Symbol, String]?,
|
|
61
|
+
?html: String?,
|
|
62
|
+
?metadata: ::Hash[Symbol, String]?,
|
|
63
|
+
?reply_to: String?,
|
|
64
|
+
?tag: String?,
|
|
65
|
+
?text: String?,
|
|
80
66
|
?idempotency_key: String,
|
|
81
67
|
?request_options: ArkEmail::request_opts
|
|
82
68
|
) -> void
|
|
@@ -85,14 +71,15 @@ module ArkEmail
|
|
|
85
71
|
from: String,
|
|
86
72
|
subject: String,
|
|
87
73
|
to: ::Array[String],
|
|
88
|
-
attachments: ::Array[ArkEmail::EmailSendParams::Attachment]
|
|
89
|
-
bcc: ::Array[String]
|
|
90
|
-
cc: ::Array[String]
|
|
91
|
-
headers: ::Hash[Symbol, String]
|
|
92
|
-
html: String
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
74
|
+
attachments: ::Array[ArkEmail::EmailSendParams::Attachment]?,
|
|
75
|
+
bcc: ::Array[String]?,
|
|
76
|
+
cc: ::Array[String]?,
|
|
77
|
+
headers: ::Hash[Symbol, String]?,
|
|
78
|
+
html: String?,
|
|
79
|
+
metadata: ::Hash[Symbol, String]?,
|
|
80
|
+
reply_to: String?,
|
|
81
|
+
tag: String?,
|
|
82
|
+
text: String?,
|
|
96
83
|
idempotency_key: String,
|
|
97
84
|
request_options: ArkEmail::RequestOptions
|
|
98
85
|
}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
module ArkEmail
|
|
2
2
|
module Models
|
|
3
3
|
type email_send_raw_params =
|
|
4
|
-
{
|
|
4
|
+
{
|
|
5
|
+
data: String,
|
|
6
|
+
mail_from: String,
|
|
7
|
+
rcpt_to: ::Array[String],
|
|
8
|
+
bounce: bool?
|
|
9
|
+
}
|
|
5
10
|
& ArkEmail::Internal::Type::request_parameters
|
|
6
11
|
|
|
7
12
|
class EmailSendRawParams < ArkEmail::Internal::Type::BaseModel
|
|
@@ -14,10 +19,13 @@ module ArkEmail
|
|
|
14
19
|
|
|
15
20
|
attr_accessor rcpt_to: ::Array[String]
|
|
16
21
|
|
|
22
|
+
attr_accessor bounce: bool?
|
|
23
|
+
|
|
17
24
|
def initialize: (
|
|
18
25
|
data: String,
|
|
19
26
|
mail_from: String,
|
|
20
27
|
rcpt_to: ::Array[String],
|
|
28
|
+
?bounce: bool?,
|
|
21
29
|
?request_options: ArkEmail::request_opts
|
|
22
30
|
) -> void
|
|
23
31
|
|
|
@@ -25,6 +33,7 @@ module ArkEmail
|
|
|
25
33
|
data: String,
|
|
26
34
|
mail_from: String,
|
|
27
35
|
rcpt_to: ::Array[String],
|
|
36
|
+
bounce: bool?,
|
|
28
37
|
request_options: ArkEmail::RequestOptions
|
|
29
38
|
}
|
|
30
39
|
end
|
|
@@ -22,18 +22,16 @@ module ArkEmail
|
|
|
22
22
|
request_options: ArkEmail::RequestOptions
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
type suppression = { address: String, reason: String }
|
|
25
|
+
type suppression = { address: String, reason: String? }
|
|
26
26
|
|
|
27
27
|
class Suppression < ArkEmail::Internal::Type::BaseModel
|
|
28
28
|
attr_accessor address: String
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
attr_accessor reason: String?
|
|
31
31
|
|
|
32
|
-
def
|
|
32
|
+
def initialize: (address: String, ?reason: String?) -> void
|
|
33
33
|
|
|
34
|
-
def
|
|
35
|
-
|
|
36
|
-
def to_hash: -> { address: String, reason: String }
|
|
34
|
+
def to_hash: -> { address: String, reason: String? }
|
|
37
35
|
end
|
|
38
36
|
end
|
|
39
37
|
end
|