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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +3 -3
  4. data/lib/ark_email/models/email_send_batch_params.rb +31 -7
  5. data/lib/ark_email/models/email_send_params.rb +46 -27
  6. data/lib/ark_email/models/email_send_raw_params.rb +9 -1
  7. data/lib/ark_email/models/suppression_bulk_create_params.rb +4 -2
  8. data/lib/ark_email/models/suppression_create_params.rb +3 -3
  9. data/lib/ark_email/models/tracking_create_params.rb +12 -12
  10. data/lib/ark_email/models/tracking_update_params.rb +12 -12
  11. data/lib/ark_email/models/webhook_create_params.rb +26 -23
  12. data/lib/ark_email/models/webhook_update_params.rb +10 -10
  13. data/lib/ark_email/resources/emails.rb +15 -11
  14. data/lib/ark_email/resources/suppressions.rb +1 -1
  15. data/lib/ark_email/resources/tracking.rb +8 -8
  16. data/lib/ark_email/resources/webhooks.rb +10 -10
  17. data/lib/ark_email/version.rb +1 -1
  18. data/rbi/ark_email/models/email_send_batch_params.rbi +42 -19
  19. data/rbi/ark_email/models/email_send_params.rbi +71 -71
  20. data/rbi/ark_email/models/email_send_raw_params.rbi +8 -0
  21. data/rbi/ark_email/models/suppression_bulk_create_params.rbi +11 -7
  22. data/rbi/ark_email/models/suppression_create_params.rbi +5 -8
  23. data/rbi/ark_email/models/tracking_create_params.rbi +18 -27
  24. data/rbi/ark_email/models/tracking_update_params.rbi +20 -32
  25. data/rbi/ark_email/models/webhook_create_params.rbi +40 -36
  26. data/rbi/ark_email/models/webhook_update_params.rbi +15 -30
  27. data/rbi/ark_email/resources/emails.rbi +35 -19
  28. data/rbi/ark_email/resources/suppressions.rbi +2 -2
  29. data/rbi/ark_email/resources/tracking.rbi +15 -15
  30. data/rbi/ark_email/resources/webhooks.rbi +19 -17
  31. data/sig/ark_email/models/email_send_batch_params.rbs +16 -17
  32. data/sig/ark_email/models/email_send_params.rbs +36 -49
  33. data/sig/ark_email/models/email_send_raw_params.rbs +10 -1
  34. data/sig/ark_email/models/suppression_bulk_create_params.rbs +4 -6
  35. data/sig/ark_email/models/suppression_create_params.rbs +4 -6
  36. data/sig/ark_email/models/tracking_create_params.rbs +16 -22
  37. data/sig/ark_email/models/tracking_update_params.rbs +16 -24
  38. data/sig/ark_email/models/webhook_create_params.rbs +12 -16
  39. data/sig/ark_email/models/webhook_update_params.rbs +20 -30
  40. data/sig/ark_email/resources/emails.rbs +10 -8
  41. data/sig/ark_email/resources/suppressions.rbs +1 -1
  42. data/sig/ark_email/resources/tracking.rbs +8 -8
  43. data/sig/ark_email/resources/webhooks.rbs +8 -8
  44. 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
- attr_reader :all_events
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
- attr_reader :enabled
28
+ attr_accessor :enabled
44
29
 
45
- sig { params(enabled: T::Boolean).void }
46
- attr_writer :enabled
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
- # Events to subscribe to:
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
- attr_reader :all_events
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
- attr_reader :enabled
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
- attr_reader :events
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
- attr_reader :name
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
- attr_reader :url
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: T::Array[ArkEmail::EmailSendParams::Attachment::OrHash],
130
- bcc: T::Array[String],
131
- cc: T::Array[String],
132
- headers: T::Hash[Symbol, String],
133
- html: String,
134
- reply_to: String,
135
- tag: String,
136
- text: String,
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 characters). Combined with
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: Reply-to address
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 provided). Maximum
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: String,
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 (recommended)
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
- # Events to subscribe to:
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
- tag: String,
43
- text: String
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
- attr_reader html: String?
52
+ attr_accessor html: String?
52
53
 
53
- def html=: (String) -> String
54
+ attr_accessor metadata: ::Hash[Symbol, String]?
54
55
 
55
- attr_reader tag: String?
56
+ attr_accessor tag: String?
56
57
 
57
- def tag=: (String) -> String
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
- ?tag: String,
68
- ?text: String
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
- tag: String,
76
- text: String
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
- reply_to: String,
14
- tag: String,
15
- text: String,
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
- attr_reader attachments: ::Array[ArkEmail::EmailSendParams::Attachment]?
31
+ attr_accessor attachments: ::Array[ArkEmail::EmailSendParams::Attachment]?
31
32
 
32
- def attachments=: (
33
- ::Array[ArkEmail::EmailSendParams::Attachment]
34
- ) -> ::Array[ArkEmail::EmailSendParams::Attachment]
33
+ attr_accessor bcc: ::Array[String]?
35
34
 
36
- attr_reader bcc: ::Array[String]?
35
+ attr_accessor cc: ::Array[String]?
37
36
 
38
- def bcc=: (::Array[String]) -> ::Array[String]
37
+ attr_accessor headers: ::Hash[Symbol, String]?
39
38
 
40
- attr_reader cc: ::Array[String]?
39
+ attr_accessor html: String?
41
40
 
42
- def cc=: (::Array[String]) -> ::Array[String]
41
+ attr_accessor metadata: ::Hash[Symbol, String]?
43
42
 
44
- attr_reader headers: ::Hash[Symbol, String]?
43
+ attr_accessor reply_to: String?
45
44
 
46
- def headers=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
45
+ attr_accessor tag: String?
47
46
 
48
- attr_reader html: String?
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
- ?reply_to: String,
78
- ?tag: String,
79
- ?text: String,
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
- reply_to: String,
94
- tag: String,
95
- text: String,
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
- { data: String, mail_from: String, rcpt_to: ::Array[String] }
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
- attr_reader reason: String?
30
+ attr_accessor reason: String?
31
31
 
32
- def reason=: (String) -> String
32
+ def initialize: (address: String, ?reason: String?) -> void
33
33
 
34
- def initialize: (address: String, ?reason: String) -> void
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