ark-email 0.5.2 → 0.6.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 +3 -3
- data/lib/ark_email/models/email_send_batch_params.rb +6 -6
- data/lib/ark_email/models/email_send_params.rb +28 -26
- 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 +11 -9
- 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 +9 -18
- data/rbi/ark_email/models/email_send_params.rbi +46 -72
- 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 +22 -18
- 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 +12 -18
- data/sig/ark_email/models/email_send_params.rbs +32 -50
- 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 +9 -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 +1 -1
|
@@ -70,30 +70,21 @@ module ArkEmail
|
|
|
70
70
|
attr_accessor :to
|
|
71
71
|
|
|
72
72
|
sig { returns(T.nilable(String)) }
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
sig { params(html: String).void }
|
|
76
|
-
attr_writer :html
|
|
73
|
+
attr_accessor :html
|
|
77
74
|
|
|
78
75
|
sig { returns(T.nilable(String)) }
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
sig { params(tag: String).void }
|
|
82
|
-
attr_writer :tag
|
|
76
|
+
attr_accessor :tag
|
|
83
77
|
|
|
84
78
|
sig { returns(T.nilable(String)) }
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
sig { params(text: String).void }
|
|
88
|
-
attr_writer :text
|
|
79
|
+
attr_accessor :text
|
|
89
80
|
|
|
90
81
|
sig do
|
|
91
82
|
params(
|
|
92
83
|
subject: String,
|
|
93
84
|
to: T::Array[String],
|
|
94
|
-
html: String,
|
|
95
|
-
tag: String,
|
|
96
|
-
text: String
|
|
85
|
+
html: T.nilable(String),
|
|
86
|
+
tag: T.nilable(String),
|
|
87
|
+
text: T.nilable(String)
|
|
97
88
|
).returns(T.attached_class)
|
|
98
89
|
end
|
|
99
90
|
def self.new(subject:, to:, html: nil, tag: nil, text: nil)
|
|
@@ -104,9 +95,9 @@ module ArkEmail
|
|
|
104
95
|
{
|
|
105
96
|
subject: String,
|
|
106
97
|
to: T::Array[String],
|
|
107
|
-
html: String,
|
|
108
|
-
tag: String,
|
|
109
|
-
text: String
|
|
98
|
+
html: T.nilable(String),
|
|
99
|
+
tag: T.nilable(String),
|
|
100
|
+
text: T.nilable(String)
|
|
110
101
|
}
|
|
111
102
|
)
|
|
112
103
|
end
|
|
@@ -31,69 +31,41 @@ 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
|
-
|
|
57
|
-
|
|
58
|
-
sig { params(cc: T::Array[String]).void }
|
|
59
|
-
attr_writer :cc
|
|
46
|
+
attr_accessor :cc
|
|
60
47
|
|
|
61
|
-
# Custom email headers
|
|
48
|
+
# Custom email headers (accepts null)
|
|
62
49
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
63
|
-
|
|
50
|
+
attr_accessor :headers
|
|
64
51
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
# HTML body content. Maximum 5MB (5,242,880 characters). Combined with
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
sig { params(html: String).void }
|
|
74
|
-
attr_writer :html
|
|
55
|
+
attr_accessor :html
|
|
75
56
|
|
|
76
|
-
# Reply-to address
|
|
57
|
+
# Reply-to address (accepts null)
|
|
77
58
|
sig { returns(T.nilable(String)) }
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
sig { params(reply_to: String).void }
|
|
81
|
-
attr_writer :reply_to
|
|
59
|
+
attr_accessor :reply_to
|
|
82
60
|
|
|
83
|
-
# Tag for categorization and filtering
|
|
61
|
+
# Tag for categorization and filtering (accepts null)
|
|
84
62
|
sig { returns(T.nilable(String)) }
|
|
85
|
-
|
|
63
|
+
attr_accessor :tag
|
|
86
64
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
# Plain text body (auto-generated from HTML if not provided). Maximum 5MB
|
|
91
|
-
# (5,242,880 characters).
|
|
65
|
+
# Plain text body (accepts null, auto-generated from HTML if not provided).
|
|
66
|
+
# Maximum 5MB (5,242,880 characters).
|
|
92
67
|
sig { returns(T.nilable(String)) }
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
sig { params(text: String).void }
|
|
96
|
-
attr_writer :text
|
|
68
|
+
attr_accessor :text
|
|
97
69
|
|
|
98
70
|
sig { returns(T.nilable(String)) }
|
|
99
71
|
attr_reader :idempotency_key
|
|
@@ -106,14 +78,15 @@ module ArkEmail
|
|
|
106
78
|
from: String,
|
|
107
79
|
subject: String,
|
|
108
80
|
to: T::Array[String],
|
|
109
|
-
attachments:
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
81
|
+
attachments:
|
|
82
|
+
T.nilable(T::Array[ArkEmail::EmailSendParams::Attachment::OrHash]),
|
|
83
|
+
bcc: T.nilable(T::Array[String]),
|
|
84
|
+
cc: T.nilable(T::Array[String]),
|
|
85
|
+
headers: T.nilable(T::Hash[Symbol, String]),
|
|
86
|
+
html: T.nilable(String),
|
|
87
|
+
reply_to: T.nilable(String),
|
|
88
|
+
tag: T.nilable(String),
|
|
89
|
+
text: T.nilable(String),
|
|
117
90
|
idempotency_key: String,
|
|
118
91
|
request_options: ArkEmail::RequestOptions::OrHash
|
|
119
92
|
).returns(T.attached_class)
|
|
@@ -133,23 +106,23 @@ module ArkEmail
|
|
|
133
106
|
subject:,
|
|
134
107
|
# Recipient email addresses (max 50)
|
|
135
108
|
to:,
|
|
136
|
-
# File attachments
|
|
109
|
+
# File attachments (accepts null)
|
|
137
110
|
attachments: nil,
|
|
138
|
-
# BCC recipients
|
|
111
|
+
# BCC recipients (accepts null)
|
|
139
112
|
bcc: nil,
|
|
140
|
-
# CC recipients
|
|
113
|
+
# CC recipients (accepts null)
|
|
141
114
|
cc: nil,
|
|
142
|
-
# Custom email headers
|
|
115
|
+
# Custom email headers (accepts null)
|
|
143
116
|
headers: nil,
|
|
144
|
-
# HTML body content. Maximum 5MB (5,242,880 characters). Combined
|
|
145
|
-
# attachments, the total message must not exceed 14MB.
|
|
117
|
+
# HTML body content (accepts null). Maximum 5MB (5,242,880 characters). Combined
|
|
118
|
+
# with attachments, the total message must not exceed 14MB.
|
|
146
119
|
html: nil,
|
|
147
|
-
# Reply-to address
|
|
120
|
+
# Reply-to address (accepts null)
|
|
148
121
|
reply_to: nil,
|
|
149
|
-
# Tag for categorization and filtering
|
|
122
|
+
# Tag for categorization and filtering (accepts null)
|
|
150
123
|
tag: nil,
|
|
151
|
-
# Plain text body (auto-generated from HTML if not provided).
|
|
152
|
-
# (5,242,880 characters).
|
|
124
|
+
# Plain text body (accepts null, auto-generated from HTML if not provided).
|
|
125
|
+
# Maximum 5MB (5,242,880 characters).
|
|
153
126
|
text: nil,
|
|
154
127
|
idempotency_key: nil,
|
|
155
128
|
request_options: {}
|
|
@@ -162,14 +135,15 @@ module ArkEmail
|
|
|
162
135
|
from: String,
|
|
163
136
|
subject: String,
|
|
164
137
|
to: T::Array[String],
|
|
165
|
-
attachments:
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
138
|
+
attachments:
|
|
139
|
+
T.nilable(T::Array[ArkEmail::EmailSendParams::Attachment]),
|
|
140
|
+
bcc: T.nilable(T::Array[String]),
|
|
141
|
+
cc: T.nilable(T::Array[String]),
|
|
142
|
+
headers: T.nilable(T::Hash[Symbol, String]),
|
|
143
|
+
html: T.nilable(String),
|
|
144
|
+
reply_to: T.nilable(String),
|
|
145
|
+
tag: T.nilable(String),
|
|
146
|
+
text: T.nilable(String),
|
|
173
147
|
idempotency_key: String,
|
|
174
148
|
request_options: ArkEmail::RequestOptions
|
|
175
149
|
}
|
|
@@ -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
|
)
|
|
@@ -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
|
)
|