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,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Emails#list
6
+ class EmailListParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!attribute after
11
+ # Return emails sent after this timestamp (Unix seconds or ISO 8601)
12
+ #
13
+ # @return [String, nil]
14
+ optional :after, String
15
+
16
+ # @!attribute before
17
+ # Return emails sent before this timestamp
18
+ #
19
+ # @return [String, nil]
20
+ optional :before, String
21
+
22
+ # @!attribute from
23
+ # Filter by sender email address
24
+ #
25
+ # @return [String, nil]
26
+ optional :from, String
27
+
28
+ # @!attribute page
29
+ # Page number (starts at 1)
30
+ #
31
+ # @return [Integer, nil]
32
+ optional :page, Integer
33
+
34
+ # @!attribute per_page
35
+ # Results per page (max 100)
36
+ #
37
+ # @return [Integer, nil]
38
+ optional :per_page, Integer
39
+
40
+ # @!attribute status
41
+ # Filter by delivery status:
42
+ #
43
+ # - `pending` - Email accepted, waiting to be processed
44
+ # - `sent` - Email transmitted to recipient's mail server
45
+ # - `softfail` - Temporary delivery failure, will retry
46
+ # - `hardfail` - Permanent delivery failure
47
+ # - `bounced` - Email bounced back
48
+ # - `held` - Held for manual review
49
+ #
50
+ # @return [Symbol, ArkEmail::Models::EmailListParams::Status, nil]
51
+ optional :status, enum: -> { ArkEmail::EmailListParams::Status }
52
+
53
+ # @!attribute tag
54
+ # Filter by tag
55
+ #
56
+ # @return [String, nil]
57
+ optional :tag, String
58
+
59
+ # @!attribute to
60
+ # Filter by recipient email address
61
+ #
62
+ # @return [String, nil]
63
+ optional :to, String
64
+
65
+ # @!method initialize(after: nil, before: nil, from: nil, page: nil, per_page: nil, status: nil, tag: nil, to: nil, request_options: {})
66
+ # Some parameter documentations has been truncated, see
67
+ # {ArkEmail::Models::EmailListParams} for more details.
68
+ #
69
+ # @param after [String] Return emails sent after this timestamp (Unix seconds or ISO 8601)
70
+ #
71
+ # @param before [String] Return emails sent before this timestamp
72
+ #
73
+ # @param from [String] Filter by sender email address
74
+ #
75
+ # @param page [Integer] Page number (starts at 1)
76
+ #
77
+ # @param per_page [Integer] Results per page (max 100)
78
+ #
79
+ # @param status [Symbol, ArkEmail::Models::EmailListParams::Status] Filter by delivery status:
80
+ #
81
+ # @param tag [String] Filter by tag
82
+ #
83
+ # @param to [String] Filter by recipient email address
84
+ #
85
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
86
+
87
+ # Filter by delivery status:
88
+ #
89
+ # - `pending` - Email accepted, waiting to be processed
90
+ # - `sent` - Email transmitted to recipient's mail server
91
+ # - `softfail` - Temporary delivery failure, will retry
92
+ # - `hardfail` - Permanent delivery failure
93
+ # - `bounced` - Email bounced back
94
+ # - `held` - Held for manual review
95
+ module Status
96
+ extend ArkEmail::Internal::Type::Enum
97
+
98
+ PENDING = :pending
99
+ SENT = :sent
100
+ SOFTFAIL = :softfail
101
+ HARDFAIL = :hardfail
102
+ BOUNCED = :bounced
103
+ HELD = :held
104
+
105
+ # @!method self.values
106
+ # @return [Array<Symbol>]
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Emails#list
6
+ class EmailListResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # Internal message ID
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute token
14
+ #
15
+ # @return [String]
16
+ required :token, String
17
+
18
+ # @!attribute from
19
+ #
20
+ # @return [String]
21
+ required :from, String
22
+
23
+ # @!attribute status
24
+ # Current delivery status:
25
+ #
26
+ # - `pending` - Email accepted, waiting to be processed
27
+ # - `sent` - Email transmitted to recipient's mail server
28
+ # - `softfail` - Temporary delivery failure, will retry
29
+ # - `hardfail` - Permanent delivery failure
30
+ # - `bounced` - Email bounced back
31
+ # - `held` - Held for manual review
32
+ #
33
+ # @return [Symbol, ArkEmail::Models::EmailListResponse::Status]
34
+ required :status, enum: -> { ArkEmail::Models::EmailListResponse::Status }
35
+
36
+ # @!attribute subject
37
+ #
38
+ # @return [String]
39
+ required :subject, String
40
+
41
+ # @!attribute timestamp
42
+ #
43
+ # @return [Float]
44
+ required :timestamp, Float
45
+
46
+ # @!attribute timestamp_iso
47
+ #
48
+ # @return [Time]
49
+ required :timestamp_iso, Time, api_name: :timestampIso
50
+
51
+ # @!attribute to
52
+ #
53
+ # @return [String]
54
+ required :to, String
55
+
56
+ # @!attribute tag
57
+ #
58
+ # @return [String, nil]
59
+ optional :tag, String
60
+
61
+ # @!method initialize(id:, token:, from:, status:, subject:, timestamp:, timestamp_iso:, to:, tag: nil)
62
+ # Some parameter documentations has been truncated, see
63
+ # {ArkEmail::Models::EmailListResponse} for more details.
64
+ #
65
+ # @param id [String] Internal message ID
66
+ #
67
+ # @param token [String]
68
+ #
69
+ # @param from [String]
70
+ #
71
+ # @param status [Symbol, ArkEmail::Models::EmailListResponse::Status] Current delivery status:
72
+ #
73
+ # @param subject [String]
74
+ #
75
+ # @param timestamp [Float]
76
+ #
77
+ # @param timestamp_iso [Time]
78
+ #
79
+ # @param to [String]
80
+ #
81
+ # @param tag [String]
82
+
83
+ # Current delivery status:
84
+ #
85
+ # - `pending` - Email accepted, waiting to be processed
86
+ # - `sent` - Email transmitted to recipient's mail server
87
+ # - `softfail` - Temporary delivery failure, will retry
88
+ # - `hardfail` - Permanent delivery failure
89
+ # - `bounced` - Email bounced back
90
+ # - `held` - Held for manual review
91
+ #
92
+ # @see ArkEmail::Models::EmailListResponse#status
93
+ module Status
94
+ extend ArkEmail::Internal::Type::Enum
95
+
96
+ PENDING = :pending
97
+ SENT = :sent
98
+ SOFTFAIL = :softfail
99
+ HARDFAIL = :hardfail
100
+ BOUNCED = :bounced
101
+ HELD = :held
102
+
103
+ # @!method self.values
104
+ # @return [Array<Symbol>]
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Emails#retrieve_deliveries
6
+ class EmailRetrieveDeliveriesParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,123 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Emails#retrieve_deliveries
6
+ class EmailRetrieveDeliveriesResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data]
10
+ required :data, -> { ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data }
11
+
12
+ # @!attribute meta
13
+ #
14
+ # @return [ArkEmail::Models::APIMeta]
15
+ required :meta, -> { ArkEmail::APIMeta }
16
+
17
+ # @!attribute success
18
+ #
19
+ # @return [Boolean, true]
20
+ required :success, const: true
21
+
22
+ # @!method initialize(data:, meta:, success: true)
23
+ # @param data [ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::EmailRetrieveDeliveriesResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute deliveries
30
+ #
31
+ # @return [Array<ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery>]
32
+ required :deliveries,
33
+ -> { ArkEmail::Internal::Type::ArrayOf[ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery] }
34
+
35
+ # @!attribute message_id
36
+ # Internal message ID
37
+ #
38
+ # @return [String]
39
+ required :message_id, String, api_name: :messageId
40
+
41
+ # @!attribute message_token
42
+ # Message token
43
+ #
44
+ # @return [String]
45
+ required :message_token, String, api_name: :messageToken
46
+
47
+ # @!method initialize(deliveries:, message_id:, message_token:)
48
+ # @param deliveries [Array<ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery>]
49
+ #
50
+ # @param message_id [String] Internal message ID
51
+ #
52
+ # @param message_token [String] Message token
53
+
54
+ class Delivery < ArkEmail::Internal::Type::BaseModel
55
+ # @!attribute id
56
+ # Delivery attempt ID
57
+ #
58
+ # @return [String]
59
+ required :id, String
60
+
61
+ # @!attribute status
62
+ # Delivery status (lowercase)
63
+ #
64
+ # @return [String]
65
+ required :status, String
66
+
67
+ # @!attribute timestamp
68
+ # Unix timestamp
69
+ #
70
+ # @return [Float]
71
+ required :timestamp, Float
72
+
73
+ # @!attribute timestamp_iso
74
+ # ISO 8601 timestamp
75
+ #
76
+ # @return [Time]
77
+ required :timestamp_iso, Time, api_name: :timestampIso
78
+
79
+ # @!attribute code
80
+ # SMTP response code
81
+ #
82
+ # @return [Integer, nil]
83
+ optional :code, Integer
84
+
85
+ # @!attribute details
86
+ # Status details
87
+ #
88
+ # @return [String, nil]
89
+ optional :details, String
90
+
91
+ # @!attribute output
92
+ # SMTP server response from the receiving mail server
93
+ #
94
+ # @return [String, nil]
95
+ optional :output, String
96
+
97
+ # @!attribute sent_with_ssl
98
+ # Whether TLS was used
99
+ #
100
+ # @return [Boolean, nil]
101
+ optional :sent_with_ssl, ArkEmail::Internal::Type::Boolean, api_name: :sentWithSsl
102
+
103
+ # @!method initialize(id:, status:, timestamp:, timestamp_iso:, code: nil, details: nil, output: nil, sent_with_ssl: nil)
104
+ # @param id [String] Delivery attempt ID
105
+ #
106
+ # @param status [String] Delivery status (lowercase)
107
+ #
108
+ # @param timestamp [Float] Unix timestamp
109
+ #
110
+ # @param timestamp_iso [Time] ISO 8601 timestamp
111
+ #
112
+ # @param code [Integer] SMTP response code
113
+ #
114
+ # @param details [String] Status details
115
+ #
116
+ # @param output [String] SMTP server response from the receiving mail server
117
+ #
118
+ # @param sent_with_ssl [Boolean] Whether TLS was used
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Emails#retrieve
6
+ class EmailRetrieveParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!attribute expand
11
+ # Comma-separated list of fields to include:
12
+ #
13
+ # - `content` - HTML and plain text body
14
+ # - `headers` - Email headers
15
+ # - `deliveries` - Delivery attempt history
16
+ # - `activity` - Opens and clicks
17
+ #
18
+ # @return [String, nil]
19
+ optional :expand, String
20
+
21
+ # @!method initialize(expand: nil, request_options: {})
22
+ # Some parameter documentations has been truncated, see
23
+ # {ArkEmail::Models::EmailRetrieveParams} for more details.
24
+ #
25
+ # @param expand [String] Comma-separated list of fields to include:
26
+ #
27
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,285 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Emails#retrieve
6
+ class EmailRetrieveResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::EmailRetrieveResponse::Data]
10
+ required :data, -> { ArkEmail::Models::EmailRetrieveResponse::Data }
11
+
12
+ # @!attribute meta
13
+ #
14
+ # @return [ArkEmail::Models::APIMeta]
15
+ required :meta, -> { ArkEmail::APIMeta }
16
+
17
+ # @!attribute success
18
+ #
19
+ # @return [Boolean, true]
20
+ required :success, const: true
21
+
22
+ # @!method initialize(data:, meta:, success: true)
23
+ # @param data [ArkEmail::Models::EmailRetrieveResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::EmailRetrieveResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute id
30
+ # Internal message ID
31
+ #
32
+ # @return [String]
33
+ required :id, String
34
+
35
+ # @!attribute token
36
+ # Unique message token used to retrieve this email via API. Combined with id to
37
+ # form the full message identifier: msg*{id}*{token} Use this token with GET
38
+ # /emails/{emailId} where emailId = "msg*{id}*{token}"
39
+ #
40
+ # @return [String]
41
+ required :token, String
42
+
43
+ # @!attribute from
44
+ # Sender address
45
+ #
46
+ # @return [String]
47
+ required :from, String
48
+
49
+ # @!attribute scope
50
+ # Message direction
51
+ #
52
+ # @return [Symbol, ArkEmail::Models::EmailRetrieveResponse::Data::Scope]
53
+ required :scope, enum: -> { ArkEmail::Models::EmailRetrieveResponse::Data::Scope }
54
+
55
+ # @!attribute status
56
+ # Current delivery status:
57
+ #
58
+ # - `pending` - Email accepted, waiting to be processed
59
+ # - `sent` - Email transmitted to recipient's mail server
60
+ # - `softfail` - Temporary delivery failure, will retry
61
+ # - `hardfail` - Permanent delivery failure
62
+ # - `bounced` - Email bounced back
63
+ # - `held` - Held for manual review
64
+ #
65
+ # @return [Symbol, ArkEmail::Models::EmailRetrieveResponse::Data::Status]
66
+ required :status, enum: -> { ArkEmail::Models::EmailRetrieveResponse::Data::Status }
67
+
68
+ # @!attribute subject
69
+ # Email subject line
70
+ #
71
+ # @return [String]
72
+ required :subject, String
73
+
74
+ # @!attribute timestamp
75
+ # Unix timestamp when the email was sent
76
+ #
77
+ # @return [Float]
78
+ required :timestamp, Float
79
+
80
+ # @!attribute timestamp_iso
81
+ # ISO 8601 formatted timestamp
82
+ #
83
+ # @return [Time]
84
+ required :timestamp_iso, Time, api_name: :timestampIso
85
+
86
+ # @!attribute to
87
+ # Recipient address
88
+ #
89
+ # @return [String]
90
+ required :to, String
91
+
92
+ # @!attribute deliveries
93
+ # Delivery attempt history (included if expand=deliveries)
94
+ #
95
+ # @return [Array<ArkEmail::Models::EmailRetrieveResponse::Data::Delivery>, nil]
96
+ optional :deliveries,
97
+ -> { ArkEmail::Internal::Type::ArrayOf[ArkEmail::Models::EmailRetrieveResponse::Data::Delivery] }
98
+
99
+ # @!attribute headers
100
+ # Email headers (included if expand=headers)
101
+ #
102
+ # @return [Hash{Symbol=>String}, nil]
103
+ optional :headers, ArkEmail::Internal::Type::HashOf[String]
104
+
105
+ # @!attribute html_body
106
+ # HTML body content (included if expand=content)
107
+ #
108
+ # @return [String, nil]
109
+ optional :html_body, String, api_name: :htmlBody
110
+
111
+ # @!attribute message_id
112
+ # SMTP Message-ID header
113
+ #
114
+ # @return [String, nil]
115
+ optional :message_id, String, api_name: :messageId
116
+
117
+ # @!attribute plain_body
118
+ # Plain text body (included if expand=content)
119
+ #
120
+ # @return [String, nil]
121
+ optional :plain_body, String, api_name: :plainBody
122
+
123
+ # @!attribute spam
124
+ # Whether the message was flagged as spam
125
+ #
126
+ # @return [Boolean, nil]
127
+ optional :spam, ArkEmail::Internal::Type::Boolean
128
+
129
+ # @!attribute spam_score
130
+ # Spam score (if applicable)
131
+ #
132
+ # @return [Float, nil]
133
+ optional :spam_score, Float, api_name: :spamScore
134
+
135
+ # @!attribute tag
136
+ # Optional categorization tag
137
+ #
138
+ # @return [String, nil]
139
+ optional :tag, String
140
+
141
+ # @!method initialize(id:, token:, from:, scope:, status:, subject:, timestamp:, timestamp_iso:, to:, deliveries: nil, headers: nil, html_body: nil, message_id: nil, plain_body: nil, spam: nil, spam_score: nil, tag: nil)
142
+ # Some parameter documentations has been truncated, see
143
+ # {ArkEmail::Models::EmailRetrieveResponse::Data} for more details.
144
+ #
145
+ # @param id [String] Internal message ID
146
+ #
147
+ # @param token [String] Unique message token used to retrieve this email via API.
148
+ #
149
+ # @param from [String] Sender address
150
+ #
151
+ # @param scope [Symbol, ArkEmail::Models::EmailRetrieveResponse::Data::Scope] Message direction
152
+ #
153
+ # @param status [Symbol, ArkEmail::Models::EmailRetrieveResponse::Data::Status] Current delivery status:
154
+ #
155
+ # @param subject [String] Email subject line
156
+ #
157
+ # @param timestamp [Float] Unix timestamp when the email was sent
158
+ #
159
+ # @param timestamp_iso [Time] ISO 8601 formatted timestamp
160
+ #
161
+ # @param to [String] Recipient address
162
+ #
163
+ # @param deliveries [Array<ArkEmail::Models::EmailRetrieveResponse::Data::Delivery>] Delivery attempt history (included if expand=deliveries)
164
+ #
165
+ # @param headers [Hash{Symbol=>String}] Email headers (included if expand=headers)
166
+ #
167
+ # @param html_body [String] HTML body content (included if expand=content)
168
+ #
169
+ # @param message_id [String] SMTP Message-ID header
170
+ #
171
+ # @param plain_body [String] Plain text body (included if expand=content)
172
+ #
173
+ # @param spam [Boolean] Whether the message was flagged as spam
174
+ #
175
+ # @param spam_score [Float] Spam score (if applicable)
176
+ #
177
+ # @param tag [String] Optional categorization tag
178
+
179
+ # Message direction
180
+ #
181
+ # @see ArkEmail::Models::EmailRetrieveResponse::Data#scope
182
+ module Scope
183
+ extend ArkEmail::Internal::Type::Enum
184
+
185
+ OUTGOING = :outgoing
186
+ INCOMING = :incoming
187
+
188
+ # @!method self.values
189
+ # @return [Array<Symbol>]
190
+ end
191
+
192
+ # Current delivery status:
193
+ #
194
+ # - `pending` - Email accepted, waiting to be processed
195
+ # - `sent` - Email transmitted to recipient's mail server
196
+ # - `softfail` - Temporary delivery failure, will retry
197
+ # - `hardfail` - Permanent delivery failure
198
+ # - `bounced` - Email bounced back
199
+ # - `held` - Held for manual review
200
+ #
201
+ # @see ArkEmail::Models::EmailRetrieveResponse::Data#status
202
+ module Status
203
+ extend ArkEmail::Internal::Type::Enum
204
+
205
+ PENDING = :pending
206
+ SENT = :sent
207
+ SOFTFAIL = :softfail
208
+ HARDFAIL = :hardfail
209
+ BOUNCED = :bounced
210
+ HELD = :held
211
+
212
+ # @!method self.values
213
+ # @return [Array<Symbol>]
214
+ end
215
+
216
+ class Delivery < ArkEmail::Internal::Type::BaseModel
217
+ # @!attribute id
218
+ # Delivery attempt ID
219
+ #
220
+ # @return [String]
221
+ required :id, String
222
+
223
+ # @!attribute status
224
+ # Delivery status (lowercase)
225
+ #
226
+ # @return [String]
227
+ required :status, String
228
+
229
+ # @!attribute timestamp
230
+ # Unix timestamp
231
+ #
232
+ # @return [Float]
233
+ required :timestamp, Float
234
+
235
+ # @!attribute timestamp_iso
236
+ # ISO 8601 timestamp
237
+ #
238
+ # @return [Time]
239
+ required :timestamp_iso, Time, api_name: :timestampIso
240
+
241
+ # @!attribute code
242
+ # SMTP response code
243
+ #
244
+ # @return [Integer, nil]
245
+ optional :code, Integer
246
+
247
+ # @!attribute details
248
+ # Status details
249
+ #
250
+ # @return [String, nil]
251
+ optional :details, String
252
+
253
+ # @!attribute output
254
+ # SMTP server response from the receiving mail server
255
+ #
256
+ # @return [String, nil]
257
+ optional :output, String
258
+
259
+ # @!attribute sent_with_ssl
260
+ # Whether TLS was used
261
+ #
262
+ # @return [Boolean, nil]
263
+ optional :sent_with_ssl, ArkEmail::Internal::Type::Boolean, api_name: :sentWithSsl
264
+
265
+ # @!method initialize(id:, status:, timestamp:, timestamp_iso:, code: nil, details: nil, output: nil, sent_with_ssl: nil)
266
+ # @param id [String] Delivery attempt ID
267
+ #
268
+ # @param status [String] Delivery status (lowercase)
269
+ #
270
+ # @param timestamp [Float] Unix timestamp
271
+ #
272
+ # @param timestamp_iso [Time] ISO 8601 timestamp
273
+ #
274
+ # @param code [Integer] SMTP response code
275
+ #
276
+ # @param details [String] Status details
277
+ #
278
+ # @param output [String] SMTP server response from the receiving mail server
279
+ #
280
+ # @param sent_with_ssl [Boolean] Whether TLS was used
281
+ end
282
+ end
283
+ end
284
+ end
285
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Emails#retry_
6
+ class EmailRetryParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end