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,219 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class WebhookRetrieveResponse < ArkEmail::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ArkEmail::Models::WebhookRetrieveResponse,
10
+ ArkEmail::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(ArkEmail::Models::WebhookRetrieveResponse::Data) }
15
+ attr_reader :data
16
+
17
+ sig do
18
+ params(
19
+ data: ArkEmail::Models::WebhookRetrieveResponse::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::WebhookRetrieveResponse::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::WebhookRetrieveResponse::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::WebhookRetrieveResponse::Data,
60
+ ArkEmail::Internal::AnyHash
61
+ )
62
+ end
63
+
64
+ # Webhook ID
65
+ sig { returns(String) }
66
+ attr_accessor :id
67
+
68
+ # Whether subscribed to all events
69
+ sig { returns(T::Boolean) }
70
+ attr_accessor :all_events
71
+
72
+ sig { returns(Time) }
73
+ attr_accessor :created_at
74
+
75
+ # Whether the webhook is active
76
+ sig { returns(T::Boolean) }
77
+ attr_accessor :enabled
78
+
79
+ # Subscribed events
80
+ sig do
81
+ returns(
82
+ T::Array[
83
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
84
+ ]
85
+ )
86
+ end
87
+ attr_accessor :events
88
+
89
+ # Webhook name for identification
90
+ sig { returns(String) }
91
+ attr_accessor :name
92
+
93
+ # Webhook endpoint URL
94
+ sig { returns(String) }
95
+ attr_accessor :url
96
+
97
+ sig { returns(String) }
98
+ attr_accessor :uuid
99
+
100
+ sig do
101
+ params(
102
+ id: String,
103
+ all_events: T::Boolean,
104
+ created_at: Time,
105
+ enabled: T::Boolean,
106
+ events:
107
+ T::Array[
108
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::OrSymbol
109
+ ],
110
+ name: String,
111
+ url: String,
112
+ uuid: String
113
+ ).returns(T.attached_class)
114
+ end
115
+ def self.new(
116
+ # Webhook ID
117
+ id:,
118
+ # Whether subscribed to all events
119
+ all_events:,
120
+ created_at:,
121
+ # Whether the webhook is active
122
+ enabled:,
123
+ # Subscribed events
124
+ events:,
125
+ # Webhook name for identification
126
+ name:,
127
+ # Webhook endpoint URL
128
+ url:,
129
+ uuid:
130
+ )
131
+ end
132
+
133
+ sig do
134
+ override.returns(
135
+ {
136
+ id: String,
137
+ all_events: T::Boolean,
138
+ created_at: Time,
139
+ enabled: T::Boolean,
140
+ events:
141
+ T::Array[
142
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
143
+ ],
144
+ name: String,
145
+ url: String,
146
+ uuid: String
147
+ }
148
+ )
149
+ end
150
+ def to_hash
151
+ end
152
+
153
+ module Event
154
+ extend ArkEmail::Internal::Type::Enum
155
+
156
+ TaggedSymbol =
157
+ T.type_alias do
158
+ T.all(
159
+ Symbol,
160
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event
161
+ )
162
+ end
163
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
164
+
165
+ MESSAGE_SENT =
166
+ T.let(
167
+ :MessageSent,
168
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
169
+ )
170
+ MESSAGE_DELAYED =
171
+ T.let(
172
+ :MessageDelayed,
173
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
174
+ )
175
+ MESSAGE_DELIVERY_FAILED =
176
+ T.let(
177
+ :MessageDeliveryFailed,
178
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
179
+ )
180
+ MESSAGE_HELD =
181
+ T.let(
182
+ :MessageHeld,
183
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
184
+ )
185
+ MESSAGE_BOUNCED =
186
+ T.let(
187
+ :MessageBounced,
188
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
189
+ )
190
+ MESSAGE_LINK_CLICKED =
191
+ T.let(
192
+ :MessageLinkClicked,
193
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
194
+ )
195
+ MESSAGE_LOADED =
196
+ T.let(
197
+ :MessageLoaded,
198
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
199
+ )
200
+ DOMAIN_DNS_ERROR =
201
+ T.let(
202
+ :DomainDNSError,
203
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
204
+ )
205
+
206
+ sig do
207
+ override.returns(
208
+ T::Array[
209
+ ArkEmail::Models::WebhookRetrieveResponse::Data::Event::TaggedSymbol
210
+ ]
211
+ )
212
+ end
213
+ def self.values
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end
219
+ end
@@ -0,0 +1,95 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class WebhookTestParams < 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::WebhookTestParams, ArkEmail::Internal::AnyHash)
12
+ end
13
+
14
+ # Event type to simulate
15
+ sig { returns(ArkEmail::WebhookTestParams::Event::OrSymbol) }
16
+ attr_accessor :event
17
+
18
+ sig do
19
+ params(
20
+ event: ArkEmail::WebhookTestParams::Event::OrSymbol,
21
+ request_options: ArkEmail::RequestOptions::OrHash
22
+ ).returns(T.attached_class)
23
+ end
24
+ def self.new(
25
+ # Event type to simulate
26
+ event:,
27
+ request_options: {}
28
+ )
29
+ end
30
+
31
+ sig do
32
+ override.returns(
33
+ {
34
+ event: ArkEmail::WebhookTestParams::Event::OrSymbol,
35
+ request_options: ArkEmail::RequestOptions
36
+ }
37
+ )
38
+ end
39
+ def to_hash
40
+ end
41
+
42
+ # Event type to simulate
43
+ module Event
44
+ extend ArkEmail::Internal::Type::Enum
45
+
46
+ TaggedSymbol =
47
+ T.type_alias { T.all(Symbol, ArkEmail::WebhookTestParams::Event) }
48
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
49
+
50
+ MESSAGE_SENT =
51
+ T.let(:MessageSent, ArkEmail::WebhookTestParams::Event::TaggedSymbol)
52
+ MESSAGE_DELAYED =
53
+ T.let(
54
+ :MessageDelayed,
55
+ ArkEmail::WebhookTestParams::Event::TaggedSymbol
56
+ )
57
+ MESSAGE_DELIVERY_FAILED =
58
+ T.let(
59
+ :MessageDeliveryFailed,
60
+ ArkEmail::WebhookTestParams::Event::TaggedSymbol
61
+ )
62
+ MESSAGE_HELD =
63
+ T.let(:MessageHeld, ArkEmail::WebhookTestParams::Event::TaggedSymbol)
64
+ MESSAGE_BOUNCED =
65
+ T.let(
66
+ :MessageBounced,
67
+ ArkEmail::WebhookTestParams::Event::TaggedSymbol
68
+ )
69
+ MESSAGE_LINK_CLICKED =
70
+ T.let(
71
+ :MessageLinkClicked,
72
+ ArkEmail::WebhookTestParams::Event::TaggedSymbol
73
+ )
74
+ MESSAGE_LOADED =
75
+ T.let(
76
+ :MessageLoaded,
77
+ ArkEmail::WebhookTestParams::Event::TaggedSymbol
78
+ )
79
+ DOMAIN_DNS_ERROR =
80
+ T.let(
81
+ :DomainDNSError,
82
+ ArkEmail::WebhookTestParams::Event::TaggedSymbol
83
+ )
84
+
85
+ sig do
86
+ override.returns(
87
+ T::Array[ArkEmail::WebhookTestParams::Event::TaggedSymbol]
88
+ )
89
+ end
90
+ def self.values
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,129 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class WebhookTestResponse < ArkEmail::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ArkEmail::Models::WebhookTestResponse,
10
+ ArkEmail::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(ArkEmail::Models::WebhookTestResponse::Data) }
15
+ attr_reader :data
16
+
17
+ sig do
18
+ params(data: ArkEmail::Models::WebhookTestResponse::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::WebhookTestResponse::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::WebhookTestResponse::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::WebhookTestResponse::Data,
58
+ ArkEmail::Internal::AnyHash
59
+ )
60
+ end
61
+
62
+ # Request duration in milliseconds
63
+ sig { returns(Integer) }
64
+ attr_accessor :duration
65
+
66
+ # Event type that was tested
67
+ sig { returns(String) }
68
+ attr_accessor :event
69
+
70
+ # HTTP status code from the webhook endpoint
71
+ sig { returns(T.nilable(Integer)) }
72
+ attr_accessor :status_code
73
+
74
+ # Whether the webhook endpoint responded with a 2xx status
75
+ sig { returns(T::Boolean) }
76
+ attr_accessor :success
77
+
78
+ # Response body from the webhook endpoint (truncated if too long)
79
+ sig { returns(T.nilable(String)) }
80
+ attr_accessor :body
81
+
82
+ # Error message if the request failed
83
+ sig { returns(T.nilable(String)) }
84
+ attr_accessor :error
85
+
86
+ sig do
87
+ params(
88
+ duration: Integer,
89
+ event: String,
90
+ status_code: T.nilable(Integer),
91
+ success: T::Boolean,
92
+ body: T.nilable(String),
93
+ error: T.nilable(String)
94
+ ).returns(T.attached_class)
95
+ end
96
+ def self.new(
97
+ # Request duration in milliseconds
98
+ duration:,
99
+ # Event type that was tested
100
+ event:,
101
+ # HTTP status code from the webhook endpoint
102
+ status_code:,
103
+ # Whether the webhook endpoint responded with a 2xx status
104
+ success:,
105
+ # Response body from the webhook endpoint (truncated if too long)
106
+ body: nil,
107
+ # Error message if the request failed
108
+ error: nil
109
+ )
110
+ end
111
+
112
+ sig do
113
+ override.returns(
114
+ {
115
+ duration: Integer,
116
+ event: String,
117
+ status_code: T.nilable(Integer),
118
+ success: T::Boolean,
119
+ body: T.nilable(String),
120
+ error: T.nilable(String)
121
+ }
122
+ )
123
+ end
124
+ def to_hash
125
+ end
126
+ end
127
+ end
128
+ end
129
+ end
@@ -0,0 +1,80 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class WebhookUpdateParams < 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::WebhookUpdateParams, ArkEmail::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(T.nilable(T::Boolean)) }
15
+ attr_reader :all_events
16
+
17
+ sig { params(all_events: T::Boolean).void }
18
+ attr_writer :all_events
19
+
20
+ sig { returns(T.nilable(T::Boolean)) }
21
+ attr_reader :enabled
22
+
23
+ sig { params(enabled: T::Boolean).void }
24
+ attr_writer :enabled
25
+
26
+ sig { returns(T.nilable(T::Array[String])) }
27
+ attr_reader :events
28
+
29
+ sig { params(events: T::Array[String]).void }
30
+ attr_writer :events
31
+
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :name
34
+
35
+ sig { params(name: String).void }
36
+ attr_writer :name
37
+
38
+ sig { returns(T.nilable(String)) }
39
+ attr_reader :url
40
+
41
+ sig { params(url: String).void }
42
+ attr_writer :url
43
+
44
+ sig do
45
+ params(
46
+ all_events: T::Boolean,
47
+ enabled: T::Boolean,
48
+ events: T::Array[String],
49
+ name: String,
50
+ url: String,
51
+ request_options: ArkEmail::RequestOptions::OrHash
52
+ ).returns(T.attached_class)
53
+ end
54
+ def self.new(
55
+ all_events: nil,
56
+ enabled: nil,
57
+ events: nil,
58
+ name: nil,
59
+ url: nil,
60
+ request_options: {}
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ all_events: T::Boolean,
68
+ enabled: T::Boolean,
69
+ events: T::Array[String],
70
+ name: String,
71
+ url: String,
72
+ request_options: ArkEmail::RequestOptions
73
+ }
74
+ )
75
+ end
76
+ def to_hash
77
+ end
78
+ end
79
+ end
80
+ end