ark-email 0.5.1
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 +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +71 -0
- data/README.md +303 -0
- data/SECURITY.md +27 -0
- data/lib/ark_email/client.rb +102 -0
- data/lib/ark_email/errors.rb +228 -0
- data/lib/ark_email/file_part.rb +58 -0
- data/lib/ark_email/internal/page_number_pagination.rb +121 -0
- data/lib/ark_email/internal/transport/base_client.rb +573 -0
- data/lib/ark_email/internal/transport/pooled_net_requester.rb +210 -0
- data/lib/ark_email/internal/type/array_of.rb +168 -0
- data/lib/ark_email/internal/type/base_model.rb +529 -0
- data/lib/ark_email/internal/type/base_page.rb +55 -0
- data/lib/ark_email/internal/type/boolean.rb +77 -0
- data/lib/ark_email/internal/type/converter.rb +327 -0
- data/lib/ark_email/internal/type/enum.rb +131 -0
- data/lib/ark_email/internal/type/file_input.rb +111 -0
- data/lib/ark_email/internal/type/hash_of.rb +188 -0
- data/lib/ark_email/internal/type/request_parameters.rb +42 -0
- data/lib/ark_email/internal/type/union.rb +237 -0
- data/lib/ark_email/internal/type/unknown.rb +81 -0
- data/lib/ark_email/internal/util.rb +920 -0
- data/lib/ark_email/internal.rb +20 -0
- data/lib/ark_email/models/api_meta.rb +16 -0
- data/lib/ark_email/models/dns_record.rb +81 -0
- data/lib/ark_email/models/domain_create_params.rb +22 -0
- data/lib/ark_email/models/domain_create_response.rb +110 -0
- data/lib/ark_email/models/domain_delete_params.rb +14 -0
- data/lib/ark_email/models/domain_delete_response.rb +39 -0
- data/lib/ark_email/models/domain_list_params.rb +14 -0
- data/lib/ark_email/models/domain_list_response.rb +72 -0
- data/lib/ark_email/models/domain_retrieve_params.rb +14 -0
- data/lib/ark_email/models/domain_retrieve_response.rb +110 -0
- data/lib/ark_email/models/domain_verify_params.rb +14 -0
- data/lib/ark_email/models/domain_verify_response.rb +110 -0
- data/lib/ark_email/models/email_list_params.rb +110 -0
- data/lib/ark_email/models/email_list_response.rb +108 -0
- data/lib/ark_email/models/email_retrieve_deliveries_params.rb +14 -0
- data/lib/ark_email/models/email_retrieve_deliveries_response.rb +123 -0
- data/lib/ark_email/models/email_retrieve_params.rb +30 -0
- data/lib/ark_email/models/email_retrieve_response.rb +285 -0
- data/lib/ark_email/models/email_retry_params.rb +14 -0
- data/lib/ark_email/models/email_retry_response.rb +39 -0
- data/lib/ark_email/models/email_send_batch_params.rb +70 -0
- data/lib/ark_email/models/email_send_batch_response.rb +83 -0
- data/lib/ark_email/models/email_send_params.rb +149 -0
- data/lib/ark_email/models/email_send_raw_params.rb +38 -0
- data/lib/ark_email/models/email_send_raw_response.rb +77 -0
- data/lib/ark_email/models/email_send_response.rb +77 -0
- data/lib/ark_email/models/suppression_bulk_create_params.rb +37 -0
- data/lib/ark_email/models/suppression_bulk_create_response.rb +64 -0
- data/lib/ark_email/models/suppression_create_params.rb +30 -0
- data/lib/ark_email/models/suppression_create_response.rb +62 -0
- data/lib/ark_email/models/suppression_delete_params.rb +14 -0
- data/lib/ark_email/models/suppression_delete_response.rb +39 -0
- data/lib/ark_email/models/suppression_list_params.rb +26 -0
- data/lib/ark_email/models/suppression_list_response.rb +38 -0
- data/lib/ark_email/models/suppression_retrieve_params.rb +14 -0
- data/lib/ark_email/models/suppression_retrieve_response.rb +64 -0
- data/lib/ark_email/models/track_domain.rb +172 -0
- data/lib/ark_email/models/tracking_create_params.rb +54 -0
- data/lib/ark_email/models/tracking_create_response.rb +28 -0
- data/lib/ark_email/models/tracking_delete_params.rb +14 -0
- data/lib/ark_email/models/tracking_delete_response.rb +39 -0
- data/lib/ark_email/models/tracking_list_params.rb +14 -0
- data/lib/ark_email/models/tracking_list_response.rb +41 -0
- data/lib/ark_email/models/tracking_retrieve_params.rb +14 -0
- data/lib/ark_email/models/tracking_retrieve_response.rb +28 -0
- data/lib/ark_email/models/tracking_update_params.rb +46 -0
- data/lib/ark_email/models/tracking_update_response.rb +28 -0
- data/lib/ark_email/models/tracking_verify_params.rb +14 -0
- data/lib/ark_email/models/tracking_verify_response.rb +133 -0
- data/lib/ark_email/models/webhook_create_params.rb +81 -0
- data/lib/ark_email/models/webhook_create_response.rb +111 -0
- data/lib/ark_email/models/webhook_delete_params.rb +14 -0
- data/lib/ark_email/models/webhook_delete_response.rb +39 -0
- data/lib/ark_email/models/webhook_list_params.rb +14 -0
- data/lib/ark_email/models/webhook_list_response.rb +79 -0
- data/lib/ark_email/models/webhook_retrieve_params.rb +14 -0
- data/lib/ark_email/models/webhook_retrieve_response.rb +111 -0
- data/lib/ark_email/models/webhook_test_params.rb +39 -0
- data/lib/ark_email/models/webhook_test_response.rb +80 -0
- data/lib/ark_email/models/webhook_update_params.rb +44 -0
- data/lib/ark_email/models/webhook_update_response.rb +111 -0
- data/lib/ark_email/models.rb +105 -0
- data/lib/ark_email/request_options.rb +77 -0
- data/lib/ark_email/resources/domains.rb +127 -0
- data/lib/ark_email/resources/emails.rb +263 -0
- data/lib/ark_email/resources/suppressions.rb +124 -0
- data/lib/ark_email/resources/tracking.rb +167 -0
- data/lib/ark_email/resources/webhooks.rb +175 -0
- data/lib/ark_email/version.rb +5 -0
- data/lib/ark_email.rb +122 -0
- data/manifest.yaml +17 -0
- data/rbi/ark_email/client.rbi +73 -0
- data/rbi/ark_email/errors.rbi +205 -0
- data/rbi/ark_email/file_part.rbi +37 -0
- data/rbi/ark_email/internal/page_number_pagination.rbi +52 -0
- data/rbi/ark_email/internal/transport/base_client.rbi +297 -0
- data/rbi/ark_email/internal/transport/pooled_net_requester.rbi +83 -0
- data/rbi/ark_email/internal/type/array_of.rbi +104 -0
- data/rbi/ark_email/internal/type/base_model.rbi +306 -0
- data/rbi/ark_email/internal/type/base_page.rbi +42 -0
- data/rbi/ark_email/internal/type/boolean.rbi +58 -0
- data/rbi/ark_email/internal/type/converter.rbi +216 -0
- data/rbi/ark_email/internal/type/enum.rbi +82 -0
- data/rbi/ark_email/internal/type/file_input.rbi +59 -0
- data/rbi/ark_email/internal/type/hash_of.rbi +104 -0
- data/rbi/ark_email/internal/type/request_parameters.rbi +29 -0
- data/rbi/ark_email/internal/type/union.rbi +128 -0
- data/rbi/ark_email/internal/type/unknown.rbi +58 -0
- data/rbi/ark_email/internal/util.rbi +487 -0
- data/rbi/ark_email/internal.rbi +16 -0
- data/rbi/ark_email/models/api_meta.rbi +25 -0
- data/rbi/ark_email/models/dns_record.rbi +111 -0
- data/rbi/ark_email/models/domain_create_params.rbi +40 -0
- data/rbi/ark_email/models/domain_create_response.rbi +193 -0
- data/rbi/ark_email/models/domain_delete_params.rbi +27 -0
- data/rbi/ark_email/models/domain_delete_response.rbi +75 -0
- data/rbi/ark_email/models/domain_list_params.rbi +27 -0
- data/rbi/ark_email/models/domain_list_response.rbi +144 -0
- data/rbi/ark_email/models/domain_retrieve_params.rbi +27 -0
- data/rbi/ark_email/models/domain_retrieve_response.rbi +195 -0
- data/rbi/ark_email/models/domain_verify_params.rbi +27 -0
- data/rbi/ark_email/models/domain_verify_response.rbi +193 -0
- data/rbi/ark_email/models/email_list_params.rbi +172 -0
- data/rbi/ark_email/models/email_list_response.rbi +164 -0
- data/rbi/ark_email/models/email_retrieve_deliveries_params.rbi +30 -0
- data/rbi/ark_email/models/email_retrieve_deliveries_response.rbi +220 -0
- data/rbi/ark_email/models/email_retrieve_params.rbi +53 -0
- data/rbi/ark_email/models/email_retrieve_response.rbi +490 -0
- data/rbi/ark_email/models/email_retry_params.rbi +27 -0
- data/rbi/ark_email/models/email_retry_response.rbi +75 -0
- data/rbi/ark_email/models/email_send_batch_params.rbi +118 -0
- data/rbi/ark_email/models/email_send_batch_response.rbi +159 -0
- data/rbi/ark_email/models/email_send_params.rbi +229 -0
- data/rbi/ark_email/models/email_send_raw_params.rbi +59 -0
- data/rbi/ark_email/models/email_send_raw_response.rbi +157 -0
- data/rbi/ark_email/models/email_send_response.rbi +153 -0
- data/rbi/ark_email/models/suppression_bulk_create_params.rbi +76 -0
- data/rbi/ark_email/models/suppression_bulk_create_response.rbi +115 -0
- data/rbi/ark_email/models/suppression_create_params.rbi +54 -0
- data/rbi/ark_email/models/suppression_create_response.rbi +109 -0
- data/rbi/ark_email/models/suppression_delete_params.rbi +27 -0
- data/rbi/ark_email/models/suppression_delete_response.rbi +77 -0
- data/rbi/ark_email/models/suppression_list_params.rbi +49 -0
- data/rbi/ark_email/models/suppression_list_response.rbi +56 -0
- data/rbi/ark_email/models/suppression_retrieve_params.rbi +30 -0
- data/rbi/ark_email/models/suppression_retrieve_response.rbi +115 -0
- data/rbi/ark_email/models/track_domain.rbi +228 -0
- data/rbi/ark_email/models/tracking_create_params.rbi +84 -0
- data/rbi/ark_email/models/tracking_create_response.rbi +52 -0
- data/rbi/ark_email/models/tracking_delete_params.rbi +27 -0
- data/rbi/ark_email/models/tracking_delete_response.rbi +77 -0
- data/rbi/ark_email/models/tracking_list_params.rbi +27 -0
- data/rbi/ark_email/models/tracking_list_response.rbi +81 -0
- data/rbi/ark_email/models/tracking_retrieve_params.rbi +27 -0
- data/rbi/ark_email/models/tracking_retrieve_response.rbi +52 -0
- data/rbi/ark_email/models/tracking_update_params.rbi +79 -0
- data/rbi/ark_email/models/tracking_update_response.rbi +52 -0
- data/rbi/ark_email/models/tracking_verify_params.rbi +27 -0
- data/rbi/ark_email/models/tracking_verify_response.rbi +254 -0
- data/rbi/ark_email/models/webhook_create_params.rbi +154 -0
- data/rbi/ark_email/models/webhook_create_response.rbi +217 -0
- data/rbi/ark_email/models/webhook_delete_params.rbi +27 -0
- data/rbi/ark_email/models/webhook_delete_response.rbi +75 -0
- data/rbi/ark_email/models/webhook_list_params.rbi +27 -0
- data/rbi/ark_email/models/webhook_list_response.rbi +152 -0
- data/rbi/ark_email/models/webhook_retrieve_params.rbi +27 -0
- data/rbi/ark_email/models/webhook_retrieve_response.rbi +219 -0
- data/rbi/ark_email/models/webhook_test_params.rbi +95 -0
- data/rbi/ark_email/models/webhook_test_response.rbi +129 -0
- data/rbi/ark_email/models/webhook_update_params.rbi +80 -0
- data/rbi/ark_email/models/webhook_update_response.rbi +217 -0
- data/rbi/ark_email/models.rbi +68 -0
- data/rbi/ark_email/request_options.rbi +59 -0
- data/rbi/ark_email/resources/domains.rbi +84 -0
- data/rbi/ark_email/resources/emails.rbi +237 -0
- data/rbi/ark_email/resources/suppressions.rbi +84 -0
- data/rbi/ark_email/resources/tracking.rbi +130 -0
- data/rbi/ark_email/resources/webhooks.rbi +137 -0
- data/rbi/ark_email/version.rbi +5 -0
- data/sig/ark_email/client.rbs +34 -0
- data/sig/ark_email/errors.rbs +117 -0
- data/sig/ark_email/file_part.rbs +21 -0
- data/sig/ark_email/internal/page_number_pagination.rbs +32 -0
- data/sig/ark_email/internal/transport/base_client.rbs +133 -0
- data/sig/ark_email/internal/transport/pooled_net_requester.rbs +48 -0
- data/sig/ark_email/internal/type/array_of.rbs +48 -0
- data/sig/ark_email/internal/type/base_model.rbs +102 -0
- data/sig/ark_email/internal/type/base_page.rbs +24 -0
- data/sig/ark_email/internal/type/boolean.rbs +26 -0
- data/sig/ark_email/internal/type/converter.rbs +79 -0
- data/sig/ark_email/internal/type/enum.rbs +32 -0
- data/sig/ark_email/internal/type/file_input.rbs +25 -0
- data/sig/ark_email/internal/type/hash_of.rbs +48 -0
- data/sig/ark_email/internal/type/request_parameters.rbs +17 -0
- data/sig/ark_email/internal/type/union.rbs +52 -0
- data/sig/ark_email/internal/type/unknown.rbs +26 -0
- data/sig/ark_email/internal/util.rbs +185 -0
- data/sig/ark_email/internal.rbs +9 -0
- data/sig/ark_email/models/api_meta.rbs +13 -0
- data/sig/ark_email/models/dns_record.rbs +59 -0
- data/sig/ark_email/models/domain_create_params.rbs +23 -0
- data/sig/ark_email/models/domain_create_response.rbs +104 -0
- data/sig/ark_email/models/domain_delete_params.rbs +15 -0
- data/sig/ark_email/models/domain_delete_response.rbs +40 -0
- data/sig/ark_email/models/domain_list_params.rbs +15 -0
- data/sig/ark_email/models/domain_list_response.rbs +71 -0
- data/sig/ark_email/models/domain_retrieve_params.rbs +15 -0
- data/sig/ark_email/models/domain_retrieve_response.rbs +104 -0
- data/sig/ark_email/models/domain_verify_params.rbs +15 -0
- data/sig/ark_email/models/domain_verify_response.rbs +104 -0
- data/sig/ark_email/models/email_list_params.rbs +94 -0
- data/sig/ark_email/models/email_list_response.rbs +77 -0
- data/sig/ark_email/models/email_retrieve_deliveries_params.rbs +15 -0
- data/sig/ark_email/models/email_retrieve_deliveries_response.rbs +117 -0
- data/sig/ark_email/models/email_retrieve_params.rbs +25 -0
- data/sig/ark_email/models/email_retrieve_response.rbs +232 -0
- data/sig/ark_email/models/email_retry_params.rbs +15 -0
- data/sig/ark_email/models/email_retry_response.rbs +40 -0
- data/sig/ark_email/models/email_send_batch_params.rbs +81 -0
- data/sig/ark_email/models/email_send_batch_response.rbs +74 -0
- data/sig/ark_email/models/email_send_params.rbs +124 -0
- data/sig/ark_email/models/email_send_raw_params.rbs +32 -0
- data/sig/ark_email/models/email_send_raw_response.rbs +75 -0
- data/sig/ark_email/models/email_send_response.rbs +75 -0
- data/sig/ark_email/models/suppression_bulk_create_params.rbs +40 -0
- data/sig/ark_email/models/suppression_bulk_create_response.rbs +62 -0
- data/sig/ark_email/models/suppression_create_params.rbs +30 -0
- data/sig/ark_email/models/suppression_create_response.rbs +59 -0
- data/sig/ark_email/models/suppression_delete_params.rbs +15 -0
- data/sig/ark_email/models/suppression_delete_response.rbs +40 -0
- data/sig/ark_email/models/suppression_list_params.rbs +32 -0
- data/sig/ark_email/models/suppression_list_response.rbs +32 -0
- data/sig/ark_email/models/suppression_retrieve_params.rbs +15 -0
- data/sig/ark_email/models/suppression_retrieve_response.rbs +62 -0
- data/sig/ark_email/models/track_domain.rbs +122 -0
- data/sig/ark_email/models/tracking_create_params.rbs +52 -0
- data/sig/ark_email/models/tracking_create_response.rbs +26 -0
- data/sig/ark_email/models/tracking_delete_params.rbs +15 -0
- data/sig/ark_email/models/tracking_delete_response.rbs +40 -0
- data/sig/ark_email/models/tracking_list_params.rbs +15 -0
- data/sig/ark_email/models/tracking_list_response.rbs +40 -0
- data/sig/ark_email/models/tracking_retrieve_params.rbs +15 -0
- data/sig/ark_email/models/tracking_retrieve_response.rbs +26 -0
- data/sig/ark_email/models/tracking_update_params.rbs +49 -0
- data/sig/ark_email/models/tracking_update_response.rbs +26 -0
- data/sig/ark_email/models/tracking_verify_params.rbs +15 -0
- data/sig/ark_email/models/tracking_verify_response.rbs +109 -0
- data/sig/ark_email/models/webhook_create_params.rbs +75 -0
- data/sig/ark_email/models/webhook_create_response.rbs +107 -0
- data/sig/ark_email/models/webhook_delete_params.rbs +15 -0
- data/sig/ark_email/models/webhook_delete_response.rbs +40 -0
- data/sig/ark_email/models/webhook_list_params.rbs +15 -0
- data/sig/ark_email/models/webhook_list_response.rbs +84 -0
- data/sig/ark_email/models/webhook_retrieve_params.rbs +15 -0
- data/sig/ark_email/models/webhook_retrieve_response.rbs +107 -0
- data/sig/ark_email/models/webhook_test_params.rbs +49 -0
- data/sig/ark_email/models/webhook_test_response.rbs +72 -0
- data/sig/ark_email/models/webhook_update_params.rbs +56 -0
- data/sig/ark_email/models/webhook_update_response.rbs +107 -0
- data/sig/ark_email/models.rbs +65 -0
- data/sig/ark_email/request_options.rbs +34 -0
- data/sig/ark_email/resources/domains.rbs +31 -0
- data/sig/ark_email/resources/emails.rbs +65 -0
- data/sig/ark_email/resources/suppressions.rbs +34 -0
- data/sig/ark_email/resources/tracking.rbs +44 -0
- data/sig/ark_email/resources/webhooks.rbs +46 -0
- data/sig/ark_email/version.rbs +3 -0
- metadata +343 -0
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Resources
|
|
5
|
+
class Emails
|
|
6
|
+
# Some parameter documentations has been truncated, see
|
|
7
|
+
# {ArkEmail::Models::EmailRetrieveParams} for more details.
|
|
8
|
+
#
|
|
9
|
+
# Retrieve detailed information about a specific email including delivery status,
|
|
10
|
+
# timestamps, and optionally the email content.
|
|
11
|
+
#
|
|
12
|
+
# Use the `expand` parameter to include additional data like the HTML/text body,
|
|
13
|
+
# headers, or delivery attempts.
|
|
14
|
+
#
|
|
15
|
+
# @overload retrieve(email_id, expand: nil, request_options: {})
|
|
16
|
+
#
|
|
17
|
+
# @param email_id [String] The email ID (from send response) or message token
|
|
18
|
+
#
|
|
19
|
+
# @param expand [String] Comma-separated list of fields to include:
|
|
20
|
+
#
|
|
21
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
22
|
+
#
|
|
23
|
+
# @return [ArkEmail::Models::EmailRetrieveResponse]
|
|
24
|
+
#
|
|
25
|
+
# @see ArkEmail::Models::EmailRetrieveParams
|
|
26
|
+
def retrieve(email_id, params = {})
|
|
27
|
+
parsed, options = ArkEmail::EmailRetrieveParams.dump_request(params)
|
|
28
|
+
@client.request(
|
|
29
|
+
method: :get,
|
|
30
|
+
path: ["emails/%1$s", email_id],
|
|
31
|
+
query: parsed,
|
|
32
|
+
model: ArkEmail::Models::EmailRetrieveResponse,
|
|
33
|
+
options: options
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Some parameter documentations has been truncated, see
|
|
38
|
+
# {ArkEmail::Models::EmailListParams} for more details.
|
|
39
|
+
#
|
|
40
|
+
# Retrieve a paginated list of sent emails. Results are ordered by send time,
|
|
41
|
+
# newest first.
|
|
42
|
+
#
|
|
43
|
+
# Use filters to narrow down results by status, recipient, sender, or tag.
|
|
44
|
+
#
|
|
45
|
+
# **Related endpoints:**
|
|
46
|
+
#
|
|
47
|
+
# - `GET /emails/{id}` - Get full details of a specific email
|
|
48
|
+
# - `POST /emails` - Send a new email
|
|
49
|
+
#
|
|
50
|
+
# @overload list(after: nil, before: nil, from: nil, page: nil, per_page: nil, status: nil, tag: nil, to: nil, request_options: {})
|
|
51
|
+
#
|
|
52
|
+
# @param after [String] Return emails sent after this timestamp (Unix seconds or ISO 8601)
|
|
53
|
+
#
|
|
54
|
+
# @param before [String] Return emails sent before this timestamp
|
|
55
|
+
#
|
|
56
|
+
# @param from [String] Filter by sender email address
|
|
57
|
+
#
|
|
58
|
+
# @param page [Integer] Page number (starts at 1)
|
|
59
|
+
#
|
|
60
|
+
# @param per_page [Integer] Results per page (max 100)
|
|
61
|
+
#
|
|
62
|
+
# @param status [Symbol, ArkEmail::Models::EmailListParams::Status] Filter by delivery status:
|
|
63
|
+
#
|
|
64
|
+
# @param tag [String] Filter by tag
|
|
65
|
+
#
|
|
66
|
+
# @param to [String] Filter by recipient email address
|
|
67
|
+
#
|
|
68
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
69
|
+
#
|
|
70
|
+
# @return [ArkEmail::Internal::PageNumberPagination<ArkEmail::Models::EmailListResponse>]
|
|
71
|
+
#
|
|
72
|
+
# @see ArkEmail::Models::EmailListParams
|
|
73
|
+
def list(params = {})
|
|
74
|
+
parsed, options = ArkEmail::EmailListParams.dump_request(params)
|
|
75
|
+
@client.request(
|
|
76
|
+
method: :get,
|
|
77
|
+
path: "emails",
|
|
78
|
+
query: parsed.transform_keys(per_page: "perPage"),
|
|
79
|
+
page: ArkEmail::Internal::PageNumberPagination,
|
|
80
|
+
model: ArkEmail::Models::EmailListResponse,
|
|
81
|
+
options: options
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# Get the history of delivery attempts for an email, including SMTP response codes
|
|
86
|
+
# and timestamps.
|
|
87
|
+
#
|
|
88
|
+
# @overload retrieve_deliveries(email_id, request_options: {})
|
|
89
|
+
#
|
|
90
|
+
# @param email_id [String]
|
|
91
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
92
|
+
#
|
|
93
|
+
# @return [ArkEmail::Models::EmailRetrieveDeliveriesResponse]
|
|
94
|
+
#
|
|
95
|
+
# @see ArkEmail::Models::EmailRetrieveDeliveriesParams
|
|
96
|
+
def retrieve_deliveries(email_id, params = {})
|
|
97
|
+
@client.request(
|
|
98
|
+
method: :get,
|
|
99
|
+
path: ["emails/%1$s/deliveries", email_id],
|
|
100
|
+
model: ArkEmail::Models::EmailRetrieveDeliveriesResponse,
|
|
101
|
+
options: params[:request_options]
|
|
102
|
+
)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Retry delivery of a failed or soft-bounced email. Creates a new delivery
|
|
106
|
+
# attempt.
|
|
107
|
+
#
|
|
108
|
+
# Only works for emails that have failed or are in a retryable state.
|
|
109
|
+
#
|
|
110
|
+
# @overload retry_(email_id, request_options: {})
|
|
111
|
+
#
|
|
112
|
+
# @param email_id [String]
|
|
113
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
114
|
+
#
|
|
115
|
+
# @return [ArkEmail::Models::EmailRetryResponse]
|
|
116
|
+
#
|
|
117
|
+
# @see ArkEmail::Models::EmailRetryParams
|
|
118
|
+
def retry_(email_id, params = {})
|
|
119
|
+
@client.request(
|
|
120
|
+
method: :post,
|
|
121
|
+
path: ["emails/%1$s/retry", email_id],
|
|
122
|
+
model: ArkEmail::Models::EmailRetryResponse,
|
|
123
|
+
options: params[:request_options]
|
|
124
|
+
)
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# Some parameter documentations has been truncated, see
|
|
128
|
+
# {ArkEmail::Models::EmailSendParams} for more details.
|
|
129
|
+
#
|
|
130
|
+
# Send a single email message. The email is accepted for immediate delivery and
|
|
131
|
+
# typically delivered within seconds.
|
|
132
|
+
#
|
|
133
|
+
# **Example use case:** Send a password reset email to a user.
|
|
134
|
+
#
|
|
135
|
+
# **Required fields:** `from`, `to`, `subject`, and either `html` or `text`
|
|
136
|
+
#
|
|
137
|
+
# **Idempotency:** Supports `Idempotency-Key` header for safe retries.
|
|
138
|
+
#
|
|
139
|
+
# **Related endpoints:**
|
|
140
|
+
#
|
|
141
|
+
# - `GET /emails/{id}` - Track delivery status
|
|
142
|
+
# - `GET /emails/{id}/deliveries` - View delivery attempts
|
|
143
|
+
# - `POST /emails/{id}/retry` - Retry failed delivery
|
|
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: {})
|
|
146
|
+
#
|
|
147
|
+
# @param from [String] Body param: Sender email address. Must be from a verified domain.
|
|
148
|
+
#
|
|
149
|
+
# @param subject [String] Body param: Email subject line
|
|
150
|
+
#
|
|
151
|
+
# @param to [Array<String>] Body param: Recipient email addresses (max 50)
|
|
152
|
+
#
|
|
153
|
+
# @param attachments [Array<ArkEmail::Models::EmailSendParams::Attachment>] Body param: File attachments
|
|
154
|
+
#
|
|
155
|
+
# @param bcc [Array<String>] Body param: BCC recipients
|
|
156
|
+
#
|
|
157
|
+
# @param cc [Array<String>] Body param: CC recipients
|
|
158
|
+
#
|
|
159
|
+
# @param headers [Hash{Symbol=>String}] Body param: Custom email headers
|
|
160
|
+
#
|
|
161
|
+
# @param html [String] Body param: HTML body content.
|
|
162
|
+
#
|
|
163
|
+
# @param reply_to [String] Body param: Reply-to address
|
|
164
|
+
#
|
|
165
|
+
# @param tag [String] Body param: Tag for categorization and filtering
|
|
166
|
+
#
|
|
167
|
+
# @param text [String] Body param: Plain text body (auto-generated from HTML if not provided).
|
|
168
|
+
#
|
|
169
|
+
# @param idempotency_key [String] Header param: Unique key for idempotent requests. If a request with this key was
|
|
170
|
+
#
|
|
171
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
172
|
+
#
|
|
173
|
+
# @return [ArkEmail::Models::EmailSendResponse]
|
|
174
|
+
#
|
|
175
|
+
# @see ArkEmail::Models::EmailSendParams
|
|
176
|
+
def send_(params)
|
|
177
|
+
parsed, options = ArkEmail::EmailSendParams.dump_request(params)
|
|
178
|
+
header_params = {idempotency_key: "idempotency-key"}
|
|
179
|
+
@client.request(
|
|
180
|
+
method: :post,
|
|
181
|
+
path: "emails",
|
|
182
|
+
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
183
|
+
body: parsed.except(*header_params.keys),
|
|
184
|
+
model: ArkEmail::Models::EmailSendResponse,
|
|
185
|
+
options: options
|
|
186
|
+
)
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
# Some parameter documentations has been truncated, see
|
|
190
|
+
# {ArkEmail::Models::EmailSendBatchParams} for more details.
|
|
191
|
+
#
|
|
192
|
+
# Send up to 100 emails in a single request. Useful for sending personalized
|
|
193
|
+
# emails to multiple recipients efficiently.
|
|
194
|
+
#
|
|
195
|
+
# Each email in the batch can have different content and recipients. Failed emails
|
|
196
|
+
# don't affect other emails in the batch.
|
|
197
|
+
#
|
|
198
|
+
# **Idempotency:** Supports `Idempotency-Key` header for safe retries.
|
|
199
|
+
#
|
|
200
|
+
# @overload send_batch(emails:, from:, idempotency_key: nil, request_options: {})
|
|
201
|
+
#
|
|
202
|
+
# @param emails [Array<ArkEmail::Models::EmailSendBatchParams::Email>] Body param:
|
|
203
|
+
#
|
|
204
|
+
# @param from [String] Body param: Sender email for all messages
|
|
205
|
+
#
|
|
206
|
+
# @param idempotency_key [String] Header param: Unique key for idempotent requests. If a request with this key was
|
|
207
|
+
#
|
|
208
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
209
|
+
#
|
|
210
|
+
# @return [ArkEmail::Models::EmailSendBatchResponse]
|
|
211
|
+
#
|
|
212
|
+
# @see ArkEmail::Models::EmailSendBatchParams
|
|
213
|
+
def send_batch(params)
|
|
214
|
+
parsed, options = ArkEmail::EmailSendBatchParams.dump_request(params)
|
|
215
|
+
header_params = {idempotency_key: "idempotency-key"}
|
|
216
|
+
@client.request(
|
|
217
|
+
method: :post,
|
|
218
|
+
path: "emails/batch",
|
|
219
|
+
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
220
|
+
body: parsed.except(*header_params.keys),
|
|
221
|
+
model: ArkEmail::Models::EmailSendBatchResponse,
|
|
222
|
+
options: options
|
|
223
|
+
)
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
# Send a pre-formatted RFC 2822 MIME message. Use this for advanced use cases or
|
|
227
|
+
# when migrating from systems that generate raw email content.
|
|
228
|
+
#
|
|
229
|
+
# The `data` field should contain the base64-encoded raw email.
|
|
230
|
+
#
|
|
231
|
+
# @overload send_raw(data:, mail_from:, rcpt_to:, request_options: {})
|
|
232
|
+
#
|
|
233
|
+
# @param data [String] Base64-encoded RFC 2822 message
|
|
234
|
+
#
|
|
235
|
+
# @param mail_from [String] Envelope sender address
|
|
236
|
+
#
|
|
237
|
+
# @param rcpt_to [Array<String>] Envelope recipient addresses
|
|
238
|
+
#
|
|
239
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
240
|
+
#
|
|
241
|
+
# @return [ArkEmail::Models::EmailSendRawResponse]
|
|
242
|
+
#
|
|
243
|
+
# @see ArkEmail::Models::EmailSendRawParams
|
|
244
|
+
def send_raw(params)
|
|
245
|
+
parsed, options = ArkEmail::EmailSendRawParams.dump_request(params)
|
|
246
|
+
@client.request(
|
|
247
|
+
method: :post,
|
|
248
|
+
path: "emails/raw",
|
|
249
|
+
body: parsed,
|
|
250
|
+
model: ArkEmail::Models::EmailSendRawResponse,
|
|
251
|
+
options: options
|
|
252
|
+
)
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
# @api private
|
|
256
|
+
#
|
|
257
|
+
# @param client [ArkEmail::Client]
|
|
258
|
+
def initialize(client:)
|
|
259
|
+
@client = client
|
|
260
|
+
end
|
|
261
|
+
end
|
|
262
|
+
end
|
|
263
|
+
end
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Resources
|
|
5
|
+
class Suppressions
|
|
6
|
+
# Add an email address to the suppression list. The address will not receive any
|
|
7
|
+
# emails until removed.
|
|
8
|
+
#
|
|
9
|
+
# @overload create(address:, reason: nil, request_options: {})
|
|
10
|
+
#
|
|
11
|
+
# @param address [String] Email address to suppress
|
|
12
|
+
#
|
|
13
|
+
# @param reason [String] Reason for suppression
|
|
14
|
+
#
|
|
15
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
16
|
+
#
|
|
17
|
+
# @return [ArkEmail::Models::SuppressionCreateResponse]
|
|
18
|
+
#
|
|
19
|
+
# @see ArkEmail::Models::SuppressionCreateParams
|
|
20
|
+
def create(params)
|
|
21
|
+
parsed, options = ArkEmail::SuppressionCreateParams.dump_request(params)
|
|
22
|
+
@client.request(
|
|
23
|
+
method: :post,
|
|
24
|
+
path: "suppressions",
|
|
25
|
+
body: parsed,
|
|
26
|
+
model: ArkEmail::Models::SuppressionCreateResponse,
|
|
27
|
+
options: options
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Check if a specific email address is on the suppression list
|
|
32
|
+
#
|
|
33
|
+
# @overload retrieve(email, request_options: {})
|
|
34
|
+
#
|
|
35
|
+
# @param email [String] Email address (URL-encoded)
|
|
36
|
+
#
|
|
37
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
38
|
+
#
|
|
39
|
+
# @return [ArkEmail::Models::SuppressionRetrieveResponse]
|
|
40
|
+
#
|
|
41
|
+
# @see ArkEmail::Models::SuppressionRetrieveParams
|
|
42
|
+
def retrieve(email, params = {})
|
|
43
|
+
@client.request(
|
|
44
|
+
method: :get,
|
|
45
|
+
path: ["suppressions/%1$s", email],
|
|
46
|
+
model: ArkEmail::Models::SuppressionRetrieveResponse,
|
|
47
|
+
options: params[:request_options]
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Get all email addresses on the suppression list. These addresses will not
|
|
52
|
+
# receive any emails.
|
|
53
|
+
#
|
|
54
|
+
# @overload list(page: nil, per_page: nil, request_options: {})
|
|
55
|
+
#
|
|
56
|
+
# @param page [Integer]
|
|
57
|
+
# @param per_page [Integer]
|
|
58
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
59
|
+
#
|
|
60
|
+
# @return [ArkEmail::Internal::PageNumberPagination<ArkEmail::Models::SuppressionListResponse>]
|
|
61
|
+
#
|
|
62
|
+
# @see ArkEmail::Models::SuppressionListParams
|
|
63
|
+
def list(params = {})
|
|
64
|
+
parsed, options = ArkEmail::SuppressionListParams.dump_request(params)
|
|
65
|
+
@client.request(
|
|
66
|
+
method: :get,
|
|
67
|
+
path: "suppressions",
|
|
68
|
+
query: parsed.transform_keys(per_page: "perPage"),
|
|
69
|
+
page: ArkEmail::Internal::PageNumberPagination,
|
|
70
|
+
model: ArkEmail::Models::SuppressionListResponse,
|
|
71
|
+
options: options
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Remove an email address from the suppression list. The address will be able to
|
|
76
|
+
# receive emails again.
|
|
77
|
+
#
|
|
78
|
+
# @overload delete(email, request_options: {})
|
|
79
|
+
#
|
|
80
|
+
# @param email [String]
|
|
81
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
82
|
+
#
|
|
83
|
+
# @return [ArkEmail::Models::SuppressionDeleteResponse]
|
|
84
|
+
#
|
|
85
|
+
# @see ArkEmail::Models::SuppressionDeleteParams
|
|
86
|
+
def delete(email, params = {})
|
|
87
|
+
@client.request(
|
|
88
|
+
method: :delete,
|
|
89
|
+
path: ["suppressions/%1$s", email],
|
|
90
|
+
model: ArkEmail::Models::SuppressionDeleteResponse,
|
|
91
|
+
options: params[:request_options]
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Add up to 1000 email addresses to the suppression list at once
|
|
96
|
+
#
|
|
97
|
+
# @overload bulk_create(suppressions:, request_options: {})
|
|
98
|
+
#
|
|
99
|
+
# @param suppressions [Array<ArkEmail::Models::SuppressionBulkCreateParams::Suppression>]
|
|
100
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
101
|
+
#
|
|
102
|
+
# @return [ArkEmail::Models::SuppressionBulkCreateResponse]
|
|
103
|
+
#
|
|
104
|
+
# @see ArkEmail::Models::SuppressionBulkCreateParams
|
|
105
|
+
def bulk_create(params)
|
|
106
|
+
parsed, options = ArkEmail::SuppressionBulkCreateParams.dump_request(params)
|
|
107
|
+
@client.request(
|
|
108
|
+
method: :post,
|
|
109
|
+
path: "suppressions/bulk",
|
|
110
|
+
body: parsed,
|
|
111
|
+
model: ArkEmail::Models::SuppressionBulkCreateResponse,
|
|
112
|
+
options: options
|
|
113
|
+
)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# @api private
|
|
117
|
+
#
|
|
118
|
+
# @param client [ArkEmail::Client]
|
|
119
|
+
def initialize(client:)
|
|
120
|
+
@client = client
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ArkEmail
|
|
4
|
+
module Resources
|
|
5
|
+
class Tracking
|
|
6
|
+
# Create a new track domain for open/click tracking.
|
|
7
|
+
#
|
|
8
|
+
# After creation, you must configure a CNAME record pointing to the provided DNS
|
|
9
|
+
# value before tracking will work.
|
|
10
|
+
#
|
|
11
|
+
# @overload create(domain_id:, name:, ssl_enabled: nil, track_clicks: nil, track_opens: nil, request_options: {})
|
|
12
|
+
#
|
|
13
|
+
# @param domain_id [String] ID of the sending domain to attach this track domain to
|
|
14
|
+
#
|
|
15
|
+
# @param name [String] Subdomain name (e.g., 'track' for track.yourdomain.com)
|
|
16
|
+
#
|
|
17
|
+
# @param ssl_enabled [Boolean] Enable SSL for tracking URLs (recommended)
|
|
18
|
+
#
|
|
19
|
+
# @param track_clicks [Boolean] Enable click tracking
|
|
20
|
+
#
|
|
21
|
+
# @param track_opens [Boolean] Enable open tracking (tracking pixel)
|
|
22
|
+
#
|
|
23
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
24
|
+
#
|
|
25
|
+
# @return [ArkEmail::Models::TrackingCreateResponse]
|
|
26
|
+
#
|
|
27
|
+
# @see ArkEmail::Models::TrackingCreateParams
|
|
28
|
+
def create(params)
|
|
29
|
+
parsed, options = ArkEmail::TrackingCreateParams.dump_request(params)
|
|
30
|
+
@client.request(
|
|
31
|
+
method: :post,
|
|
32
|
+
path: "tracking",
|
|
33
|
+
body: parsed,
|
|
34
|
+
model: ArkEmail::Models::TrackingCreateResponse,
|
|
35
|
+
options: options
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Get details of a specific track domain including DNS configuration
|
|
40
|
+
#
|
|
41
|
+
# @overload retrieve(tracking_id, request_options: {})
|
|
42
|
+
#
|
|
43
|
+
# @param tracking_id [String] Track domain ID or UUID
|
|
44
|
+
#
|
|
45
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
46
|
+
#
|
|
47
|
+
# @return [ArkEmail::Models::TrackingRetrieveResponse]
|
|
48
|
+
#
|
|
49
|
+
# @see ArkEmail::Models::TrackingRetrieveParams
|
|
50
|
+
def retrieve(tracking_id, params = {})
|
|
51
|
+
@client.request(
|
|
52
|
+
method: :get,
|
|
53
|
+
path: ["tracking/%1$s", tracking_id],
|
|
54
|
+
model: ArkEmail::Models::TrackingRetrieveResponse,
|
|
55
|
+
options: params[:request_options]
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Update track domain settings.
|
|
60
|
+
#
|
|
61
|
+
# Use this to:
|
|
62
|
+
#
|
|
63
|
+
# - Enable/disable click tracking
|
|
64
|
+
# - Enable/disable open tracking
|
|
65
|
+
# - Enable/disable SSL
|
|
66
|
+
# - Set excluded click domains
|
|
67
|
+
#
|
|
68
|
+
# @overload update(tracking_id, excluded_click_domains: nil, ssl_enabled: nil, track_clicks: nil, track_opens: nil, request_options: {})
|
|
69
|
+
#
|
|
70
|
+
# @param tracking_id [String] Track domain ID or UUID
|
|
71
|
+
#
|
|
72
|
+
# @param excluded_click_domains [String] Comma-separated list of domains to exclude from click tracking
|
|
73
|
+
#
|
|
74
|
+
# @param ssl_enabled [Boolean] Enable or disable SSL for tracking URLs
|
|
75
|
+
#
|
|
76
|
+
# @param track_clicks [Boolean] Enable or disable click tracking
|
|
77
|
+
#
|
|
78
|
+
# @param track_opens [Boolean] Enable or disable open tracking
|
|
79
|
+
#
|
|
80
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
81
|
+
#
|
|
82
|
+
# @return [ArkEmail::Models::TrackingUpdateResponse]
|
|
83
|
+
#
|
|
84
|
+
# @see ArkEmail::Models::TrackingUpdateParams
|
|
85
|
+
def update(tracking_id, params = {})
|
|
86
|
+
parsed, options = ArkEmail::TrackingUpdateParams.dump_request(params)
|
|
87
|
+
@client.request(
|
|
88
|
+
method: :patch,
|
|
89
|
+
path: ["tracking/%1$s", tracking_id],
|
|
90
|
+
body: parsed,
|
|
91
|
+
model: ArkEmail::Models::TrackingUpdateResponse,
|
|
92
|
+
options: options
|
|
93
|
+
)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# List all track domains configured for your server. Track domains enable open and
|
|
97
|
+
# click tracking for your emails.
|
|
98
|
+
#
|
|
99
|
+
# @overload list(request_options: {})
|
|
100
|
+
#
|
|
101
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
102
|
+
#
|
|
103
|
+
# @return [ArkEmail::Models::TrackingListResponse]
|
|
104
|
+
#
|
|
105
|
+
# @see ArkEmail::Models::TrackingListParams
|
|
106
|
+
def list(params = {})
|
|
107
|
+
@client.request(
|
|
108
|
+
method: :get,
|
|
109
|
+
path: "tracking",
|
|
110
|
+
model: ArkEmail::Models::TrackingListResponse,
|
|
111
|
+
options: params[:request_options]
|
|
112
|
+
)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Delete a track domain. This will disable tracking for any emails using this
|
|
116
|
+
# domain.
|
|
117
|
+
#
|
|
118
|
+
# @overload delete(tracking_id, request_options: {})
|
|
119
|
+
#
|
|
120
|
+
# @param tracking_id [String] Track domain ID or UUID
|
|
121
|
+
#
|
|
122
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
123
|
+
#
|
|
124
|
+
# @return [ArkEmail::Models::TrackingDeleteResponse]
|
|
125
|
+
#
|
|
126
|
+
# @see ArkEmail::Models::TrackingDeleteParams
|
|
127
|
+
def delete(tracking_id, params = {})
|
|
128
|
+
@client.request(
|
|
129
|
+
method: :delete,
|
|
130
|
+
path: ["tracking/%1$s", tracking_id],
|
|
131
|
+
model: ArkEmail::Models::TrackingDeleteResponse,
|
|
132
|
+
options: params[:request_options]
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
# Check DNS configuration for the track domain.
|
|
137
|
+
#
|
|
138
|
+
# The track domain requires a CNAME record to be configured before open and click
|
|
139
|
+
# tracking will work. Use this endpoint to verify the DNS is correctly set up.
|
|
140
|
+
#
|
|
141
|
+
# @overload verify(tracking_id, request_options: {})
|
|
142
|
+
#
|
|
143
|
+
# @param tracking_id [String] Track domain ID or UUID
|
|
144
|
+
#
|
|
145
|
+
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
146
|
+
#
|
|
147
|
+
# @return [ArkEmail::Models::TrackingVerifyResponse]
|
|
148
|
+
#
|
|
149
|
+
# @see ArkEmail::Models::TrackingVerifyParams
|
|
150
|
+
def verify(tracking_id, params = {})
|
|
151
|
+
@client.request(
|
|
152
|
+
method: :post,
|
|
153
|
+
path: ["tracking/%1$s/verify", tracking_id],
|
|
154
|
+
model: ArkEmail::Models::TrackingVerifyResponse,
|
|
155
|
+
options: params[:request_options]
|
|
156
|
+
)
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# @api private
|
|
160
|
+
#
|
|
161
|
+
# @param client [ArkEmail::Client]
|
|
162
|
+
def initialize(client:)
|
|
163
|
+
@client = client
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|