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,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#update
6
+ class TrackingUpdateParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!attribute excluded_click_domains
11
+ # Comma-separated list of domains to exclude from click tracking
12
+ #
13
+ # @return [String, nil]
14
+ optional :excluded_click_domains, String, api_name: :excludedClickDomains
15
+
16
+ # @!attribute ssl_enabled
17
+ # Enable or disable SSL for tracking URLs
18
+ #
19
+ # @return [Boolean, nil]
20
+ optional :ssl_enabled, ArkEmail::Internal::Type::Boolean, api_name: :sslEnabled
21
+
22
+ # @!attribute track_clicks
23
+ # Enable or disable click tracking
24
+ #
25
+ # @return [Boolean, nil]
26
+ optional :track_clicks, ArkEmail::Internal::Type::Boolean, api_name: :trackClicks
27
+
28
+ # @!attribute track_opens
29
+ # Enable or disable open tracking
30
+ #
31
+ # @return [Boolean, nil]
32
+ optional :track_opens, ArkEmail::Internal::Type::Boolean, api_name: :trackOpens
33
+
34
+ # @!method initialize(excluded_click_domains: nil, ssl_enabled: nil, track_clicks: nil, track_opens: nil, request_options: {})
35
+ # @param excluded_click_domains [String] Comma-separated list of domains to exclude from click tracking
36
+ #
37
+ # @param ssl_enabled [Boolean] Enable or disable SSL for tracking URLs
38
+ #
39
+ # @param track_clicks [Boolean] Enable or disable click tracking
40
+ #
41
+ # @param track_opens [Boolean] Enable or disable open tracking
42
+ #
43
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#update
6
+ class TrackingUpdateResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::TrackDomain]
10
+ required :data, -> { ArkEmail::TrackDomain }
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::TrackDomain]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#verify
6
+ class TrackingVerifyParams < 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,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#verify
6
+ class TrackingVerifyResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::TrackingVerifyResponse::Data]
10
+ required :data, -> { ArkEmail::Models::TrackingVerifyResponse::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::TrackingVerifyResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::TrackingVerifyResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute id
30
+ # Track domain ID
31
+ #
32
+ # @return [String]
33
+ required :id, String
34
+
35
+ # @!attribute dns_ok
36
+ # Whether DNS is correctly configured
37
+ #
38
+ # @return [Boolean]
39
+ required :dns_ok, ArkEmail::Internal::Type::Boolean, api_name: :dnsOk
40
+
41
+ # @!attribute dns_status
42
+ # Current DNS verification status
43
+ #
44
+ # @return [Symbol, ArkEmail::Models::TrackingVerifyResponse::Data::DNSStatus, nil]
45
+ required :dns_status,
46
+ enum: -> { ArkEmail::Models::TrackingVerifyResponse::Data::DNSStatus },
47
+ api_name: :dnsStatus,
48
+ nil?: true
49
+
50
+ # @!attribute full_name
51
+ # Full domain name
52
+ #
53
+ # @return [String]
54
+ required :full_name, String, api_name: :fullName
55
+
56
+ # @!attribute dns_checked_at
57
+ # When DNS was last checked
58
+ #
59
+ # @return [Time, nil]
60
+ optional :dns_checked_at, Time, api_name: :dnsCheckedAt, nil?: true
61
+
62
+ # @!attribute dns_error
63
+ # DNS error message if verification failed
64
+ #
65
+ # @return [String, nil]
66
+ optional :dns_error, String, api_name: :dnsError, nil?: true
67
+
68
+ # @!attribute dns_record
69
+ # Required DNS record configuration
70
+ #
71
+ # @return [ArkEmail::Models::TrackingVerifyResponse::Data::DNSRecord, nil]
72
+ optional :dns_record,
73
+ -> { ArkEmail::Models::TrackingVerifyResponse::Data::DNSRecord },
74
+ api_name: :dnsRecord,
75
+ nil?: true
76
+
77
+ # @!method initialize(id:, dns_ok:, dns_status:, full_name:, dns_checked_at: nil, dns_error: nil, dns_record: nil)
78
+ # @param id [String] Track domain ID
79
+ #
80
+ # @param dns_ok [Boolean] Whether DNS is correctly configured
81
+ #
82
+ # @param dns_status [Symbol, ArkEmail::Models::TrackingVerifyResponse::Data::DNSStatus, nil] Current DNS verification status
83
+ #
84
+ # @param full_name [String] Full domain name
85
+ #
86
+ # @param dns_checked_at [Time, nil] When DNS was last checked
87
+ #
88
+ # @param dns_error [String, nil] DNS error message if verification failed
89
+ #
90
+ # @param dns_record [ArkEmail::Models::TrackingVerifyResponse::Data::DNSRecord, nil] Required DNS record configuration
91
+
92
+ # Current DNS verification status
93
+ #
94
+ # @see ArkEmail::Models::TrackingVerifyResponse::Data#dns_status
95
+ module DNSStatus
96
+ extend ArkEmail::Internal::Type::Enum
97
+
98
+ OK = :ok
99
+ MISSING = :missing
100
+ INVALID = :invalid
101
+
102
+ # @!method self.values
103
+ # @return [Array<Symbol>]
104
+ end
105
+
106
+ # @see ArkEmail::Models::TrackingVerifyResponse::Data#dns_record
107
+ class DNSRecord < ArkEmail::Internal::Type::BaseModel
108
+ # @!attribute name
109
+ #
110
+ # @return [String, nil]
111
+ optional :name, String
112
+
113
+ # @!attribute type
114
+ #
115
+ # @return [String, nil]
116
+ optional :type, String
117
+
118
+ # @!attribute value
119
+ #
120
+ # @return [String, nil]
121
+ optional :value, String
122
+
123
+ # @!method initialize(name: nil, type: nil, value: nil)
124
+ # Required DNS record configuration
125
+ #
126
+ # @param name [String]
127
+ # @param type [String]
128
+ # @param value [String]
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Webhooks#create
6
+ class WebhookCreateParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!attribute events
11
+ # Events to subscribe to:
12
+ #
13
+ # - `MessageSent` - Email successfully delivered to recipient's server
14
+ # - `MessageDelayed` - Temporary delivery failure, will retry
15
+ # - `MessageDeliveryFailed` - Permanent delivery failure
16
+ # - `MessageHeld` - Email held for manual review
17
+ # - `MessageBounced` - Email bounced back
18
+ # - `MessageLinkClicked` - Recipient clicked a tracked link
19
+ # - `MessageLoaded` - Recipient opened the email (tracking pixel loaded)
20
+ # - `DomainDNSError` - DNS configuration issue detected
21
+ #
22
+ # @return [Array<Symbol, ArkEmail::Models::WebhookCreateParams::Event>]
23
+ required :events, -> { ArkEmail::Internal::Type::ArrayOf[enum: ArkEmail::WebhookCreateParams::Event] }
24
+
25
+ # @!attribute name
26
+ # Webhook name for identification
27
+ #
28
+ # @return [String]
29
+ required :name, String
30
+
31
+ # @!attribute url
32
+ # HTTPS endpoint URL
33
+ #
34
+ # @return [String]
35
+ required :url, String
36
+
37
+ # @!attribute all_events
38
+ # Subscribe to all events (ignores events array)
39
+ #
40
+ # @return [Boolean, nil]
41
+ optional :all_events, ArkEmail::Internal::Type::Boolean, api_name: :allEvents
42
+
43
+ # @!attribute enabled
44
+ #
45
+ # @return [Boolean, nil]
46
+ optional :enabled, ArkEmail::Internal::Type::Boolean
47
+
48
+ # @!method initialize(events:, name:, url:, all_events: nil, enabled: nil, request_options: {})
49
+ # Some parameter documentations has been truncated, see
50
+ # {ArkEmail::Models::WebhookCreateParams} for more details.
51
+ #
52
+ # @param events [Array<Symbol, ArkEmail::Models::WebhookCreateParams::Event>] Events to subscribe to:
53
+ #
54
+ # @param name [String] Webhook name for identification
55
+ #
56
+ # @param url [String] HTTPS endpoint URL
57
+ #
58
+ # @param all_events [Boolean] Subscribe to all events (ignores events array)
59
+ #
60
+ # @param enabled [Boolean]
61
+ #
62
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
63
+
64
+ module Event
65
+ extend ArkEmail::Internal::Type::Enum
66
+
67
+ MESSAGE_SENT = :MessageSent
68
+ MESSAGE_DELAYED = :MessageDelayed
69
+ MESSAGE_DELIVERY_FAILED = :MessageDeliveryFailed
70
+ MESSAGE_HELD = :MessageHeld
71
+ MESSAGE_BOUNCED = :MessageBounced
72
+ MESSAGE_LINK_CLICKED = :MessageLinkClicked
73
+ MESSAGE_LOADED = :MessageLoaded
74
+ DOMAIN_DNS_ERROR = :DomainDNSError
75
+
76
+ # @!method self.values
77
+ # @return [Array<Symbol>]
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Webhooks#create
6
+ class WebhookCreateResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::WebhookCreateResponse::Data]
10
+ required :data, -> { ArkEmail::Models::WebhookCreateResponse::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::WebhookCreateResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::WebhookCreateResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute id
30
+ # Webhook ID
31
+ #
32
+ # @return [String]
33
+ required :id, String
34
+
35
+ # @!attribute all_events
36
+ # Whether subscribed to all events
37
+ #
38
+ # @return [Boolean]
39
+ required :all_events, ArkEmail::Internal::Type::Boolean, api_name: :allEvents
40
+
41
+ # @!attribute created_at
42
+ #
43
+ # @return [Time]
44
+ required :created_at, Time, api_name: :createdAt
45
+
46
+ # @!attribute enabled
47
+ # Whether the webhook is active
48
+ #
49
+ # @return [Boolean]
50
+ required :enabled, ArkEmail::Internal::Type::Boolean
51
+
52
+ # @!attribute events
53
+ # Subscribed events
54
+ #
55
+ # @return [Array<Symbol, ArkEmail::Models::WebhookCreateResponse::Data::Event>]
56
+ required :events,
57
+ -> { ArkEmail::Internal::Type::ArrayOf[enum: ArkEmail::Models::WebhookCreateResponse::Data::Event] }
58
+
59
+ # @!attribute name
60
+ # Webhook name for identification
61
+ #
62
+ # @return [String]
63
+ required :name, String
64
+
65
+ # @!attribute url
66
+ # Webhook endpoint URL
67
+ #
68
+ # @return [String]
69
+ required :url, String
70
+
71
+ # @!attribute uuid
72
+ #
73
+ # @return [String]
74
+ required :uuid, String
75
+
76
+ # @!method initialize(id:, all_events:, created_at:, enabled:, events:, name:, url:, uuid:)
77
+ # @param id [String] Webhook ID
78
+ #
79
+ # @param all_events [Boolean] Whether subscribed to all events
80
+ #
81
+ # @param created_at [Time]
82
+ #
83
+ # @param enabled [Boolean] Whether the webhook is active
84
+ #
85
+ # @param events [Array<Symbol, ArkEmail::Models::WebhookCreateResponse::Data::Event>] Subscribed events
86
+ #
87
+ # @param name [String] Webhook name for identification
88
+ #
89
+ # @param url [String] Webhook endpoint URL
90
+ #
91
+ # @param uuid [String]
92
+
93
+ module Event
94
+ extend ArkEmail::Internal::Type::Enum
95
+
96
+ MESSAGE_SENT = :MessageSent
97
+ MESSAGE_DELAYED = :MessageDelayed
98
+ MESSAGE_DELIVERY_FAILED = :MessageDeliveryFailed
99
+ MESSAGE_HELD = :MessageHeld
100
+ MESSAGE_BOUNCED = :MessageBounced
101
+ MESSAGE_LINK_CLICKED = :MessageLinkClicked
102
+ MESSAGE_LOADED = :MessageLoaded
103
+ DOMAIN_DNS_ERROR = :DomainDNSError
104
+
105
+ # @!method self.values
106
+ # @return [Array<Symbol>]
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Webhooks#delete
6
+ class WebhookDeleteParams < 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,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Webhooks#delete
6
+ class WebhookDeleteResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::WebhookDeleteResponse::Data]
10
+ required :data, -> { ArkEmail::Models::WebhookDeleteResponse::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::WebhookDeleteResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::WebhookDeleteResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute message
30
+ #
31
+ # @return [String]
32
+ required :message, String
33
+
34
+ # @!method initialize(message:)
35
+ # @param message [String]
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Webhooks#list
6
+ class WebhookListParams < 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,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Webhooks#list
6
+ class WebhookListResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::WebhookListResponse::Data]
10
+ required :data, -> { ArkEmail::Models::WebhookListResponse::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::WebhookListResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::WebhookListResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute webhooks
30
+ #
31
+ # @return [Array<ArkEmail::Models::WebhookListResponse::Data::Webhook>]
32
+ required :webhooks,
33
+ -> { ArkEmail::Internal::Type::ArrayOf[ArkEmail::Models::WebhookListResponse::Data::Webhook] }
34
+
35
+ # @!method initialize(webhooks:)
36
+ # @param webhooks [Array<ArkEmail::Models::WebhookListResponse::Data::Webhook>]
37
+
38
+ class Webhook < ArkEmail::Internal::Type::BaseModel
39
+ # @!attribute id
40
+ # Webhook ID
41
+ #
42
+ # @return [String]
43
+ required :id, String
44
+
45
+ # @!attribute enabled
46
+ #
47
+ # @return [Boolean]
48
+ required :enabled, ArkEmail::Internal::Type::Boolean
49
+
50
+ # @!attribute events
51
+ #
52
+ # @return [Array<String>]
53
+ required :events, ArkEmail::Internal::Type::ArrayOf[String]
54
+
55
+ # @!attribute name
56
+ #
57
+ # @return [String]
58
+ required :name, String
59
+
60
+ # @!attribute url
61
+ #
62
+ # @return [String]
63
+ required :url, String
64
+
65
+ # @!method initialize(id:, enabled:, events:, name:, url:)
66
+ # @param id [String] Webhook ID
67
+ #
68
+ # @param enabled [Boolean]
69
+ #
70
+ # @param events [Array<String>]
71
+ #
72
+ # @param name [String]
73
+ #
74
+ # @param url [String]
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Webhooks#retrieve
6
+ class WebhookRetrieveParams < 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,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Webhooks#retrieve
6
+ class WebhookRetrieveResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::WebhookRetrieveResponse::Data]
10
+ required :data, -> { ArkEmail::Models::WebhookRetrieveResponse::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::WebhookRetrieveResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::WebhookRetrieveResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute id
30
+ # Webhook ID
31
+ #
32
+ # @return [String]
33
+ required :id, String
34
+
35
+ # @!attribute all_events
36
+ # Whether subscribed to all events
37
+ #
38
+ # @return [Boolean]
39
+ required :all_events, ArkEmail::Internal::Type::Boolean, api_name: :allEvents
40
+
41
+ # @!attribute created_at
42
+ #
43
+ # @return [Time]
44
+ required :created_at, Time, api_name: :createdAt
45
+
46
+ # @!attribute enabled
47
+ # Whether the webhook is active
48
+ #
49
+ # @return [Boolean]
50
+ required :enabled, ArkEmail::Internal::Type::Boolean
51
+
52
+ # @!attribute events
53
+ # Subscribed events
54
+ #
55
+ # @return [Array<Symbol, ArkEmail::Models::WebhookRetrieveResponse::Data::Event>]
56
+ required :events,
57
+ -> { ArkEmail::Internal::Type::ArrayOf[enum: ArkEmail::Models::WebhookRetrieveResponse::Data::Event] }
58
+
59
+ # @!attribute name
60
+ # Webhook name for identification
61
+ #
62
+ # @return [String]
63
+ required :name, String
64
+
65
+ # @!attribute url
66
+ # Webhook endpoint URL
67
+ #
68
+ # @return [String]
69
+ required :url, String
70
+
71
+ # @!attribute uuid
72
+ #
73
+ # @return [String]
74
+ required :uuid, String
75
+
76
+ # @!method initialize(id:, all_events:, created_at:, enabled:, events:, name:, url:, uuid:)
77
+ # @param id [String] Webhook ID
78
+ #
79
+ # @param all_events [Boolean] Whether subscribed to all events
80
+ #
81
+ # @param created_at [Time]
82
+ #
83
+ # @param enabled [Boolean] Whether the webhook is active
84
+ #
85
+ # @param events [Array<Symbol, ArkEmail::Models::WebhookRetrieveResponse::Data::Event>] Subscribed events
86
+ #
87
+ # @param name [String] Webhook name for identification
88
+ #
89
+ # @param url [String] Webhook endpoint URL
90
+ #
91
+ # @param uuid [String]
92
+
93
+ module Event
94
+ extend ArkEmail::Internal::Type::Enum
95
+
96
+ MESSAGE_SENT = :MessageSent
97
+ MESSAGE_DELAYED = :MessageDelayed
98
+ MESSAGE_DELIVERY_FAILED = :MessageDeliveryFailed
99
+ MESSAGE_HELD = :MessageHeld
100
+ MESSAGE_BOUNCED = :MessageBounced
101
+ MESSAGE_LINK_CLICKED = :MessageLinkClicked
102
+ MESSAGE_LOADED = :MessageLoaded
103
+ DOMAIN_DNS_ERROR = :DomainDNSError
104
+
105
+ # @!method self.values
106
+ # @return [Array<Symbol>]
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end