ark-email 0.6.0 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2fd8727fd7e7cd6868b8265be0edf509d2213e440c3b2ac4d695971026d38172
4
- data.tar.gz: 2e7355fd8bbc133c5257224134ea34f502ccc7842f5fbba8460293e36998b705
3
+ metadata.gz: ddf19df44b85deecef1d6cbf6590336a3309035c29a4407967df568b5ac9ca19
4
+ data.tar.gz: d7048ca3b1397cd9c1ff148be90bb0bc24bcb691d543f511f8c94a7e9e6e3109
5
5
  SHA512:
6
- metadata.gz: b665865ed7fd3153eb7470a2ed7fd25b2a91ac37720e53aab3946d430325c2e286574e809c0b54ec94f952e05b5488b4dff6c03023c6395e366d64d2fcf720a2
7
- data.tar.gz: 7b49bdc1e1e54e41ce93bc94eb7835e856f1a21fb33b2ad42dfa2bd24a68197e75e5177c6144ea25b5802676a96e842e0e70866b5e1c700584eb3f9c7ca6292a
6
+ metadata.gz: 1d9d815fed0a695d07f4fc015c0b05e9864dbbdbe7f905566032eef3f13eee959276aa7b4abe256eaa668b73c4b690f7e94e5cef31c8ad4bedef0bfeb0ef7ae0
7
+ data.tar.gz: 45de3d27d11501f0430b2f32ee215bea62af5884e1a3c2507a36d6e833b734e22d3f6b3cb2f9de3a208225adce8546f50087fa54e78fde260fcbf9a1c9381854
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.0 (2026-01-14)
4
+
5
+ Full Changelog: [v0.6.0...v0.7.0](https://github.com/ArkHQ-io/ark-ruby/compare/v0.6.0...v0.7.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** add metadata ([ce7e4f9](https://github.com/ArkHQ-io/ark-ruby/commit/ce7e4f902f732cd6cddd18d7efe81faddb6400c4))
10
+
11
+
12
+ ### Chores
13
+
14
+ * fix typo in descriptions ([56e8b92](https://github.com/ArkHQ-io/ark-ruby/commit/56e8b9247d89c53d9e522e5785f52be79b7abdd7))
15
+
3
16
  ## 0.6.0 (2026-01-13)
4
17
 
5
18
  Full Changelog: [v0.5.2...v0.6.0](https://github.com/ArkHQ-io/ark-ruby/compare/v0.5.2...v0.6.0)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "ark-email", "~> 0.6.0"
29
+ gem "ark-email", "~> 0.7.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -48,6 +48,21 @@ module ArkEmail
48
48
  # @return [String, nil]
49
49
  optional :html, String, nil?: true
50
50
 
51
+ # @!attribute metadata
52
+ # Custom key-value pairs attached to an email for webhook correlation.
53
+ #
54
+ # When you send an email with metadata, these key-value pairs are:
55
+ #
56
+ # - **Stored** with the message
57
+ # - **Returned** in all webhook event payloads (MessageSent, MessageBounced, etc.)
58
+ # - **Never visible** to email recipients
59
+ #
60
+ # This is useful for correlating webhook events with your internal systems (e.g.,
61
+ # user IDs, order IDs, campaign identifiers).
62
+ #
63
+ # @return [Hash{Symbol=>String}, nil]
64
+ optional :metadata, ArkEmail::Internal::Type::HashOf[String], nil?: true
65
+
51
66
  # @!attribute tag
52
67
  #
53
68
  # @return [String, nil]
@@ -58,11 +73,20 @@ module ArkEmail
58
73
  # @return [String, nil]
59
74
  optional :text, String, nil?: true
60
75
 
61
- # @!method initialize(subject:, to:, html: nil, tag: nil, text: nil)
76
+ # @!method initialize(subject:, to:, html: nil, metadata: nil, tag: nil, text: nil)
77
+ # Some parameter documentations has been truncated, see
78
+ # {ArkEmail::Models::EmailSendBatchParams::Email} for more details.
79
+ #
62
80
  # @param subject [String]
81
+ #
63
82
  # @param to [Array<String>]
83
+ #
64
84
  # @param html [String, nil]
85
+ #
86
+ # @param metadata [Hash{Symbol=>String}, nil] Custom key-value pairs attached to an email for webhook correlation.
87
+ #
65
88
  # @param tag [String, nil]
89
+ #
66
90
  # @param text [String, nil]
67
91
  end
68
92
  end
@@ -66,6 +66,21 @@ module ArkEmail
66
66
  # @return [String, nil]
67
67
  optional :html, String, nil?: true
68
68
 
69
+ # @!attribute metadata
70
+ # Custom key-value pairs attached to an email for webhook correlation.
71
+ #
72
+ # When you send an email with metadata, these key-value pairs are:
73
+ #
74
+ # - **Stored** with the message
75
+ # - **Returned** in all webhook event payloads (MessageSent, MessageBounced, etc.)
76
+ # - **Never visible** to email recipients
77
+ #
78
+ # This is useful for correlating webhook events with your internal systems (e.g.,
79
+ # user IDs, order IDs, campaign identifiers).
80
+ #
81
+ # @return [Hash{Symbol=>String}, nil]
82
+ optional :metadata, ArkEmail::Internal::Type::HashOf[String], nil?: true
83
+
69
84
  # @!attribute reply_to
70
85
  # Reply-to address (accepts null)
71
86
  #
@@ -90,7 +105,7 @@ module ArkEmail
90
105
  # @return [String, nil]
91
106
  optional :idempotency_key, String
92
107
 
93
- # @!method initialize(from:, subject:, to:, attachments: nil, bcc: nil, cc: nil, headers: nil, html: nil, reply_to: nil, tag: nil, text: nil, idempotency_key: nil, request_options: {})
108
+ # @!method initialize(from:, subject:, to:, attachments: nil, bcc: nil, cc: nil, headers: nil, html: nil, metadata: nil, reply_to: nil, tag: nil, text: nil, idempotency_key: nil, request_options: {})
94
109
  # Some parameter documentations has been truncated, see
95
110
  # {ArkEmail::Models::EmailSendParams} for more details.
96
111
  #
@@ -110,6 +125,8 @@ module ArkEmail
110
125
  #
111
126
  # @param html [String, nil] HTML body content (accepts null).
112
127
  #
128
+ # @param metadata [Hash{Symbol=>String}, nil] Custom key-value pairs attached to an email for webhook correlation.
129
+ #
113
130
  # @param reply_to [String, nil] Reply-to address (accepts null)
114
131
  #
115
132
  # @param tag [String, nil] Tag for categorization and filtering (accepts null)
@@ -142,7 +142,7 @@ module ArkEmail
142
142
  # - `GET /emails/{id}/deliveries` - View delivery attempts
143
143
  # - `POST /emails/{id}/retry` - Retry failed delivery
144
144
  #
145
- # @overload send_(from:, subject:, to:, attachments: nil, bcc: nil, cc: nil, headers: nil, html: nil, reply_to: nil, tag: nil, text: nil, idempotency_key: nil, request_options: {})
145
+ # @overload send_(from:, subject:, to:, attachments: nil, bcc: nil, cc: nil, headers: nil, html: nil, metadata: nil, reply_to: nil, tag: nil, text: nil, idempotency_key: nil, request_options: {})
146
146
  #
147
147
  # @param from [String] Body param: Sender email address. Must be from a verified domain.
148
148
  #
@@ -160,6 +160,8 @@ module ArkEmail
160
160
  #
161
161
  # @param html [String, nil] Body param: HTML body content (accepts null).
162
162
  #
163
+ # @param metadata [Hash{Symbol=>String}, nil] Body param: Custom key-value pairs attached to an email for webhook correlation.
164
+ #
163
165
  # @param reply_to [String, nil] Body param: Reply-to address (accepts null)
164
166
  #
165
167
  # @param tag [String, nil] Body param: Tag for categorization and filtering (accepts null)
@@ -199,7 +201,7 @@ module ArkEmail
199
201
  #
200
202
  # @overload send_batch(emails:, from:, idempotency_key: nil, request_options: {})
201
203
  #
202
- # @param emails [Array<ArkEmail::Models::EmailSendBatchParams::Email>] Body param:
204
+ # @param emails [Array<ArkEmail::Models::EmailSendBatchParams::Email>] Body param
203
205
  #
204
206
  # @param from [String] Body param: Sender email for all messages
205
207
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ArkEmail
4
- VERSION = "0.6.0"
4
+ VERSION = "0.7.0"
5
5
  end
@@ -72,6 +72,19 @@ module ArkEmail
72
72
  sig { returns(T.nilable(String)) }
73
73
  attr_accessor :html
74
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
87
+
75
88
  sig { returns(T.nilable(String)) }
76
89
  attr_accessor :tag
77
90
 
@@ -83,11 +96,29 @@ module ArkEmail
83
96
  subject: String,
84
97
  to: T::Array[String],
85
98
  html: T.nilable(String),
99
+ metadata: T.nilable(T::Hash[Symbol, String]),
86
100
  tag: T.nilable(String),
87
101
  text: T.nilable(String)
88
102
  ).returns(T.attached_class)
89
103
  end
90
- def self.new(subject:, to:, html: nil, tag: nil, text: nil)
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
+ )
91
122
  end
92
123
 
93
124
  sig do
@@ -96,6 +127,7 @@ module ArkEmail
96
127
  subject: String,
97
128
  to: T::Array[String],
98
129
  html: T.nilable(String),
130
+ metadata: T.nilable(T::Hash[Symbol, String]),
99
131
  tag: T.nilable(String),
100
132
  text: T.nilable(String)
101
133
  }
@@ -54,6 +54,19 @@ module ArkEmail
54
54
  sig { returns(T.nilable(String)) }
55
55
  attr_accessor :html
56
56
 
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
69
+
57
70
  # Reply-to address (accepts null)
58
71
  sig { returns(T.nilable(String)) }
59
72
  attr_accessor :reply_to
@@ -84,6 +97,7 @@ module ArkEmail
84
97
  cc: T.nilable(T::Array[String]),
85
98
  headers: T.nilable(T::Hash[Symbol, String]),
86
99
  html: T.nilable(String),
100
+ metadata: T.nilable(T::Hash[Symbol, String]),
87
101
  reply_to: T.nilable(String),
88
102
  tag: T.nilable(String),
89
103
  text: T.nilable(String),
@@ -117,6 +131,17 @@ module ArkEmail
117
131
  # HTML body content (accepts null). Maximum 5MB (5,242,880 characters). Combined
118
132
  # with attachments, the total message must not exceed 14MB.
119
133
  html: nil,
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,
120
145
  # Reply-to address (accepts null)
121
146
  reply_to: nil,
122
147
  # Tag for categorization and filtering (accepts null)
@@ -141,6 +166,7 @@ module ArkEmail
141
166
  cc: T.nilable(T::Array[String]),
142
167
  headers: T.nilable(T::Hash[Symbol, String]),
143
168
  html: T.nilable(String),
169
+ metadata: T.nilable(T::Hash[Symbol, String]),
144
170
  reply_to: T.nilable(String),
145
171
  tag: T.nilable(String),
146
172
  text: T.nilable(String),
@@ -132,6 +132,7 @@ module ArkEmail
132
132
  cc: T.nilable(T::Array[String]),
133
133
  headers: T.nilable(T::Hash[Symbol, String]),
134
134
  html: T.nilable(String),
135
+ metadata: T.nilable(T::Hash[Symbol, String]),
135
136
  reply_to: T.nilable(String),
136
137
  tag: T.nilable(String),
137
138
  text: T.nilable(String),
@@ -165,6 +166,17 @@ module ArkEmail
165
166
  # Body param: HTML body content (accepts null). Maximum 5MB (5,242,880
166
167
  # characters). Combined with attachments, the total message must not exceed 14MB.
167
168
  html: nil,
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,
168
180
  # Body param: Reply-to address (accepts null)
169
181
  reply_to: nil,
170
182
  # Body param: Tag for categorization and filtering (accepts null)
@@ -195,7 +207,7 @@ module ArkEmail
195
207
  ).returns(ArkEmail::Models::EmailSendBatchResponse)
196
208
  end
197
209
  def send_batch(
198
- # Body param:
210
+ # Body param
199
211
  emails:,
200
212
  # Body param: Sender email for all messages
201
213
  from:,
@@ -39,6 +39,7 @@ module ArkEmail
39
39
  subject: String,
40
40
  to: ::Array[String],
41
41
  html: String?,
42
+ metadata: ::Hash[Symbol, String]?,
42
43
  tag: String?,
43
44
  text: String?
44
45
  }
@@ -50,6 +51,8 @@ module ArkEmail
50
51
 
51
52
  attr_accessor html: String?
52
53
 
54
+ attr_accessor metadata: ::Hash[Symbol, String]?
55
+
53
56
  attr_accessor tag: String?
54
57
 
55
58
  attr_accessor text: String?
@@ -58,6 +61,7 @@ module ArkEmail
58
61
  subject: String,
59
62
  to: ::Array[String],
60
63
  ?html: String?,
64
+ ?metadata: ::Hash[Symbol, String]?,
61
65
  ?tag: String?,
62
66
  ?text: String?
63
67
  ) -> void
@@ -66,6 +70,7 @@ module ArkEmail
66
70
  subject: String,
67
71
  to: ::Array[String],
68
72
  html: String?,
73
+ metadata: ::Hash[Symbol, String]?,
69
74
  tag: String?,
70
75
  text: String?
71
76
  }
@@ -10,6 +10,7 @@ module ArkEmail
10
10
  cc: ::Array[String]?,
11
11
  headers: ::Hash[Symbol, String]?,
12
12
  html: String?,
13
+ metadata: ::Hash[Symbol, String]?,
13
14
  reply_to: String?,
14
15
  tag: String?,
15
16
  text: String?,
@@ -37,6 +38,8 @@ module ArkEmail
37
38
 
38
39
  attr_accessor html: String?
39
40
 
41
+ attr_accessor metadata: ::Hash[Symbol, String]?
42
+
40
43
  attr_accessor reply_to: String?
41
44
 
42
45
  attr_accessor tag: String?
@@ -56,6 +59,7 @@ module ArkEmail
56
59
  ?cc: ::Array[String]?,
57
60
  ?headers: ::Hash[Symbol, String]?,
58
61
  ?html: String?,
62
+ ?metadata: ::Hash[Symbol, String]?,
59
63
  ?reply_to: String?,
60
64
  ?tag: String?,
61
65
  ?text: String?,
@@ -72,6 +76,7 @@ module ArkEmail
72
76
  cc: ::Array[String]?,
73
77
  headers: ::Hash[Symbol, String]?,
74
78
  html: String?,
79
+ metadata: ::Hash[Symbol, String]?,
75
80
  reply_to: String?,
76
81
  tag: String?,
77
82
  text: String?,
@@ -38,6 +38,7 @@ module ArkEmail
38
38
  ?cc: ::Array[String]?,
39
39
  ?headers: ::Hash[Symbol, String]?,
40
40
  ?html: String?,
41
+ ?metadata: ::Hash[Symbol, String]?,
41
42
  ?reply_to: String?,
42
43
  ?tag: String?,
43
44
  ?text: String?,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ark-email
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-01-13 00:00:00.000000000 Z
11
+ date: 2026-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi