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.
Files changed (272) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +71 -0
  4. data/README.md +303 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/ark_email/client.rb +102 -0
  7. data/lib/ark_email/errors.rb +228 -0
  8. data/lib/ark_email/file_part.rb +58 -0
  9. data/lib/ark_email/internal/page_number_pagination.rb +121 -0
  10. data/lib/ark_email/internal/transport/base_client.rb +573 -0
  11. data/lib/ark_email/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/ark_email/internal/type/array_of.rb +168 -0
  13. data/lib/ark_email/internal/type/base_model.rb +529 -0
  14. data/lib/ark_email/internal/type/base_page.rb +55 -0
  15. data/lib/ark_email/internal/type/boolean.rb +77 -0
  16. data/lib/ark_email/internal/type/converter.rb +327 -0
  17. data/lib/ark_email/internal/type/enum.rb +131 -0
  18. data/lib/ark_email/internal/type/file_input.rb +111 -0
  19. data/lib/ark_email/internal/type/hash_of.rb +188 -0
  20. data/lib/ark_email/internal/type/request_parameters.rb +42 -0
  21. data/lib/ark_email/internal/type/union.rb +237 -0
  22. data/lib/ark_email/internal/type/unknown.rb +81 -0
  23. data/lib/ark_email/internal/util.rb +920 -0
  24. data/lib/ark_email/internal.rb +20 -0
  25. data/lib/ark_email/models/api_meta.rb +16 -0
  26. data/lib/ark_email/models/dns_record.rb +81 -0
  27. data/lib/ark_email/models/domain_create_params.rb +22 -0
  28. data/lib/ark_email/models/domain_create_response.rb +110 -0
  29. data/lib/ark_email/models/domain_delete_params.rb +14 -0
  30. data/lib/ark_email/models/domain_delete_response.rb +39 -0
  31. data/lib/ark_email/models/domain_list_params.rb +14 -0
  32. data/lib/ark_email/models/domain_list_response.rb +72 -0
  33. data/lib/ark_email/models/domain_retrieve_params.rb +14 -0
  34. data/lib/ark_email/models/domain_retrieve_response.rb +110 -0
  35. data/lib/ark_email/models/domain_verify_params.rb +14 -0
  36. data/lib/ark_email/models/domain_verify_response.rb +110 -0
  37. data/lib/ark_email/models/email_list_params.rb +110 -0
  38. data/lib/ark_email/models/email_list_response.rb +108 -0
  39. data/lib/ark_email/models/email_retrieve_deliveries_params.rb +14 -0
  40. data/lib/ark_email/models/email_retrieve_deliveries_response.rb +123 -0
  41. data/lib/ark_email/models/email_retrieve_params.rb +30 -0
  42. data/lib/ark_email/models/email_retrieve_response.rb +285 -0
  43. data/lib/ark_email/models/email_retry_params.rb +14 -0
  44. data/lib/ark_email/models/email_retry_response.rb +39 -0
  45. data/lib/ark_email/models/email_send_batch_params.rb +70 -0
  46. data/lib/ark_email/models/email_send_batch_response.rb +83 -0
  47. data/lib/ark_email/models/email_send_params.rb +149 -0
  48. data/lib/ark_email/models/email_send_raw_params.rb +38 -0
  49. data/lib/ark_email/models/email_send_raw_response.rb +77 -0
  50. data/lib/ark_email/models/email_send_response.rb +77 -0
  51. data/lib/ark_email/models/suppression_bulk_create_params.rb +37 -0
  52. data/lib/ark_email/models/suppression_bulk_create_response.rb +64 -0
  53. data/lib/ark_email/models/suppression_create_params.rb +30 -0
  54. data/lib/ark_email/models/suppression_create_response.rb +62 -0
  55. data/lib/ark_email/models/suppression_delete_params.rb +14 -0
  56. data/lib/ark_email/models/suppression_delete_response.rb +39 -0
  57. data/lib/ark_email/models/suppression_list_params.rb +26 -0
  58. data/lib/ark_email/models/suppression_list_response.rb +38 -0
  59. data/lib/ark_email/models/suppression_retrieve_params.rb +14 -0
  60. data/lib/ark_email/models/suppression_retrieve_response.rb +64 -0
  61. data/lib/ark_email/models/track_domain.rb +172 -0
  62. data/lib/ark_email/models/tracking_create_params.rb +54 -0
  63. data/lib/ark_email/models/tracking_create_response.rb +28 -0
  64. data/lib/ark_email/models/tracking_delete_params.rb +14 -0
  65. data/lib/ark_email/models/tracking_delete_response.rb +39 -0
  66. data/lib/ark_email/models/tracking_list_params.rb +14 -0
  67. data/lib/ark_email/models/tracking_list_response.rb +41 -0
  68. data/lib/ark_email/models/tracking_retrieve_params.rb +14 -0
  69. data/lib/ark_email/models/tracking_retrieve_response.rb +28 -0
  70. data/lib/ark_email/models/tracking_update_params.rb +46 -0
  71. data/lib/ark_email/models/tracking_update_response.rb +28 -0
  72. data/lib/ark_email/models/tracking_verify_params.rb +14 -0
  73. data/lib/ark_email/models/tracking_verify_response.rb +133 -0
  74. data/lib/ark_email/models/webhook_create_params.rb +81 -0
  75. data/lib/ark_email/models/webhook_create_response.rb +111 -0
  76. data/lib/ark_email/models/webhook_delete_params.rb +14 -0
  77. data/lib/ark_email/models/webhook_delete_response.rb +39 -0
  78. data/lib/ark_email/models/webhook_list_params.rb +14 -0
  79. data/lib/ark_email/models/webhook_list_response.rb +79 -0
  80. data/lib/ark_email/models/webhook_retrieve_params.rb +14 -0
  81. data/lib/ark_email/models/webhook_retrieve_response.rb +111 -0
  82. data/lib/ark_email/models/webhook_test_params.rb +39 -0
  83. data/lib/ark_email/models/webhook_test_response.rb +80 -0
  84. data/lib/ark_email/models/webhook_update_params.rb +44 -0
  85. data/lib/ark_email/models/webhook_update_response.rb +111 -0
  86. data/lib/ark_email/models.rb +105 -0
  87. data/lib/ark_email/request_options.rb +77 -0
  88. data/lib/ark_email/resources/domains.rb +127 -0
  89. data/lib/ark_email/resources/emails.rb +263 -0
  90. data/lib/ark_email/resources/suppressions.rb +124 -0
  91. data/lib/ark_email/resources/tracking.rb +167 -0
  92. data/lib/ark_email/resources/webhooks.rb +175 -0
  93. data/lib/ark_email/version.rb +5 -0
  94. data/lib/ark_email.rb +122 -0
  95. data/manifest.yaml +17 -0
  96. data/rbi/ark_email/client.rbi +73 -0
  97. data/rbi/ark_email/errors.rbi +205 -0
  98. data/rbi/ark_email/file_part.rbi +37 -0
  99. data/rbi/ark_email/internal/page_number_pagination.rbi +52 -0
  100. data/rbi/ark_email/internal/transport/base_client.rbi +297 -0
  101. data/rbi/ark_email/internal/transport/pooled_net_requester.rbi +83 -0
  102. data/rbi/ark_email/internal/type/array_of.rbi +104 -0
  103. data/rbi/ark_email/internal/type/base_model.rbi +306 -0
  104. data/rbi/ark_email/internal/type/base_page.rbi +42 -0
  105. data/rbi/ark_email/internal/type/boolean.rbi +58 -0
  106. data/rbi/ark_email/internal/type/converter.rbi +216 -0
  107. data/rbi/ark_email/internal/type/enum.rbi +82 -0
  108. data/rbi/ark_email/internal/type/file_input.rbi +59 -0
  109. data/rbi/ark_email/internal/type/hash_of.rbi +104 -0
  110. data/rbi/ark_email/internal/type/request_parameters.rbi +29 -0
  111. data/rbi/ark_email/internal/type/union.rbi +128 -0
  112. data/rbi/ark_email/internal/type/unknown.rbi +58 -0
  113. data/rbi/ark_email/internal/util.rbi +487 -0
  114. data/rbi/ark_email/internal.rbi +16 -0
  115. data/rbi/ark_email/models/api_meta.rbi +25 -0
  116. data/rbi/ark_email/models/dns_record.rbi +111 -0
  117. data/rbi/ark_email/models/domain_create_params.rbi +40 -0
  118. data/rbi/ark_email/models/domain_create_response.rbi +193 -0
  119. data/rbi/ark_email/models/domain_delete_params.rbi +27 -0
  120. data/rbi/ark_email/models/domain_delete_response.rbi +75 -0
  121. data/rbi/ark_email/models/domain_list_params.rbi +27 -0
  122. data/rbi/ark_email/models/domain_list_response.rbi +144 -0
  123. data/rbi/ark_email/models/domain_retrieve_params.rbi +27 -0
  124. data/rbi/ark_email/models/domain_retrieve_response.rbi +195 -0
  125. data/rbi/ark_email/models/domain_verify_params.rbi +27 -0
  126. data/rbi/ark_email/models/domain_verify_response.rbi +193 -0
  127. data/rbi/ark_email/models/email_list_params.rbi +172 -0
  128. data/rbi/ark_email/models/email_list_response.rbi +164 -0
  129. data/rbi/ark_email/models/email_retrieve_deliveries_params.rbi +30 -0
  130. data/rbi/ark_email/models/email_retrieve_deliveries_response.rbi +220 -0
  131. data/rbi/ark_email/models/email_retrieve_params.rbi +53 -0
  132. data/rbi/ark_email/models/email_retrieve_response.rbi +490 -0
  133. data/rbi/ark_email/models/email_retry_params.rbi +27 -0
  134. data/rbi/ark_email/models/email_retry_response.rbi +75 -0
  135. data/rbi/ark_email/models/email_send_batch_params.rbi +118 -0
  136. data/rbi/ark_email/models/email_send_batch_response.rbi +159 -0
  137. data/rbi/ark_email/models/email_send_params.rbi +229 -0
  138. data/rbi/ark_email/models/email_send_raw_params.rbi +59 -0
  139. data/rbi/ark_email/models/email_send_raw_response.rbi +157 -0
  140. data/rbi/ark_email/models/email_send_response.rbi +153 -0
  141. data/rbi/ark_email/models/suppression_bulk_create_params.rbi +76 -0
  142. data/rbi/ark_email/models/suppression_bulk_create_response.rbi +115 -0
  143. data/rbi/ark_email/models/suppression_create_params.rbi +54 -0
  144. data/rbi/ark_email/models/suppression_create_response.rbi +109 -0
  145. data/rbi/ark_email/models/suppression_delete_params.rbi +27 -0
  146. data/rbi/ark_email/models/suppression_delete_response.rbi +77 -0
  147. data/rbi/ark_email/models/suppression_list_params.rbi +49 -0
  148. data/rbi/ark_email/models/suppression_list_response.rbi +56 -0
  149. data/rbi/ark_email/models/suppression_retrieve_params.rbi +30 -0
  150. data/rbi/ark_email/models/suppression_retrieve_response.rbi +115 -0
  151. data/rbi/ark_email/models/track_domain.rbi +228 -0
  152. data/rbi/ark_email/models/tracking_create_params.rbi +84 -0
  153. data/rbi/ark_email/models/tracking_create_response.rbi +52 -0
  154. data/rbi/ark_email/models/tracking_delete_params.rbi +27 -0
  155. data/rbi/ark_email/models/tracking_delete_response.rbi +77 -0
  156. data/rbi/ark_email/models/tracking_list_params.rbi +27 -0
  157. data/rbi/ark_email/models/tracking_list_response.rbi +81 -0
  158. data/rbi/ark_email/models/tracking_retrieve_params.rbi +27 -0
  159. data/rbi/ark_email/models/tracking_retrieve_response.rbi +52 -0
  160. data/rbi/ark_email/models/tracking_update_params.rbi +79 -0
  161. data/rbi/ark_email/models/tracking_update_response.rbi +52 -0
  162. data/rbi/ark_email/models/tracking_verify_params.rbi +27 -0
  163. data/rbi/ark_email/models/tracking_verify_response.rbi +254 -0
  164. data/rbi/ark_email/models/webhook_create_params.rbi +154 -0
  165. data/rbi/ark_email/models/webhook_create_response.rbi +217 -0
  166. data/rbi/ark_email/models/webhook_delete_params.rbi +27 -0
  167. data/rbi/ark_email/models/webhook_delete_response.rbi +75 -0
  168. data/rbi/ark_email/models/webhook_list_params.rbi +27 -0
  169. data/rbi/ark_email/models/webhook_list_response.rbi +152 -0
  170. data/rbi/ark_email/models/webhook_retrieve_params.rbi +27 -0
  171. data/rbi/ark_email/models/webhook_retrieve_response.rbi +219 -0
  172. data/rbi/ark_email/models/webhook_test_params.rbi +95 -0
  173. data/rbi/ark_email/models/webhook_test_response.rbi +129 -0
  174. data/rbi/ark_email/models/webhook_update_params.rbi +80 -0
  175. data/rbi/ark_email/models/webhook_update_response.rbi +217 -0
  176. data/rbi/ark_email/models.rbi +68 -0
  177. data/rbi/ark_email/request_options.rbi +59 -0
  178. data/rbi/ark_email/resources/domains.rbi +84 -0
  179. data/rbi/ark_email/resources/emails.rbi +237 -0
  180. data/rbi/ark_email/resources/suppressions.rbi +84 -0
  181. data/rbi/ark_email/resources/tracking.rbi +130 -0
  182. data/rbi/ark_email/resources/webhooks.rbi +137 -0
  183. data/rbi/ark_email/version.rbi +5 -0
  184. data/sig/ark_email/client.rbs +34 -0
  185. data/sig/ark_email/errors.rbs +117 -0
  186. data/sig/ark_email/file_part.rbs +21 -0
  187. data/sig/ark_email/internal/page_number_pagination.rbs +32 -0
  188. data/sig/ark_email/internal/transport/base_client.rbs +133 -0
  189. data/sig/ark_email/internal/transport/pooled_net_requester.rbs +48 -0
  190. data/sig/ark_email/internal/type/array_of.rbs +48 -0
  191. data/sig/ark_email/internal/type/base_model.rbs +102 -0
  192. data/sig/ark_email/internal/type/base_page.rbs +24 -0
  193. data/sig/ark_email/internal/type/boolean.rbs +26 -0
  194. data/sig/ark_email/internal/type/converter.rbs +79 -0
  195. data/sig/ark_email/internal/type/enum.rbs +32 -0
  196. data/sig/ark_email/internal/type/file_input.rbs +25 -0
  197. data/sig/ark_email/internal/type/hash_of.rbs +48 -0
  198. data/sig/ark_email/internal/type/request_parameters.rbs +17 -0
  199. data/sig/ark_email/internal/type/union.rbs +52 -0
  200. data/sig/ark_email/internal/type/unknown.rbs +26 -0
  201. data/sig/ark_email/internal/util.rbs +185 -0
  202. data/sig/ark_email/internal.rbs +9 -0
  203. data/sig/ark_email/models/api_meta.rbs +13 -0
  204. data/sig/ark_email/models/dns_record.rbs +59 -0
  205. data/sig/ark_email/models/domain_create_params.rbs +23 -0
  206. data/sig/ark_email/models/domain_create_response.rbs +104 -0
  207. data/sig/ark_email/models/domain_delete_params.rbs +15 -0
  208. data/sig/ark_email/models/domain_delete_response.rbs +40 -0
  209. data/sig/ark_email/models/domain_list_params.rbs +15 -0
  210. data/sig/ark_email/models/domain_list_response.rbs +71 -0
  211. data/sig/ark_email/models/domain_retrieve_params.rbs +15 -0
  212. data/sig/ark_email/models/domain_retrieve_response.rbs +104 -0
  213. data/sig/ark_email/models/domain_verify_params.rbs +15 -0
  214. data/sig/ark_email/models/domain_verify_response.rbs +104 -0
  215. data/sig/ark_email/models/email_list_params.rbs +94 -0
  216. data/sig/ark_email/models/email_list_response.rbs +77 -0
  217. data/sig/ark_email/models/email_retrieve_deliveries_params.rbs +15 -0
  218. data/sig/ark_email/models/email_retrieve_deliveries_response.rbs +117 -0
  219. data/sig/ark_email/models/email_retrieve_params.rbs +25 -0
  220. data/sig/ark_email/models/email_retrieve_response.rbs +232 -0
  221. data/sig/ark_email/models/email_retry_params.rbs +15 -0
  222. data/sig/ark_email/models/email_retry_response.rbs +40 -0
  223. data/sig/ark_email/models/email_send_batch_params.rbs +81 -0
  224. data/sig/ark_email/models/email_send_batch_response.rbs +74 -0
  225. data/sig/ark_email/models/email_send_params.rbs +124 -0
  226. data/sig/ark_email/models/email_send_raw_params.rbs +32 -0
  227. data/sig/ark_email/models/email_send_raw_response.rbs +75 -0
  228. data/sig/ark_email/models/email_send_response.rbs +75 -0
  229. data/sig/ark_email/models/suppression_bulk_create_params.rbs +40 -0
  230. data/sig/ark_email/models/suppression_bulk_create_response.rbs +62 -0
  231. data/sig/ark_email/models/suppression_create_params.rbs +30 -0
  232. data/sig/ark_email/models/suppression_create_response.rbs +59 -0
  233. data/sig/ark_email/models/suppression_delete_params.rbs +15 -0
  234. data/sig/ark_email/models/suppression_delete_response.rbs +40 -0
  235. data/sig/ark_email/models/suppression_list_params.rbs +32 -0
  236. data/sig/ark_email/models/suppression_list_response.rbs +32 -0
  237. data/sig/ark_email/models/suppression_retrieve_params.rbs +15 -0
  238. data/sig/ark_email/models/suppression_retrieve_response.rbs +62 -0
  239. data/sig/ark_email/models/track_domain.rbs +122 -0
  240. data/sig/ark_email/models/tracking_create_params.rbs +52 -0
  241. data/sig/ark_email/models/tracking_create_response.rbs +26 -0
  242. data/sig/ark_email/models/tracking_delete_params.rbs +15 -0
  243. data/sig/ark_email/models/tracking_delete_response.rbs +40 -0
  244. data/sig/ark_email/models/tracking_list_params.rbs +15 -0
  245. data/sig/ark_email/models/tracking_list_response.rbs +40 -0
  246. data/sig/ark_email/models/tracking_retrieve_params.rbs +15 -0
  247. data/sig/ark_email/models/tracking_retrieve_response.rbs +26 -0
  248. data/sig/ark_email/models/tracking_update_params.rbs +49 -0
  249. data/sig/ark_email/models/tracking_update_response.rbs +26 -0
  250. data/sig/ark_email/models/tracking_verify_params.rbs +15 -0
  251. data/sig/ark_email/models/tracking_verify_response.rbs +109 -0
  252. data/sig/ark_email/models/webhook_create_params.rbs +75 -0
  253. data/sig/ark_email/models/webhook_create_response.rbs +107 -0
  254. data/sig/ark_email/models/webhook_delete_params.rbs +15 -0
  255. data/sig/ark_email/models/webhook_delete_response.rbs +40 -0
  256. data/sig/ark_email/models/webhook_list_params.rbs +15 -0
  257. data/sig/ark_email/models/webhook_list_response.rbs +84 -0
  258. data/sig/ark_email/models/webhook_retrieve_params.rbs +15 -0
  259. data/sig/ark_email/models/webhook_retrieve_response.rbs +107 -0
  260. data/sig/ark_email/models/webhook_test_params.rbs +49 -0
  261. data/sig/ark_email/models/webhook_test_response.rbs +72 -0
  262. data/sig/ark_email/models/webhook_update_params.rbs +56 -0
  263. data/sig/ark_email/models/webhook_update_response.rbs +107 -0
  264. data/sig/ark_email/models.rbs +65 -0
  265. data/sig/ark_email/request_options.rbs +34 -0
  266. data/sig/ark_email/resources/domains.rbs +31 -0
  267. data/sig/ark_email/resources/emails.rbs +65 -0
  268. data/sig/ark_email/resources/suppressions.rbs +34 -0
  269. data/sig/ark_email/resources/tracking.rbs +44 -0
  270. data/sig/ark_email/resources/webhooks.rbs +46 -0
  271. data/sig/ark_email/version.rbs +3 -0
  272. metadata +343 -0
@@ -0,0 +1,81 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingListResponse < ArkEmail::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ArkEmail::Models::TrackingListResponse,
10
+ ArkEmail::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(ArkEmail::Models::TrackingListResponse::Data) }
15
+ attr_reader :data
16
+
17
+ sig do
18
+ params(data: ArkEmail::Models::TrackingListResponse::Data::OrHash).void
19
+ end
20
+ attr_writer :data
21
+
22
+ sig { returns(ArkEmail::APIMeta) }
23
+ attr_reader :meta
24
+
25
+ sig { params(meta: ArkEmail::APIMeta::OrHash).void }
26
+ attr_writer :meta
27
+
28
+ sig { returns(T::Boolean) }
29
+ attr_accessor :success
30
+
31
+ sig do
32
+ params(
33
+ data: ArkEmail::Models::TrackingListResponse::Data::OrHash,
34
+ meta: ArkEmail::APIMeta::OrHash,
35
+ success: T::Boolean
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(data:, meta:, success: true)
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ data: ArkEmail::Models::TrackingListResponse::Data,
45
+ meta: ArkEmail::APIMeta,
46
+ success: T::Boolean
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+
53
+ class Data < ArkEmail::Internal::Type::BaseModel
54
+ OrHash =
55
+ T.type_alias do
56
+ T.any(
57
+ ArkEmail::Models::TrackingListResponse::Data,
58
+ ArkEmail::Internal::AnyHash
59
+ )
60
+ end
61
+
62
+ sig { returns(T::Array[ArkEmail::TrackDomain]) }
63
+ attr_accessor :track_domains
64
+
65
+ sig do
66
+ params(
67
+ track_domains: T::Array[ArkEmail::TrackDomain::OrHash]
68
+ ).returns(T.attached_class)
69
+ end
70
+ def self.new(track_domains:)
71
+ end
72
+
73
+ sig do
74
+ override.returns({ track_domains: T::Array[ArkEmail::TrackDomain] })
75
+ end
76
+ def to_hash
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingRetrieveParams < ArkEmail::Internal::Type::BaseModel
6
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
7
+ include ArkEmail::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(ArkEmail::TrackingRetrieveParams, ArkEmail::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: ArkEmail::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: ArkEmail::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,52 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingRetrieveResponse < ArkEmail::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ArkEmail::Models::TrackingRetrieveResponse,
10
+ ArkEmail::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(ArkEmail::TrackDomain) }
15
+ attr_reader :data
16
+
17
+ sig { params(data: ArkEmail::TrackDomain::OrHash).void }
18
+ attr_writer :data
19
+
20
+ sig { returns(ArkEmail::APIMeta) }
21
+ attr_reader :meta
22
+
23
+ sig { params(meta: ArkEmail::APIMeta::OrHash).void }
24
+ attr_writer :meta
25
+
26
+ sig { returns(T::Boolean) }
27
+ attr_accessor :success
28
+
29
+ sig do
30
+ params(
31
+ data: ArkEmail::TrackDomain::OrHash,
32
+ meta: ArkEmail::APIMeta::OrHash,
33
+ success: T::Boolean
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(data:, meta:, success: true)
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ data: ArkEmail::TrackDomain,
43
+ meta: ArkEmail::APIMeta,
44
+ success: T::Boolean
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,79 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingUpdateParams < ArkEmail::Internal::Type::BaseModel
6
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
7
+ include ArkEmail::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(ArkEmail::TrackingUpdateParams, ArkEmail::Internal::AnyHash)
12
+ end
13
+
14
+ # Comma-separated list of domains to exclude from click tracking
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :excluded_click_domains
17
+
18
+ sig { params(excluded_click_domains: String).void }
19
+ attr_writer :excluded_click_domains
20
+
21
+ # Enable or disable SSL for tracking URLs
22
+ sig { returns(T.nilable(T::Boolean)) }
23
+ attr_reader :ssl_enabled
24
+
25
+ sig { params(ssl_enabled: T::Boolean).void }
26
+ attr_writer :ssl_enabled
27
+
28
+ # Enable or disable click tracking
29
+ sig { returns(T.nilable(T::Boolean)) }
30
+ attr_reader :track_clicks
31
+
32
+ sig { params(track_clicks: T::Boolean).void }
33
+ attr_writer :track_clicks
34
+
35
+ # Enable or disable open tracking
36
+ sig { returns(T.nilable(T::Boolean)) }
37
+ attr_reader :track_opens
38
+
39
+ sig { params(track_opens: T::Boolean).void }
40
+ attr_writer :track_opens
41
+
42
+ sig do
43
+ params(
44
+ excluded_click_domains: String,
45
+ ssl_enabled: T::Boolean,
46
+ track_clicks: T::Boolean,
47
+ track_opens: T::Boolean,
48
+ request_options: ArkEmail::RequestOptions::OrHash
49
+ ).returns(T.attached_class)
50
+ end
51
+ def self.new(
52
+ # Comma-separated list of domains to exclude from click tracking
53
+ excluded_click_domains: nil,
54
+ # Enable or disable SSL for tracking URLs
55
+ ssl_enabled: nil,
56
+ # Enable or disable click tracking
57
+ track_clicks: nil,
58
+ # Enable or disable open tracking
59
+ track_opens: nil,
60
+ request_options: {}
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ excluded_click_domains: String,
68
+ ssl_enabled: T::Boolean,
69
+ track_clicks: T::Boolean,
70
+ track_opens: T::Boolean,
71
+ request_options: ArkEmail::RequestOptions
72
+ }
73
+ )
74
+ end
75
+ def to_hash
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,52 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingUpdateResponse < ArkEmail::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ArkEmail::Models::TrackingUpdateResponse,
10
+ ArkEmail::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(ArkEmail::TrackDomain) }
15
+ attr_reader :data
16
+
17
+ sig { params(data: ArkEmail::TrackDomain::OrHash).void }
18
+ attr_writer :data
19
+
20
+ sig { returns(ArkEmail::APIMeta) }
21
+ attr_reader :meta
22
+
23
+ sig { params(meta: ArkEmail::APIMeta::OrHash).void }
24
+ attr_writer :meta
25
+
26
+ sig { returns(T::Boolean) }
27
+ attr_accessor :success
28
+
29
+ sig do
30
+ params(
31
+ data: ArkEmail::TrackDomain::OrHash,
32
+ meta: ArkEmail::APIMeta::OrHash,
33
+ success: T::Boolean
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(data:, meta:, success: true)
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ data: ArkEmail::TrackDomain,
43
+ meta: ArkEmail::APIMeta,
44
+ success: T::Boolean
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingVerifyParams < ArkEmail::Internal::Type::BaseModel
6
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
7
+ include ArkEmail::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(ArkEmail::TrackingVerifyParams, ArkEmail::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: ArkEmail::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: ArkEmail::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,254 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingVerifyResponse < ArkEmail::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ArkEmail::Models::TrackingVerifyResponse,
10
+ ArkEmail::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(ArkEmail::Models::TrackingVerifyResponse::Data) }
15
+ attr_reader :data
16
+
17
+ sig do
18
+ params(
19
+ data: ArkEmail::Models::TrackingVerifyResponse::Data::OrHash
20
+ ).void
21
+ end
22
+ attr_writer :data
23
+
24
+ sig { returns(ArkEmail::APIMeta) }
25
+ attr_reader :meta
26
+
27
+ sig { params(meta: ArkEmail::APIMeta::OrHash).void }
28
+ attr_writer :meta
29
+
30
+ sig { returns(T::Boolean) }
31
+ attr_accessor :success
32
+
33
+ sig do
34
+ params(
35
+ data: ArkEmail::Models::TrackingVerifyResponse::Data::OrHash,
36
+ meta: ArkEmail::APIMeta::OrHash,
37
+ success: T::Boolean
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(data:, meta:, success: true)
41
+ end
42
+
43
+ sig do
44
+ override.returns(
45
+ {
46
+ data: ArkEmail::Models::TrackingVerifyResponse::Data,
47
+ meta: ArkEmail::APIMeta,
48
+ success: T::Boolean
49
+ }
50
+ )
51
+ end
52
+ def to_hash
53
+ end
54
+
55
+ class Data < ArkEmail::Internal::Type::BaseModel
56
+ OrHash =
57
+ T.type_alias do
58
+ T.any(
59
+ ArkEmail::Models::TrackingVerifyResponse::Data,
60
+ ArkEmail::Internal::AnyHash
61
+ )
62
+ end
63
+
64
+ # Track domain ID
65
+ sig { returns(String) }
66
+ attr_accessor :id
67
+
68
+ # Whether DNS is correctly configured
69
+ sig { returns(T::Boolean) }
70
+ attr_accessor :dns_ok
71
+
72
+ # Current DNS verification status
73
+ sig do
74
+ returns(
75
+ T.nilable(
76
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSStatus::TaggedSymbol
77
+ )
78
+ )
79
+ end
80
+ attr_accessor :dns_status
81
+
82
+ # Full domain name
83
+ sig { returns(String) }
84
+ attr_accessor :full_name
85
+
86
+ # When DNS was last checked
87
+ sig { returns(T.nilable(Time)) }
88
+ attr_accessor :dns_checked_at
89
+
90
+ # DNS error message if verification failed
91
+ sig { returns(T.nilable(String)) }
92
+ attr_accessor :dns_error
93
+
94
+ # Required DNS record configuration
95
+ sig do
96
+ returns(
97
+ T.nilable(ArkEmail::Models::TrackingVerifyResponse::Data::DNSRecord)
98
+ )
99
+ end
100
+ attr_reader :dns_record
101
+
102
+ sig do
103
+ params(
104
+ dns_record:
105
+ T.nilable(
106
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSRecord::OrHash
107
+ )
108
+ ).void
109
+ end
110
+ attr_writer :dns_record
111
+
112
+ sig do
113
+ params(
114
+ id: String,
115
+ dns_ok: T::Boolean,
116
+ dns_status:
117
+ T.nilable(
118
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSStatus::OrSymbol
119
+ ),
120
+ full_name: String,
121
+ dns_checked_at: T.nilable(Time),
122
+ dns_error: T.nilable(String),
123
+ dns_record:
124
+ T.nilable(
125
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSRecord::OrHash
126
+ )
127
+ ).returns(T.attached_class)
128
+ end
129
+ def self.new(
130
+ # Track domain ID
131
+ id:,
132
+ # Whether DNS is correctly configured
133
+ dns_ok:,
134
+ # Current DNS verification status
135
+ dns_status:,
136
+ # Full domain name
137
+ full_name:,
138
+ # When DNS was last checked
139
+ dns_checked_at: nil,
140
+ # DNS error message if verification failed
141
+ dns_error: nil,
142
+ # Required DNS record configuration
143
+ dns_record: nil
144
+ )
145
+ end
146
+
147
+ sig do
148
+ override.returns(
149
+ {
150
+ id: String,
151
+ dns_ok: T::Boolean,
152
+ dns_status:
153
+ T.nilable(
154
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSStatus::TaggedSymbol
155
+ ),
156
+ full_name: String,
157
+ dns_checked_at: T.nilable(Time),
158
+ dns_error: T.nilable(String),
159
+ dns_record:
160
+ T.nilable(
161
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSRecord
162
+ )
163
+ }
164
+ )
165
+ end
166
+ def to_hash
167
+ end
168
+
169
+ # Current DNS verification status
170
+ module DNSStatus
171
+ extend ArkEmail::Internal::Type::Enum
172
+
173
+ TaggedSymbol =
174
+ T.type_alias do
175
+ T.all(
176
+ Symbol,
177
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSStatus
178
+ )
179
+ end
180
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
181
+
182
+ OK =
183
+ T.let(
184
+ :ok,
185
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSStatus::TaggedSymbol
186
+ )
187
+ MISSING =
188
+ T.let(
189
+ :missing,
190
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSStatus::TaggedSymbol
191
+ )
192
+ INVALID =
193
+ T.let(
194
+ :invalid,
195
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSStatus::TaggedSymbol
196
+ )
197
+
198
+ sig do
199
+ override.returns(
200
+ T::Array[
201
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSStatus::TaggedSymbol
202
+ ]
203
+ )
204
+ end
205
+ def self.values
206
+ end
207
+ end
208
+
209
+ class DNSRecord < ArkEmail::Internal::Type::BaseModel
210
+ OrHash =
211
+ T.type_alias do
212
+ T.any(
213
+ ArkEmail::Models::TrackingVerifyResponse::Data::DNSRecord,
214
+ ArkEmail::Internal::AnyHash
215
+ )
216
+ end
217
+
218
+ sig { returns(T.nilable(String)) }
219
+ attr_reader :name
220
+
221
+ sig { params(name: String).void }
222
+ attr_writer :name
223
+
224
+ sig { returns(T.nilable(String)) }
225
+ attr_reader :type
226
+
227
+ sig { params(type: String).void }
228
+ attr_writer :type
229
+
230
+ sig { returns(T.nilable(String)) }
231
+ attr_reader :value
232
+
233
+ sig { params(value: String).void }
234
+ attr_writer :value
235
+
236
+ # Required DNS record configuration
237
+ sig do
238
+ params(name: String, type: String, value: String).returns(
239
+ T.attached_class
240
+ )
241
+ end
242
+ def self.new(name: nil, type: nil, value: nil)
243
+ end
244
+
245
+ sig do
246
+ override.returns({ name: String, type: String, value: String })
247
+ end
248
+ def to_hash
249
+ end
250
+ end
251
+ end
252
+ end
253
+ end
254
+ end