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
|
@@ -10,15 +10,15 @@ module ArkEmail
|
|
|
10
10
|
#
|
|
11
11
|
# @overload create(domain_id:, name:, ssl_enabled: nil, track_clicks: nil, track_opens: nil, request_options: {})
|
|
12
12
|
#
|
|
13
|
-
# @param domain_id [
|
|
13
|
+
# @param domain_id [Integer] ID of the sending domain to attach this track domain to
|
|
14
14
|
#
|
|
15
15
|
# @param name [String] Subdomain name (e.g., 'track' for track.yourdomain.com)
|
|
16
16
|
#
|
|
17
|
-
# @param ssl_enabled [Boolean] Enable SSL for tracking URLs (
|
|
17
|
+
# @param ssl_enabled [Boolean, nil] Enable SSL for tracking URLs (accepts null, defaults to true)
|
|
18
18
|
#
|
|
19
|
-
# @param track_clicks [Boolean] Enable click tracking
|
|
19
|
+
# @param track_clicks [Boolean, nil] Enable click tracking (accepts null, defaults to true)
|
|
20
20
|
#
|
|
21
|
-
# @param track_opens [Boolean] Enable open tracking (tracking pixel)
|
|
21
|
+
# @param track_opens [Boolean, nil] Enable open tracking (tracking pixel, accepts null, defaults to true)
|
|
22
22
|
#
|
|
23
23
|
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
24
24
|
#
|
|
@@ -69,13 +69,13 @@ module ArkEmail
|
|
|
69
69
|
#
|
|
70
70
|
# @param tracking_id [String] Track domain ID or UUID
|
|
71
71
|
#
|
|
72
|
-
# @param excluded_click_domains [String] Comma-separated list of domains to exclude from click tracking
|
|
72
|
+
# @param excluded_click_domains [String, nil] Comma-separated list of domains to exclude from click tracking (accepts null)
|
|
73
73
|
#
|
|
74
|
-
# @param ssl_enabled [Boolean] Enable or disable SSL for tracking URLs
|
|
74
|
+
# @param ssl_enabled [Boolean, nil] Enable or disable SSL for tracking URLs (accepts null)
|
|
75
75
|
#
|
|
76
|
-
# @param track_clicks [Boolean] Enable or disable click tracking
|
|
76
|
+
# @param track_clicks [Boolean, nil] Enable or disable click tracking (accepts null)
|
|
77
77
|
#
|
|
78
|
-
# @param track_opens [Boolean] Enable or disable open tracking
|
|
78
|
+
# @param track_opens [Boolean, nil] Enable or disable open tracking (accepts null)
|
|
79
79
|
#
|
|
80
80
|
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
81
81
|
#
|
|
@@ -19,17 +19,17 @@ module ArkEmail
|
|
|
19
19
|
# - `MessageLoaded` - Recipient opened the email
|
|
20
20
|
# - `DomainDNSError` - Domain DNS issue detected
|
|
21
21
|
#
|
|
22
|
-
# @overload create(
|
|
23
|
-
#
|
|
24
|
-
# @param events [Array<Symbol, ArkEmail::Models::WebhookCreateParams::Event>] Events to subscribe to:
|
|
22
|
+
# @overload create(name:, url:, all_events: nil, enabled: nil, events: nil, request_options: {})
|
|
25
23
|
#
|
|
26
24
|
# @param name [String] Webhook name for identification
|
|
27
25
|
#
|
|
28
26
|
# @param url [String] HTTPS endpoint URL
|
|
29
27
|
#
|
|
30
|
-
# @param all_events [Boolean] Subscribe to all events (ignores events array)
|
|
28
|
+
# @param all_events [Boolean, nil] Subscribe to all events (ignores events array, accepts null)
|
|
29
|
+
#
|
|
30
|
+
# @param enabled [Boolean, nil] Whether the webhook is enabled (accepts null)
|
|
31
31
|
#
|
|
32
|
-
# @param
|
|
32
|
+
# @param events [Array<Symbol, ArkEmail::Models::WebhookCreateParams::Event>, nil] Events to subscribe to (accepts null):
|
|
33
33
|
#
|
|
34
34
|
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
35
35
|
#
|
|
@@ -71,11 +71,11 @@ module ArkEmail
|
|
|
71
71
|
# @overload update(webhook_id, all_events: nil, enabled: nil, events: nil, name: nil, url: nil, request_options: {})
|
|
72
72
|
#
|
|
73
73
|
# @param webhook_id [String]
|
|
74
|
-
# @param all_events [Boolean]
|
|
75
|
-
# @param enabled [Boolean]
|
|
76
|
-
# @param events [Array<String
|
|
77
|
-
# @param name [String]
|
|
78
|
-
# @param url [String]
|
|
74
|
+
# @param all_events [Boolean, nil]
|
|
75
|
+
# @param enabled [Boolean, nil]
|
|
76
|
+
# @param events [Array<String>, nil]
|
|
77
|
+
# @param name [String, nil]
|
|
78
|
+
# @param url [String, nil]
|
|
79
79
|
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
80
80
|
#
|
|
81
81
|
# @return [ArkEmail::Models::WebhookUpdateResponse]
|
data/lib/ark_email/version.rb
CHANGED
|
@@ -70,33 +70,55 @@ module ArkEmail
|
|
|
70
70
|
attr_accessor :to
|
|
71
71
|
|
|
72
72
|
sig { returns(T.nilable(String)) }
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
attr_accessor :html
|
|
74
|
+
|
|
75
|
+
# Custom key-value pairs attached to an email for webhook correlation.
|
|
76
|
+
#
|
|
77
|
+
# When you send an email with metadata, these key-value pairs are:
|
|
78
|
+
#
|
|
79
|
+
# - **Stored** with the message
|
|
80
|
+
# - **Returned** in all webhook event payloads (MessageSent, MessageBounced, etc.)
|
|
81
|
+
# - **Never visible** to email recipients
|
|
82
|
+
#
|
|
83
|
+
# This is useful for correlating webhook events with your internal systems (e.g.,
|
|
84
|
+
# user IDs, order IDs, campaign identifiers).
|
|
85
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
86
|
+
attr_accessor :metadata
|
|
77
87
|
|
|
78
88
|
sig { returns(T.nilable(String)) }
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
sig { params(tag: String).void }
|
|
82
|
-
attr_writer :tag
|
|
89
|
+
attr_accessor :tag
|
|
83
90
|
|
|
84
91
|
sig { returns(T.nilable(String)) }
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
sig { params(text: String).void }
|
|
88
|
-
attr_writer :text
|
|
92
|
+
attr_accessor :text
|
|
89
93
|
|
|
90
94
|
sig do
|
|
91
95
|
params(
|
|
92
96
|
subject: String,
|
|
93
97
|
to: T::Array[String],
|
|
94
|
-
html: String,
|
|
95
|
-
|
|
96
|
-
|
|
98
|
+
html: T.nilable(String),
|
|
99
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
100
|
+
tag: T.nilable(String),
|
|
101
|
+
text: T.nilable(String)
|
|
97
102
|
).returns(T.attached_class)
|
|
98
103
|
end
|
|
99
|
-
def self.new(
|
|
104
|
+
def self.new(
|
|
105
|
+
subject:,
|
|
106
|
+
to:,
|
|
107
|
+
html: nil,
|
|
108
|
+
# Custom key-value pairs attached to an email for webhook correlation.
|
|
109
|
+
#
|
|
110
|
+
# When you send an email with metadata, these key-value pairs are:
|
|
111
|
+
#
|
|
112
|
+
# - **Stored** with the message
|
|
113
|
+
# - **Returned** in all webhook event payloads (MessageSent, MessageBounced, etc.)
|
|
114
|
+
# - **Never visible** to email recipients
|
|
115
|
+
#
|
|
116
|
+
# This is useful for correlating webhook events with your internal systems (e.g.,
|
|
117
|
+
# user IDs, order IDs, campaign identifiers).
|
|
118
|
+
metadata: nil,
|
|
119
|
+
tag: nil,
|
|
120
|
+
text: nil
|
|
121
|
+
)
|
|
100
122
|
end
|
|
101
123
|
|
|
102
124
|
sig do
|
|
@@ -104,9 +126,10 @@ module ArkEmail
|
|
|
104
126
|
{
|
|
105
127
|
subject: String,
|
|
106
128
|
to: T::Array[String],
|
|
107
|
-
html: String,
|
|
108
|
-
|
|
109
|
-
|
|
129
|
+
html: T.nilable(String),
|
|
130
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
131
|
+
tag: T.nilable(String),
|
|
132
|
+
text: T.nilable(String)
|
|
110
133
|
}
|
|
111
134
|
)
|
|
112
135
|
end
|
|
@@ -31,69 +31,54 @@ module ArkEmail
|
|
|
31
31
|
sig { returns(T::Array[String]) }
|
|
32
32
|
attr_accessor :to
|
|
33
33
|
|
|
34
|
-
# File attachments
|
|
34
|
+
# File attachments (accepts null)
|
|
35
35
|
sig do
|
|
36
36
|
returns(T.nilable(T::Array[ArkEmail::EmailSendParams::Attachment]))
|
|
37
37
|
end
|
|
38
|
-
|
|
38
|
+
attr_accessor :attachments
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
params(
|
|
42
|
-
attachments: T::Array[ArkEmail::EmailSendParams::Attachment::OrHash]
|
|
43
|
-
).void
|
|
44
|
-
end
|
|
45
|
-
attr_writer :attachments
|
|
46
|
-
|
|
47
|
-
# BCC recipients
|
|
40
|
+
# BCC recipients (accepts null)
|
|
48
41
|
sig { returns(T.nilable(T::Array[String])) }
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
sig { params(bcc: T::Array[String]).void }
|
|
52
|
-
attr_writer :bcc
|
|
42
|
+
attr_accessor :bcc
|
|
53
43
|
|
|
54
|
-
# CC recipients
|
|
44
|
+
# CC recipients (accepts null)
|
|
55
45
|
sig { returns(T.nilable(T::Array[String])) }
|
|
56
|
-
|
|
46
|
+
attr_accessor :cc
|
|
57
47
|
|
|
58
|
-
|
|
59
|
-
attr_writer :cc
|
|
60
|
-
|
|
61
|
-
# Custom email headers
|
|
48
|
+
# Custom email headers (accepts null)
|
|
62
49
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
sig { params(headers: T::Hash[Symbol, String]).void }
|
|
66
|
-
attr_writer :headers
|
|
50
|
+
attr_accessor :headers
|
|
67
51
|
|
|
68
|
-
# HTML body content. Maximum 5MB (5,242,880 characters). Combined
|
|
69
|
-
# attachments, the total message must not exceed 14MB.
|
|
52
|
+
# HTML body content (accepts null). Maximum 5MB (5,242,880 characters). Combined
|
|
53
|
+
# with attachments, the total message must not exceed 14MB.
|
|
70
54
|
sig { returns(T.nilable(String)) }
|
|
71
|
-
|
|
55
|
+
attr_accessor :html
|
|
72
56
|
|
|
73
|
-
|
|
74
|
-
|
|
57
|
+
# Custom key-value pairs attached to an email for webhook correlation.
|
|
58
|
+
#
|
|
59
|
+
# When you send an email with metadata, these key-value pairs are:
|
|
60
|
+
#
|
|
61
|
+
# - **Stored** with the message
|
|
62
|
+
# - **Returned** in all webhook event payloads (MessageSent, MessageBounced, etc.)
|
|
63
|
+
# - **Never visible** to email recipients
|
|
64
|
+
#
|
|
65
|
+
# This is useful for correlating webhook events with your internal systems (e.g.,
|
|
66
|
+
# user IDs, order IDs, campaign identifiers).
|
|
67
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
68
|
+
attr_accessor :metadata
|
|
75
69
|
|
|
76
|
-
# Reply-to address
|
|
70
|
+
# Reply-to address (accepts null)
|
|
77
71
|
sig { returns(T.nilable(String)) }
|
|
78
|
-
|
|
72
|
+
attr_accessor :reply_to
|
|
79
73
|
|
|
80
|
-
|
|
81
|
-
attr_writer :reply_to
|
|
82
|
-
|
|
83
|
-
# Tag for categorization and filtering
|
|
74
|
+
# Tag for categorization and filtering (accepts null)
|
|
84
75
|
sig { returns(T.nilable(String)) }
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
sig { params(tag: String).void }
|
|
88
|
-
attr_writer :tag
|
|
76
|
+
attr_accessor :tag
|
|
89
77
|
|
|
90
|
-
# Plain text body (auto-generated from HTML if not provided).
|
|
91
|
-
# (5,242,880 characters).
|
|
78
|
+
# Plain text body (accepts null, auto-generated from HTML if not provided).
|
|
79
|
+
# Maximum 5MB (5,242,880 characters).
|
|
92
80
|
sig { returns(T.nilable(String)) }
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
sig { params(text: String).void }
|
|
96
|
-
attr_writer :text
|
|
81
|
+
attr_accessor :text
|
|
97
82
|
|
|
98
83
|
sig { returns(T.nilable(String)) }
|
|
99
84
|
attr_reader :idempotency_key
|
|
@@ -106,14 +91,16 @@ module ArkEmail
|
|
|
106
91
|
from: String,
|
|
107
92
|
subject: String,
|
|
108
93
|
to: T::Array[String],
|
|
109
|
-
attachments:
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
94
|
+
attachments:
|
|
95
|
+
T.nilable(T::Array[ArkEmail::EmailSendParams::Attachment::OrHash]),
|
|
96
|
+
bcc: T.nilable(T::Array[String]),
|
|
97
|
+
cc: T.nilable(T::Array[String]),
|
|
98
|
+
headers: T.nilable(T::Hash[Symbol, String]),
|
|
99
|
+
html: T.nilable(String),
|
|
100
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
101
|
+
reply_to: T.nilable(String),
|
|
102
|
+
tag: T.nilable(String),
|
|
103
|
+
text: T.nilable(String),
|
|
117
104
|
idempotency_key: String,
|
|
118
105
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
119
106
|
).returns(T.attached_class)
|
|
@@ -133,23 +120,34 @@ module ArkEmail
|
|
|
133
120
|
subject:,
|
|
134
121
|
# Recipient email addresses (max 50)
|
|
135
122
|
to:,
|
|
136
|
-
# File attachments
|
|
123
|
+
# File attachments (accepts null)
|
|
137
124
|
attachments: nil,
|
|
138
|
-
# BCC recipients
|
|
125
|
+
# BCC recipients (accepts null)
|
|
139
126
|
bcc: nil,
|
|
140
|
-
# CC recipients
|
|
127
|
+
# CC recipients (accepts null)
|
|
141
128
|
cc: nil,
|
|
142
|
-
# Custom email headers
|
|
129
|
+
# Custom email headers (accepts null)
|
|
143
130
|
headers: nil,
|
|
144
|
-
# HTML body content. Maximum 5MB (5,242,880 characters). Combined
|
|
145
|
-
# attachments, the total message must not exceed 14MB.
|
|
131
|
+
# HTML body content (accepts null). Maximum 5MB (5,242,880 characters). Combined
|
|
132
|
+
# with attachments, the total message must not exceed 14MB.
|
|
146
133
|
html: nil,
|
|
147
|
-
#
|
|
134
|
+
# Custom key-value pairs attached to an email for webhook correlation.
|
|
135
|
+
#
|
|
136
|
+
# When you send an email with metadata, these key-value pairs are:
|
|
137
|
+
#
|
|
138
|
+
# - **Stored** with the message
|
|
139
|
+
# - **Returned** in all webhook event payloads (MessageSent, MessageBounced, etc.)
|
|
140
|
+
# - **Never visible** to email recipients
|
|
141
|
+
#
|
|
142
|
+
# This is useful for correlating webhook events with your internal systems (e.g.,
|
|
143
|
+
# user IDs, order IDs, campaign identifiers).
|
|
144
|
+
metadata: nil,
|
|
145
|
+
# Reply-to address (accepts null)
|
|
148
146
|
reply_to: nil,
|
|
149
|
-
# Tag for categorization and filtering
|
|
147
|
+
# Tag for categorization and filtering (accepts null)
|
|
150
148
|
tag: nil,
|
|
151
|
-
# Plain text body (auto-generated from HTML if not provided).
|
|
152
|
-
# (5,242,880 characters).
|
|
149
|
+
# Plain text body (accepts null, auto-generated from HTML if not provided).
|
|
150
|
+
# Maximum 5MB (5,242,880 characters).
|
|
153
151
|
text: nil,
|
|
154
152
|
idempotency_key: nil,
|
|
155
153
|
request_options: {}
|
|
@@ -162,14 +160,16 @@ module ArkEmail
|
|
|
162
160
|
from: String,
|
|
163
161
|
subject: String,
|
|
164
162
|
to: T::Array[String],
|
|
165
|
-
attachments:
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
163
|
+
attachments:
|
|
164
|
+
T.nilable(T::Array[ArkEmail::EmailSendParams::Attachment]),
|
|
165
|
+
bcc: T.nilable(T::Array[String]),
|
|
166
|
+
cc: T.nilable(T::Array[String]),
|
|
167
|
+
headers: T.nilable(T::Hash[Symbol, String]),
|
|
168
|
+
html: T.nilable(String),
|
|
169
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
170
|
+
reply_to: T.nilable(String),
|
|
171
|
+
tag: T.nilable(String),
|
|
172
|
+
text: T.nilable(String),
|
|
173
173
|
idempotency_key: String,
|
|
174
174
|
request_options: ArkEmail::RequestOptions
|
|
175
175
|
}
|
|
@@ -23,11 +23,16 @@ module ArkEmail
|
|
|
23
23
|
sig { returns(T::Array[String]) }
|
|
24
24
|
attr_accessor :rcpt_to
|
|
25
25
|
|
|
26
|
+
# Whether this is a bounce message (accepts null)
|
|
27
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
28
|
+
attr_accessor :bounce
|
|
29
|
+
|
|
26
30
|
sig do
|
|
27
31
|
params(
|
|
28
32
|
data: String,
|
|
29
33
|
mail_from: String,
|
|
30
34
|
rcpt_to: T::Array[String],
|
|
35
|
+
bounce: T.nilable(T::Boolean),
|
|
31
36
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
32
37
|
).returns(T.attached_class)
|
|
33
38
|
end
|
|
@@ -38,6 +43,8 @@ module ArkEmail
|
|
|
38
43
|
mail_from:,
|
|
39
44
|
# Envelope recipient addresses
|
|
40
45
|
rcpt_to:,
|
|
46
|
+
# Whether this is a bounce message (accepts null)
|
|
47
|
+
bounce: nil,
|
|
41
48
|
request_options: {}
|
|
42
49
|
)
|
|
43
50
|
end
|
|
@@ -48,6 +55,7 @@ module ArkEmail
|
|
|
48
55
|
data: String,
|
|
49
56
|
mail_from: String,
|
|
50
57
|
rcpt_to: T::Array[String],
|
|
58
|
+
bounce: T.nilable(T::Boolean),
|
|
51
59
|
request_options: ArkEmail::RequestOptions
|
|
52
60
|
}
|
|
53
61
|
)
|
|
@@ -55,19 +55,23 @@ module ArkEmail
|
|
|
55
55
|
sig { returns(String) }
|
|
56
56
|
attr_accessor :address
|
|
57
57
|
|
|
58
|
+
# Reason for suppression (accepts null)
|
|
58
59
|
sig { returns(T.nilable(String)) }
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
sig { params(reason: String).void }
|
|
62
|
-
attr_writer :reason
|
|
60
|
+
attr_accessor :reason
|
|
63
61
|
|
|
64
62
|
sig do
|
|
65
|
-
params(address: String, reason: String).returns(
|
|
63
|
+
params(address: String, reason: T.nilable(String)).returns(
|
|
64
|
+
T.attached_class
|
|
65
|
+
)
|
|
66
66
|
end
|
|
67
|
-
def self.new(
|
|
67
|
+
def self.new(
|
|
68
|
+
address:,
|
|
69
|
+
# Reason for suppression (accepts null)
|
|
70
|
+
reason: nil
|
|
71
|
+
)
|
|
68
72
|
end
|
|
69
73
|
|
|
70
|
-
sig { override.returns({ address: String, reason: String }) }
|
|
74
|
+
sig { override.returns({ address: String, reason: T.nilable(String) }) }
|
|
71
75
|
def to_hash
|
|
72
76
|
end
|
|
73
77
|
end
|
|
@@ -15,24 +15,21 @@ module ArkEmail
|
|
|
15
15
|
sig { returns(String) }
|
|
16
16
|
attr_accessor :address
|
|
17
17
|
|
|
18
|
-
# Reason for suppression
|
|
18
|
+
# Reason for suppression (accepts null)
|
|
19
19
|
sig { returns(T.nilable(String)) }
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
sig { params(reason: String).void }
|
|
23
|
-
attr_writer :reason
|
|
20
|
+
attr_accessor :reason
|
|
24
21
|
|
|
25
22
|
sig do
|
|
26
23
|
params(
|
|
27
24
|
address: String,
|
|
28
|
-
reason: String,
|
|
25
|
+
reason: T.nilable(String),
|
|
29
26
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
30
27
|
).returns(T.attached_class)
|
|
31
28
|
end
|
|
32
29
|
def self.new(
|
|
33
30
|
# Email address to suppress
|
|
34
31
|
address:,
|
|
35
|
-
# Reason for suppression
|
|
32
|
+
# Reason for suppression (accepts null)
|
|
36
33
|
reason: nil,
|
|
37
34
|
request_options: {}
|
|
38
35
|
)
|
|
@@ -42,7 +39,7 @@ module ArkEmail
|
|
|
42
39
|
override.returns(
|
|
43
40
|
{
|
|
44
41
|
address: String,
|
|
45
|
-
reason: String,
|
|
42
|
+
reason: T.nilable(String),
|
|
46
43
|
request_options: ArkEmail::RequestOptions
|
|
47
44
|
}
|
|
48
45
|
)
|
|
@@ -12,41 +12,32 @@ module ArkEmail
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
# ID of the sending domain to attach this track domain to
|
|
15
|
-
sig { returns(
|
|
15
|
+
sig { returns(Integer) }
|
|
16
16
|
attr_accessor :domain_id
|
|
17
17
|
|
|
18
18
|
# Subdomain name (e.g., 'track' for track.yourdomain.com)
|
|
19
19
|
sig { returns(String) }
|
|
20
20
|
attr_accessor :name
|
|
21
21
|
|
|
22
|
-
# Enable SSL for tracking URLs (
|
|
22
|
+
# Enable SSL for tracking URLs (accepts null, defaults to true)
|
|
23
23
|
sig { returns(T.nilable(T::Boolean)) }
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
sig { params(ssl_enabled: T::Boolean).void }
|
|
27
|
-
attr_writer :ssl_enabled
|
|
24
|
+
attr_accessor :ssl_enabled
|
|
28
25
|
|
|
29
|
-
# Enable click tracking
|
|
26
|
+
# Enable click tracking (accepts null, defaults to true)
|
|
30
27
|
sig { returns(T.nilable(T::Boolean)) }
|
|
31
|
-
|
|
28
|
+
attr_accessor :track_clicks
|
|
32
29
|
|
|
33
|
-
|
|
34
|
-
attr_writer :track_clicks
|
|
35
|
-
|
|
36
|
-
# Enable open tracking (tracking pixel)
|
|
30
|
+
# Enable open tracking (tracking pixel, accepts null, defaults to true)
|
|
37
31
|
sig { returns(T.nilable(T::Boolean)) }
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
sig { params(track_opens: T::Boolean).void }
|
|
41
|
-
attr_writer :track_opens
|
|
32
|
+
attr_accessor :track_opens
|
|
42
33
|
|
|
43
34
|
sig do
|
|
44
35
|
params(
|
|
45
|
-
domain_id:
|
|
36
|
+
domain_id: Integer,
|
|
46
37
|
name: String,
|
|
47
|
-
ssl_enabled: T::Boolean,
|
|
48
|
-
track_clicks: T::Boolean,
|
|
49
|
-
track_opens: T::Boolean,
|
|
38
|
+
ssl_enabled: T.nilable(T::Boolean),
|
|
39
|
+
track_clicks: T.nilable(T::Boolean),
|
|
40
|
+
track_opens: T.nilable(T::Boolean),
|
|
50
41
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
51
42
|
).returns(T.attached_class)
|
|
52
43
|
end
|
|
@@ -55,11 +46,11 @@ module ArkEmail
|
|
|
55
46
|
domain_id:,
|
|
56
47
|
# Subdomain name (e.g., 'track' for track.yourdomain.com)
|
|
57
48
|
name:,
|
|
58
|
-
# Enable SSL for tracking URLs (
|
|
49
|
+
# Enable SSL for tracking URLs (accepts null, defaults to true)
|
|
59
50
|
ssl_enabled: nil,
|
|
60
|
-
# Enable click tracking
|
|
51
|
+
# Enable click tracking (accepts null, defaults to true)
|
|
61
52
|
track_clicks: nil,
|
|
62
|
-
# Enable open tracking (tracking pixel)
|
|
53
|
+
# Enable open tracking (tracking pixel, accepts null, defaults to true)
|
|
63
54
|
track_opens: nil,
|
|
64
55
|
request_options: {}
|
|
65
56
|
)
|
|
@@ -68,11 +59,11 @@ module ArkEmail
|
|
|
68
59
|
sig do
|
|
69
60
|
override.returns(
|
|
70
61
|
{
|
|
71
|
-
domain_id:
|
|
62
|
+
domain_id: Integer,
|
|
72
63
|
name: String,
|
|
73
|
-
ssl_enabled: T::Boolean,
|
|
74
|
-
track_clicks: T::Boolean,
|
|
75
|
-
track_opens: T::Boolean,
|
|
64
|
+
ssl_enabled: T.nilable(T::Boolean),
|
|
65
|
+
track_clicks: T.nilable(T::Boolean),
|
|
66
|
+
track_opens: T.nilable(T::Boolean),
|
|
76
67
|
request_options: ArkEmail::RequestOptions
|
|
77
68
|
}
|
|
78
69
|
)
|
|
@@ -11,51 +11,39 @@ module ArkEmail
|
|
|
11
11
|
T.any(ArkEmail::TrackingUpdateParams, ArkEmail::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
# Comma-separated list of domains to exclude from click tracking
|
|
14
|
+
# Comma-separated list of domains to exclude from click tracking (accepts null)
|
|
15
15
|
sig { returns(T.nilable(String)) }
|
|
16
|
-
|
|
16
|
+
attr_accessor :excluded_click_domains
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
attr_writer :excluded_click_domains
|
|
20
|
-
|
|
21
|
-
# Enable or disable SSL for tracking URLs
|
|
18
|
+
# Enable or disable SSL for tracking URLs (accepts null)
|
|
22
19
|
sig { returns(T.nilable(T::Boolean)) }
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
sig { params(ssl_enabled: T::Boolean).void }
|
|
26
|
-
attr_writer :ssl_enabled
|
|
20
|
+
attr_accessor :ssl_enabled
|
|
27
21
|
|
|
28
|
-
# Enable or disable click tracking
|
|
22
|
+
# Enable or disable click tracking (accepts null)
|
|
29
23
|
sig { returns(T.nilable(T::Boolean)) }
|
|
30
|
-
|
|
24
|
+
attr_accessor :track_clicks
|
|
31
25
|
|
|
32
|
-
|
|
33
|
-
attr_writer :track_clicks
|
|
34
|
-
|
|
35
|
-
# Enable or disable open tracking
|
|
26
|
+
# Enable or disable open tracking (accepts null)
|
|
36
27
|
sig { returns(T.nilable(T::Boolean)) }
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
sig { params(track_opens: T::Boolean).void }
|
|
40
|
-
attr_writer :track_opens
|
|
28
|
+
attr_accessor :track_opens
|
|
41
29
|
|
|
42
30
|
sig do
|
|
43
31
|
params(
|
|
44
|
-
excluded_click_domains: String,
|
|
45
|
-
ssl_enabled: T::Boolean,
|
|
46
|
-
track_clicks: T::Boolean,
|
|
47
|
-
track_opens: T::Boolean,
|
|
32
|
+
excluded_click_domains: T.nilable(String),
|
|
33
|
+
ssl_enabled: T.nilable(T::Boolean),
|
|
34
|
+
track_clicks: T.nilable(T::Boolean),
|
|
35
|
+
track_opens: T.nilable(T::Boolean),
|
|
48
36
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
49
37
|
).returns(T.attached_class)
|
|
50
38
|
end
|
|
51
39
|
def self.new(
|
|
52
|
-
# Comma-separated list of domains to exclude from click tracking
|
|
40
|
+
# Comma-separated list of domains to exclude from click tracking (accepts null)
|
|
53
41
|
excluded_click_domains: nil,
|
|
54
|
-
# Enable or disable SSL for tracking URLs
|
|
42
|
+
# Enable or disable SSL for tracking URLs (accepts null)
|
|
55
43
|
ssl_enabled: nil,
|
|
56
|
-
# Enable or disable click tracking
|
|
44
|
+
# Enable or disable click tracking (accepts null)
|
|
57
45
|
track_clicks: nil,
|
|
58
|
-
# Enable or disable open tracking
|
|
46
|
+
# Enable or disable open tracking (accepts null)
|
|
59
47
|
track_opens: nil,
|
|
60
48
|
request_options: {}
|
|
61
49
|
)
|
|
@@ -64,10 +52,10 @@ module ArkEmail
|
|
|
64
52
|
sig do
|
|
65
53
|
override.returns(
|
|
66
54
|
{
|
|
67
|
-
excluded_click_domains: String,
|
|
68
|
-
ssl_enabled: T::Boolean,
|
|
69
|
-
track_clicks: T::Boolean,
|
|
70
|
-
track_opens: T::Boolean,
|
|
55
|
+
excluded_click_domains: T.nilable(String),
|
|
56
|
+
ssl_enabled: T.nilable(T::Boolean),
|
|
57
|
+
track_clicks: T.nilable(T::Boolean),
|
|
58
|
+
track_opens: T.nilable(T::Boolean),
|
|
71
59
|
request_options: ArkEmail::RequestOptions
|
|
72
60
|
}
|
|
73
61
|
)
|