mailgun.js 4.1.5 → 4.2.2

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 (263) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +128 -27
  3. package/dist/lib/domains.d.ts +4 -1
  4. package/dist/lib/domainsTags.d.ts +34 -0
  5. package/dist/lib/interfaces/DomainTags.d.ts +228 -0
  6. package/dist/mailgun.node.js +2 -2
  7. package/dist/mailgun.node.js.LICENSE.txt +1 -1
  8. package/dist/mailgun.web.js +2 -2
  9. package/dist/mailgun.web.js.LICENSE.txt +1 -1
  10. package/docs/.nojekyll +1 -0
  11. package/docs/assets/highlight.css +127 -0
  12. package/docs/assets/icons.css +1043 -0
  13. package/docs/assets/{images/icons.png → icons.png} +0 -0
  14. package/docs/assets/{images/icons@2x.png → icons@2x.png} +0 -0
  15. package/docs/assets/main.js +52 -0
  16. package/docs/assets/search.js +1 -0
  17. package/docs/assets/style.css +1413 -0
  18. package/docs/assets/{images/widgets.png → widgets.png} +0 -0
  19. package/docs/assets/{images/widgets@2x.png → widgets@2x.png} +0 -0
  20. package/docs/classes/client.default.html +1 -0
  21. package/docs/classes/domains.Domain.html +1 -0
  22. package/docs/classes/domains.default.html +1 -0
  23. package/docs/classes/domainsCredentials.default.html +1 -0
  24. package/docs/classes/domainsTemplates.DomainTemplateItem.html +1 -0
  25. package/docs/classes/domainsTemplates.default.html +1 -0
  26. package/docs/classes/error.default.html +6 -0
  27. package/docs/classes/events.default.html +1 -0
  28. package/docs/classes/ip_pools.default.html +1 -0
  29. package/docs/classes/ips.default.html +1 -0
  30. package/docs/classes/lists.default.html +1 -0
  31. package/docs/classes/mailListMembers.default.html +1 -0
  32. package/docs/classes/messages.default.html +1 -0
  33. package/docs/classes/multipleValidation.default.html +1 -0
  34. package/docs/classes/request.default.html +1 -0
  35. package/docs/classes/routes.default.html +1 -0
  36. package/docs/classes/stats.default.html +1 -0
  37. package/docs/classes/suppressions.default.html +1 -0
  38. package/docs/classes/validate.default.html +1 -0
  39. package/docs/classes/webhooks.default.html +1 -0
  40. package/docs/enums/interfaces_DomainTemplates.Pages.html +1 -0
  41. package/docs/enums/interfaces_DomainTemplates.YesNo.html +1 -0
  42. package/docs/index.html +1140 -1308
  43. package/docs/interfaces/interfaces_APIErrorOptions.default.html +1 -0
  44. package/docs/interfaces/interfaces_ApiResponse.default.html +1 -0
  45. package/docs/interfaces/interfaces_DomainCredentials.CreatedUpdatedDomainCredentialsResponse.html +1 -0
  46. package/docs/interfaces/interfaces_DomainCredentials.DeletedDomainCredentialsResponse.html +1 -0
  47. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentials.html +1 -0
  48. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsItem.html +1 -0
  49. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsList.html +1 -0
  50. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsQuery.html +1 -0
  51. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsResponseData.html +1 -0
  52. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsResult.html +1 -0
  53. package/docs/interfaces/interfaces_DomainCredentials.IDomainCredentials.html +1 -0
  54. package/docs/interfaces/interfaces_DomainCredentials.UpdateDomainCredentialsData.html +1 -0
  55. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateAPIResponse.html +1 -0
  56. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateVersionAPIResponse.html +1 -0
  57. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateVersionResult.html +1 -0
  58. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplate.html +1 -0
  59. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateData.html +1 -0
  60. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateUpdateData.html +1 -0
  61. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateUpdateVersionData.html +1 -0
  62. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateVersionData.html +1 -0
  63. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplatesQuery.html +1 -0
  64. package/docs/interfaces/interfaces_DomainTemplates.GetDomainTemplateAPIResponse.html +1 -0
  65. package/docs/interfaces/interfaces_DomainTemplates.IDomainTemplatesClient.html +1 -0
  66. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplateVersionsAPIResponse.html +1 -0
  67. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplateVersionsResult.html +1 -0
  68. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplatesAPIResponse.html +1 -0
  69. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplatesResult.html +1 -0
  70. package/docs/interfaces/interfaces_DomainTemplates.MutateDomainTemplateVersionAPIResponse.html +1 -0
  71. package/docs/interfaces/interfaces_DomainTemplates.MutateDomainTemplateVersionResult.html +1 -0
  72. package/docs/interfaces/interfaces_DomainTemplates.NotificationAPIResponse.html +1 -0
  73. package/docs/interfaces/interfaces_DomainTemplates.NotificationResult.html +1 -0
  74. package/docs/interfaces/interfaces_DomainTemplates.ShortTemplateVersion.html +1 -0
  75. package/docs/interfaces/interfaces_DomainTemplates.TemplateQuery.html +1 -0
  76. package/docs/interfaces/interfaces_DomainTemplates.TemplateVersion.html +1 -0
  77. package/docs/interfaces/interfaces_DomainTemplates.UpdateOrDeleteDomainTemplateAPIResponse.html +1 -0
  78. package/docs/interfaces/interfaces_DomainTemplates.UpdateOrDeleteDomainTemplateResult.html +1 -0
  79. package/docs/interfaces/interfaces_DomainTracking.ClickTrackingInfo.html +1 -0
  80. package/docs/interfaces/interfaces_DomainTracking.DomainTrackingData.html +1 -0
  81. package/docs/interfaces/interfaces_DomainTracking.DomainTrackingResponse.html +1 -0
  82. package/docs/interfaces/interfaces_DomainTracking.OpenTrackingInfo.html +1 -0
  83. package/docs/interfaces/interfaces_DomainTracking.UnsubscribeTrackingInfo.html +1 -0
  84. package/docs/interfaces/interfaces_DomainTracking.UpdateDomainTrackingResponse.html +1 -0
  85. package/docs/interfaces/interfaces_DomainTracking.UpdatedOpenTracking.html +1 -0
  86. package/docs/interfaces/interfaces_Domains.ConnectionSettings.html +1 -0
  87. package/docs/interfaces/interfaces_Domains.ConnectionSettingsResponse.html +1 -0
  88. package/docs/interfaces/interfaces_Domains.DKIMAuthorityInfo.html +1 -0
  89. package/docs/interfaces/interfaces_Domains.DKIMSelectorInfo.html +1 -0
  90. package/docs/interfaces/interfaces_Domains.DNSRecord.html +1 -0
  91. package/docs/interfaces/interfaces_Domains.DestroyedDomainResponse.html +1 -0
  92. package/docs/interfaces/interfaces_Domains.DomainData.html +1 -0
  93. package/docs/interfaces/interfaces_Domains.DomainInfo.html +1 -0
  94. package/docs/interfaces/interfaces_Domains.DomainListResponseData.html +1 -0
  95. package/docs/interfaces/interfaces_Domains.DomainResponseData.html +1 -0
  96. package/docs/interfaces/interfaces_Domains.DomainShortData.html +1 -0
  97. package/docs/interfaces/interfaces_Domains.DomainsListItem.html +1 -0
  98. package/docs/interfaces/interfaces_Domains.DomainsQuery.html +1 -0
  99. package/docs/interfaces/interfaces_Domains.MessageResponse.html +1 -0
  100. package/docs/interfaces/interfaces_Domains.ReplacementForPool.html +1 -0
  101. package/docs/interfaces/interfaces_Domains.UpdatedConnectionSettings.html +1 -0
  102. package/docs/interfaces/interfaces_Domains.UpdatedConnectionSettingsRes.html +1 -0
  103. package/docs/interfaces/interfaces_Domains.UpdatedDKIMAuthority.html +1 -0
  104. package/docs/interfaces/interfaces_Domains.UpdatedDKIMAuthorityResponse.html +1 -0
  105. package/docs/interfaces/interfaces_Domains.UpdatedDKIMSelectorResponse.html +1 -0
  106. package/docs/interfaces/interfaces_Domains.UpdatedWebPrefix.html +1 -0
  107. package/docs/interfaces/interfaces_Domains.UpdatedWebPrefixResponse.html +1 -0
  108. package/docs/interfaces/interfaces_Domains.WebPrefixInfo.html +1 -0
  109. package/docs/interfaces/interfaces_Events.DomainEvent.html +1 -0
  110. package/docs/interfaces/interfaces_Events.EventsList.html +1 -0
  111. package/docs/interfaces/interfaces_Events.EventsPage.html +1 -0
  112. package/docs/interfaces/interfaces_Events.EventsResponse.html +1 -0
  113. package/docs/interfaces/interfaces_Events.PagesList.html +1 -0
  114. package/docs/interfaces/interfaces_Events.PagesListAccumulator.html +1 -0
  115. package/docs/interfaces/interfaces_Events.ParsedPage.html +1 -0
  116. package/docs/interfaces/interfaces_Events.ParsedPagesList.html +1 -0
  117. package/docs/interfaces/interfaces_IFormData.IFormDataOptions.html +1 -0
  118. package/docs/interfaces/interfaces_IFormData.InputFormData.html +1 -0
  119. package/docs/interfaces/interfaces_IpPools.IpPool.html +1 -0
  120. package/docs/interfaces/interfaces_IpPools.IpPoolListResponse.html +1 -0
  121. package/docs/interfaces/interfaces_IpPools.IpPoolUpdateData.html +1 -0
  122. package/docs/interfaces/interfaces_Ips.IpData.html +1 -0
  123. package/docs/interfaces/interfaces_Ips.IpsListResponseBody.html +1 -0
  124. package/docs/interfaces/interfaces_MultipleValidation.CanceledMultipleValidationJob.html +1 -0
  125. package/docs/interfaces/interfaces_MultipleValidation.CreatedMultipleValidationJob.html +1 -0
  126. package/docs/interfaces/interfaces_MultipleValidation.IMultipleValidationClient.html +1 -0
  127. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJob.html +1 -0
  128. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJobsListResponse.html +1 -0
  129. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJobsListResult.html +1 -0
  130. package/docs/interfaces/interfaces_MultipleValidation.PagesList.html +1 -0
  131. package/docs/interfaces/interfaces_Options.default.html +1 -0
  132. package/docs/interfaces/interfaces_RequestOptions.default.html +1 -0
  133. package/docs/interfaces/interfaces_StatsOptions.Stat.html +1 -0
  134. package/docs/interfaces/interfaces_StatsOptions.StatsOptions.html +1 -0
  135. package/docs/interfaces/interfaces_StatsOptions.StatsQuery.html +1 -0
  136. package/docs/interfaces/interfaces_Supressions.BounceData.html +1 -0
  137. package/docs/interfaces/interfaces_Supressions.ComplaintData.html +1 -0
  138. package/docs/interfaces/interfaces_Supressions.UnsubscribeData.html +1 -0
  139. package/docs/interfaces/interfaces_Supressions.WhiteListData.html +1 -0
  140. package/docs/interfaces/interfaces_Validate.ValidationResponse.html +1 -0
  141. package/docs/interfaces/interfaces_Validate.ValidationResult.html +1 -0
  142. package/docs/interfaces/interfaces_Webhooks.APIWebhook.html +1 -0
  143. package/docs/interfaces/interfaces_Webhooks.ValidationResponse.html +1 -0
  144. package/docs/interfaces/interfaces_Webhooks.WebhookList.html +1 -0
  145. package/docs/interfaces/interfaces_Webhooks.WebhookResponse.html +1 -0
  146. package/docs/interfaces/interfaces_Webhooks.WebhookResponseBody.html +1 -0
  147. package/docs/interfaces/interfaces_Webhooks.WebhooksQuery.html +1 -0
  148. package/docs/interfaces/interfaces_lists.CreateUpdateList.html +1 -0
  149. package/docs/interfaces/interfaces_lists.DestroyedList.html +1 -0
  150. package/docs/interfaces/interfaces_lists.ListsQuery.html +1 -0
  151. package/docs/interfaces/interfaces_lists.MailingList.html +1 -0
  152. package/docs/interfaces/interfaces_mailListMembers.CreateUpdateMailListMembers.html +1 -0
  153. package/docs/interfaces/interfaces_mailListMembers.CreateUpdateMailListMembersReq.html +1 -0
  154. package/docs/interfaces/interfaces_mailListMembers.DeletedMember.html +1 -0
  155. package/docs/interfaces/interfaces_mailListMembers.IMailListsMembers.html +1 -0
  156. package/docs/interfaces/interfaces_mailListMembers.MailListMember.html +1 -0
  157. package/docs/interfaces/interfaces_mailListMembers.MailListMembersQuery.html +1 -0
  158. package/docs/interfaces/interfaces_mailListMembers.MultipleMembersData.html +1 -0
  159. package/docs/interfaces/interfaces_mailListMembers.MultipleMembersReqData.html +1 -0
  160. package/docs/interfaces/interfaces_mailListMembers.NewMultipleMembersResponse.html +1 -0
  161. package/docs/interfaces/interfaces_routes.CreateUpdateRouteData.html +1 -0
  162. package/docs/interfaces/interfaces_routes.DestroyRouteResponse.html +1 -0
  163. package/docs/interfaces/interfaces_routes.Route.html +1 -0
  164. package/docs/interfaces/interfaces_routes.RoutesListQuery.html +1 -0
  165. package/docs/interfaces/interfaces_routes.UpdateRouteResponse.html +1 -0
  166. package/docs/modules/client.html +1 -0
  167. package/docs/modules/domains.html +1 -0
  168. package/docs/modules/domainsCredentials.html +1 -0
  169. package/docs/modules/domainsTemplates.html +1 -0
  170. package/docs/modules/error.html +1 -0
  171. package/docs/modules/events.html +1 -0
  172. package/docs/modules/interfaces_APIErrorOptions.html +1 -0
  173. package/docs/modules/interfaces_ApiResponse.html +1 -0
  174. package/docs/modules/interfaces_DomainCredentials.html +1 -0
  175. package/docs/modules/interfaces_DomainTemplates.html +1 -0
  176. package/docs/modules/interfaces_DomainTracking.html +1 -0
  177. package/docs/modules/interfaces_Domains.html +1 -0
  178. package/docs/modules/interfaces_Events.html +1 -0
  179. package/docs/modules/interfaces_IFormData.html +1 -0
  180. package/docs/modules/interfaces_IpPools.html +1 -0
  181. package/docs/modules/interfaces_Ips.html +1 -0
  182. package/docs/modules/interfaces_MultipleValidation.html +1 -0
  183. package/docs/modules/interfaces_Options.html +1 -0
  184. package/docs/modules/interfaces_RequestOptions.html +1 -0
  185. package/docs/modules/interfaces_StatsOptions.html +1 -0
  186. package/docs/modules/interfaces_Supressions.html +1 -0
  187. package/docs/modules/interfaces_Validate.html +1 -0
  188. package/docs/modules/interfaces_Webhooks.html +1 -0
  189. package/docs/modules/interfaces_lists.html +1 -0
  190. package/docs/modules/interfaces_mailListMembers.html +1 -0
  191. package/docs/modules/interfaces_routes.html +1 -0
  192. package/docs/modules/ip_pools.html +1 -0
  193. package/docs/modules/ips.html +1 -0
  194. package/docs/modules/lists.html +1 -0
  195. package/docs/modules/mailListMembers.html +1 -0
  196. package/docs/modules/messages.html +1 -0
  197. package/docs/modules/multipleValidation.html +1 -0
  198. package/docs/modules/request.html +1 -0
  199. package/docs/modules/routes.html +1 -0
  200. package/docs/modules/stats.html +1 -0
  201. package/docs/modules/suppressions.html +1 -0
  202. package/docs/modules/validate.html +1 -0
  203. package/docs/modules/webhooks.html +1 -0
  204. package/docs/modules.html +1 -0
  205. package/lib/client.ts +8 -1
  206. package/lib/domains.ts +7 -2
  207. package/lib/domainsTags.ts +165 -0
  208. package/lib/interfaces/DomainTags.ts +262 -0
  209. package/package.json +3 -3
  210. package/test/domains.test.ts +8 -1
  211. package/test/domainsTags.test.ts +345 -0
  212. package/tsconfig.json +2 -2
  213. package/docs/assets/css/main.css +0 -1
  214. package/docs/assets/js/main.js +0 -51
  215. package/docs/assets/js/search.json +0 -1
  216. package/docs/classes/_index_.mailgun.html +0 -294
  217. package/docs/classes/_lib_client_.client.html +0 -405
  218. package/docs/classes/_lib_domains_.domain.html +0 -422
  219. package/docs/classes/_lib_domains_.domainclient.html +0 -620
  220. package/docs/classes/_lib_error_.apierror.html +0 -362
  221. package/docs/classes/_lib_events_.eventclient.html +0 -465
  222. package/docs/classes/_lib_messages_.messagesclient.html +0 -327
  223. package/docs/classes/_lib_parse_.parseclient.html +0 -295
  224. package/docs/classes/_lib_request_.request.html +0 -698
  225. package/docs/classes/_lib_routes_.routesclient.html +0 -403
  226. package/docs/classes/_lib_stats_.stats.html +0 -301
  227. package/docs/classes/_lib_stats_.statsclient.html +0 -357
  228. package/docs/classes/_lib_suppressions_.bounce.html +0 -327
  229. package/docs/classes/_lib_suppressions_.complaint.html +0 -299
  230. package/docs/classes/_lib_suppressions_.suppressionclient.html +0 -599
  231. package/docs/classes/_lib_suppressions_.unsubscribe.html +0 -313
  232. package/docs/classes/_lib_validate_.validateclient.html +0 -292
  233. package/docs/classes/_lib_webhooks_.webhook.html +0 -281
  234. package/docs/classes/_lib_webhooks_.webhookclient.html +0 -539
  235. package/docs/globals.html +0 -199
  236. package/docs/interfaces/_lib_domains_.domaindata.html +0 -352
  237. package/docs/interfaces/_lib_interfaces_apierroroptions_.apierroroptions.html +0 -284
  238. package/docs/interfaces/_lib_interfaces_options_.options.html +0 -267
  239. package/docs/interfaces/_lib_interfaces_requestoptions_.requestoptions.html +0 -285
  240. package/docs/interfaces/_lib_interfaces_statsoptions_.statsoptions.html +0 -262
  241. package/docs/interfaces/_lib_interfaces_supressions_.bouncedata.html +0 -268
  242. package/docs/interfaces/_lib_interfaces_supressions_.complaintdata.html +0 -240
  243. package/docs/interfaces/_lib_interfaces_supressions_.unsubscribedata.html +0 -254
  244. package/docs/modules/_index_.html +0 -186
  245. package/docs/modules/_lib_client_.html +0 -208
  246. package/docs/modules/_lib_domains_.html +0 -199
  247. package/docs/modules/_lib_error_.html +0 -186
  248. package/docs/modules/_lib_events_.html +0 -250
  249. package/docs/modules/_lib_interfaces_apierroroptions_.html +0 -186
  250. package/docs/modules/_lib_interfaces_options_.html +0 -186
  251. package/docs/modules/_lib_interfaces_requestoptions_.html +0 -186
  252. package/docs/modules/_lib_interfaces_statsoptions_.html +0 -186
  253. package/docs/modules/_lib_interfaces_supressions_.html +0 -194
  254. package/docs/modules/_lib_messages_.html +0 -186
  255. package/docs/modules/_lib_parse_.html +0 -186
  256. package/docs/modules/_lib_request_.html +0 -259
  257. package/docs/modules/_lib_routes_.html +0 -186
  258. package/docs/modules/_lib_stats_.html +0 -190
  259. package/docs/modules/_lib_suppressions_.html +0 -262
  260. package/docs/modules/_lib_validate_.html +0 -186
  261. package/docs/modules/_lib_webhooks_.html +0 -190
  262. package/docs/modules/_webpack_config_.html +0 -227
  263. package/docs/modules/_webpack_release_config_.html +0 -227
package/CHANGELOG.md CHANGED
@@ -2,6 +2,50 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [4.2.2](https://github.com/mailgun/mailgun.js/compare/v4.2.1...v4.2.2) (2022-02-16)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * Remove reduntant console.log ([3e138dd](https://github.com/mailgun/mailgun.js/commits/3e138ddc5a80dbe9e7a2e424c8095820ebc0fb3f))
11
+
12
+ ### [4.2.1](https://github.com/mailgun/mailgun.js/compare/v4.2.0...v4.2.1) (2022-02-04)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * Remove redundant logs ([27142a0](https://github.com/mailgun/mailgun.js/commits/27142a0f0af6bbb18463a46c50f36dce66f85ad5))
18
+
19
+
20
+ ### Other changes
21
+
22
+ * Update readme ([ea795e6](https://github.com/mailgun/mailgun.js/commits/ea795e62eea82d575907691a570f867b863c0fb9))
23
+
24
+ ## [4.2.0](https://github.com/mailgun/mailgun.js/compare/v4.1.6...v4.2.0) (2022-02-02)
25
+
26
+
27
+ ### Features
28
+
29
+ * Add domains tags functionality ([6cc41e3](https://github.com/mailgun/mailgun.js/commits/6cc41e30f20f70d9dc4a4ec247a600e553d706f4))
30
+
31
+
32
+ ### Other changes
33
+
34
+ * Add tests for new functionality ([e741689](https://github.com/mailgun/mailgun.js/commits/e741689123de9648c35eee4e31f95bb38b86aa78))
35
+
36
+ ### [4.1.6](https://github.com/mailgun/mailgun.js/compare/v4.1.5...v4.1.6) (2022-01-24)
37
+
38
+
39
+ ### Bug Fixes
40
+
41
+ * Update "mocha" to fix "nanoid" dependency ([4e122cf](https://github.com/mailgun/mailgun.js/commits/4e122cffc6d35967bf70380a9003938949a6f442))
42
+ * Update "typedoc" version to fix "marked" version ([a84a252](https://github.com/mailgun/mailgun.js/commits/a84a25231e877313c2756cefd89da64d98065196))
43
+
44
+
45
+ ### Other changes
46
+
47
+ * Recompile documentation ([f068746](https://github.com/mailgun/mailgun.js/commits/f0687462e35c237909fbf133a0c563da4a87f6bd))
48
+
5
49
  ### [4.1.5](https://github.com/mailgun/mailgun.js/compare/v4.1.4...v4.1.5) (2022-01-24)
6
50
 
7
51
  ### [4.1.4](https://github.com/mailgun/mailgun.js/compare/v4.1.3...v4.1.4) (2021-12-23)
package/README.md CHANGED
@@ -43,16 +43,6 @@ const mailgun = new Mailgun(formData);
43
43
  const mg = mailgun.client({username: 'api', key: process.env.MAILGUN_API_KEY || 'key-yourkeyhere'});
44
44
  ```
45
45
 
46
- To use `validate` and `parse` methods, you must additionally include `public_key`. If you're using only those methods, `key` can be an empty string.
47
-
48
- ```js
49
- const mg = mailgun.client({
50
- username: 'api',
51
- key: process.env.MAILGUN_API_KEY || '',
52
- public_key: process.env.MAILGUN_PUBLIC_KEY || 'pubkey-yourkeyhere'
53
- });
54
- ```
55
-
56
46
  In the case your mailgun account is eu hosted you would need to define eu's subdomain as `url` in mailgun's Client constructor:
57
47
 
58
48
  ```js
@@ -102,12 +92,15 @@ The following service methods are available to instantiated clients. The example
102
92
  - [destroy](#destroy-2)
103
93
  - [validate](#validate)
104
94
  - [get](#get-5)
105
- - [parse](#parse)
106
- - [get](#get-6)
107
- - [lists](#lists)
108
- - [list](#list-4)
109
- - [get](#get-7)
95
+ - [Multiple Validation](#multiple-validation)
110
96
  - [create](#create-5)
97
+ - [list](#list-4)
98
+ - [get](#get-5)
99
+ - [destroy](#destroy-3)
100
+ - [lists](#lists)
101
+ - [list](#list-5)
102
+ - [get](#get-6)
103
+ - [create](#create-6)
111
104
  - [update](#update-2)
112
105
  - [destroy](#destroy-3)
113
106
  - [mailListMembers](#maillistmembers)
@@ -1334,7 +1327,7 @@ Promise Returns: response body
1334
1327
  Example:
1335
1328
 
1336
1329
  ```js
1337
- mg.validate.get('alice@example.com')
1330
+ mg.validate.get('foo@mailgun.net')
1338
1331
  .then(data => console.log(data)) // logs response body
1339
1332
  .catch(err => console.log(err)); // logs any error
1340
1333
  ```
@@ -1350,29 +1343,137 @@ Promise Returns: response body
1350
1343
  }
1351
1344
  ```
1352
1345
 
1353
- ### parse
1346
+ ### Multiple Validation
1347
+ https://documentation.mailgun.com/en/latest/api-email-validation.html#email-validation
1348
+ #### create
1349
+ `mg.validate.multipleValidation.create('name_of_the_list', { file })`
1354
1350
 
1355
- #### get
1351
+ ```js
1352
+ const fsPromises = require('fs').promises;
1353
+ const filepath = path.resolve(__dirname, '../path_to_your_file_with_emails_list.csv');
1356
1354
 
1357
- `mg.parse.get(addresses, enableDnsEspChecks)`
1355
+ ...
1358
1356
 
1359
- Example:
1357
+ (async () => {
1358
+ try {
1359
+ const file = {
1360
+ filename: 'test.csv',
1361
+ data: await fsPromises.readFile(filepath)
1362
+ };
1363
+
1364
+ const validateBulkResult = await mg.validate.multipleValidation.create('name_of_the_list', { file });
1365
+ console.log('validateBulkResult', validateBulkResult);
1366
+ } catch (error) {
1367
+ console.error(error);
1368
+ }
1369
+ })();
1370
+ ```
1371
+
1372
+ Response shape:
1373
+ ```JSON
1374
+ {
1375
+ "id": "name_of_the_list",
1376
+ "message": "The validation job was submitted."
1377
+ }
1378
+ ```
1379
+
1380
+ #### list
1381
+
1382
+ `mg.validate.multipleValidation.list()`
1360
1383
 
1361
1384
  ```js
1362
- mg.parse.get('Alice <alice@example.com>, example.com', true)
1385
+ mg.validate.multipleValidation.list()
1363
1386
  .then(data => console.log(data)) // logs response body
1364
1387
  .catch(err => console.log(err)); // logs any error
1365
1388
  ```
1366
1389
 
1367
- Promise Returns: response body
1390
+ Response shape:
1391
+ ```JSON
1392
+ {
1393
+ "jobs": [
1394
+ {
1395
+ "created_at": 1643965937,
1396
+ "download_url": {
1397
+ "csv": "csv-url",
1398
+ "json": "json-url"
1399
+ },
1400
+ "id": "name_of_the_list",
1401
+ "quantity": 40,
1402
+ "records_processed": 40,
1403
+ "status": "uploaded",
1404
+ "summary": {
1405
+ "result": {
1406
+ "catch_all": 0,
1407
+ "deliverable": 0,
1408
+ "do_not_send": 0,
1409
+ "undeliverable": 0,
1410
+ "unknown": 40
1411
+ },
1412
+ "risk": { "high": 0, "low": 0, "medium": 0, "unknown": 40 }
1413
+ }
1414
+ }
1415
+ ],
1416
+ "paging": {
1417
+ "first": "https://api.mailgun.net/v4/address/validate/bulk?limit=100&page=first&pivot=",
1418
+ "last": "https://api.mailgun.net/v4/address/validate/bulk?limit=100&page=last&pivot=",
1419
+ "next": "https://api.mailgun.net/v4/address/validate/bulk?limit=100&page=next&pivot=b4808b5b-1111-2222-3333-6cd0b63f41ea",
1420
+ "prev": "https://api.mailgun.net/v4/address/validate/bulk?limit=100&page=prev&pivot="
1421
+ },
1422
+ "total": 1
1423
+ }
1424
+ ```
1425
+
1426
+ #### get
1427
+
1428
+ `mg.validate.multipleValidation.get('name_of_the_list')`
1368
1429
 
1430
+ ```js
1431
+ mg.validate.multipleValidation.get('name_of_the_list')
1432
+ .then(data => console.log(data)) // logs response body
1433
+ .catch(err => console.log(err)); // logs any error
1369
1434
  ```
1435
+
1436
+ Response shape:
1437
+ ```JSON
1438
+ {
1439
+ "created_at": 1643965937,
1440
+ "download_url": {
1441
+ "csv": "csv-url",
1442
+ "json": "json-url"
1443
+ },
1444
+ "id": "name_of_the_list",
1445
+ "quantity": 40,
1446
+ "records_processed": 40,
1447
+ "status": "uploaded",
1448
+ "summary": {
1449
+ "result": {
1450
+ "catch_all": 0,
1451
+ "deliverable": 0,
1452
+ "do_not_send": 0,
1453
+ "undeliverable": 0,
1454
+ "unknown": 40
1455
+ },
1456
+ "risk": { "high": 0, "low": 0, "medium": 0, "unknown": 40 }
1457
+ }
1458
+ }
1459
+ ```
1460
+
1461
+ #### destroy
1462
+
1463
+ `mg.validate.multipleValidation.destroy('name_of_the_list');`
1464
+
1465
+ cancels bulk validation job
1466
+ ```js
1467
+ mg.validate.multipleValidation.destroy('name_of_the_list');
1468
+ .then(data => console.log(data)) // logs response body
1469
+ .catch(err => console.log(err)); // logs any error
1470
+ ```
1471
+
1472
+ Response shape:
1473
+ ```JSON
1370
1474
  {
1371
- parsed: [],
1372
- unparseable: [
1373
- 'Alice <alice@example.com>',
1374
- 'example.com'
1375
- ]
1475
+ "body": "Validation job canceled.",
1476
+ "status": 200
1376
1477
  }
1377
1478
  ```
1378
1479
 
@@ -6,6 +6,8 @@ import { IDomainCredentials } from './interfaces/DomainCredentials';
6
6
  import { IDomainTemplatesClient } from './interfaces/DomainTemplates';
7
7
  import DomainCredentialsClient from './domainsCredentials';
8
8
  import DomainTemplatesClient from './domainsTemplates';
9
+ import { IDomainTagsClient } from './interfaces/DomainTags';
10
+ import DomainTagsClient from './domainsTags';
9
11
  export declare class Domain {
10
12
  name: string;
11
13
  require_tls: boolean;
@@ -25,7 +27,8 @@ export default class DomainClient {
25
27
  request: Request;
26
28
  domainCredentials: IDomainCredentials;
27
29
  domainTemplates: IDomainTemplatesClient;
28
- constructor(request: Request, domainCredentialsClient: DomainCredentialsClient, domainTemplatesClient: DomainTemplatesClient);
30
+ domainTags: IDomainTagsClient;
31
+ constructor(request: Request, domainCredentialsClient: DomainCredentialsClient, domainTemplatesClient: DomainTemplatesClient, domainTagsClient: DomainTagsClient);
29
32
  private _parseMessage;
30
33
  private _parseDomainList;
31
34
  private _parseDomain;
@@ -0,0 +1,34 @@
1
+ import Request from './request';
2
+ import { DomainTagCountriesAggregation, DomainTagDevicesAggregation, DomainTagProvidersAggregation, DomainTagsItem, DomainTagsItemInfo, DomainTagsList, DomainTagsMessageRes, DomainTagsQuery, DomainTagsStatisticQuery, DomainTagStatAPIResponse, DomainTagStatisticItem, DomainTagStatisticResult, IDomainTagsClient, Resolution } from './interfaces/DomainTags';
3
+ export declare class DomainTag implements DomainTagsItem {
4
+ tag: string;
5
+ description: string;
6
+ 'first-seen': Date;
7
+ 'last-seen': Date;
8
+ constructor(tagInfo: DomainTagsItemInfo);
9
+ }
10
+ export declare class DomainTagStatistic implements DomainTagStatisticResult {
11
+ tag: string;
12
+ description: string;
13
+ start: Date;
14
+ end: Date;
15
+ resolution: Resolution;
16
+ stats: DomainTagStatisticItem[];
17
+ constructor(tagStatisticInfo: DomainTagStatAPIResponse);
18
+ }
19
+ export default class DomainTagsClient implements IDomainTagsClient {
20
+ baseRoute: string;
21
+ request: Request;
22
+ constructor(request: Request);
23
+ private _parsePageLinks;
24
+ private _parseDomainTagsList;
25
+ private _parseTagStatistic;
26
+ list(domain: string, query?: DomainTagsQuery): Promise<DomainTagsList>;
27
+ get(domain: string, tag: string): Promise<DomainTagsItem>;
28
+ update(domain: string, tag: string, description: string): Promise<DomainTagsMessageRes>;
29
+ destroy(domain: string, tag: string): Promise<DomainTagsMessageRes>;
30
+ statistic(domain: string, tag: string, query: DomainTagsStatisticQuery): Promise<DomainTagStatistic>;
31
+ countries(domain: string, tag: string): Promise<DomainTagCountriesAggregation>;
32
+ providers(domain: string, tag: string): Promise<DomainTagProvidersAggregation>;
33
+ devices(domain: string, tag: string): Promise<DomainTagDevicesAggregation>;
34
+ }
@@ -0,0 +1,228 @@
1
+ import { DomainTagStatistic } from '../domainsTags';
2
+ export declare enum Resolution {
3
+ HOUR = "hour",
4
+ DAY = "day",
5
+ MONTH = "month"
6
+ }
7
+ export interface DomainTagsQuery {
8
+ limit: number;
9
+ }
10
+ export interface DomainTagsStatisticQuery {
11
+ event: string;
12
+ start?: number;
13
+ end?: number;
14
+ resolution?: Resolution;
15
+ duration?: string;
16
+ }
17
+ export interface DomainTagsItemInfo {
18
+ tag: string;
19
+ description: string;
20
+ 'first-seen': string;
21
+ 'last-seen': string;
22
+ }
23
+ export interface DomainTagsItem {
24
+ tag: string;
25
+ description: string;
26
+ 'first-seen': Date;
27
+ 'last-seen': Date;
28
+ }
29
+ export interface PagesList {
30
+ previous: string;
31
+ first: string;
32
+ last: string;
33
+ next: string;
34
+ }
35
+ export interface ParsedPage {
36
+ id: string;
37
+ url: string;
38
+ }
39
+ export interface ParsedPagesList {
40
+ previous: ParsedPage;
41
+ first: ParsedPage;
42
+ last: ParsedPage;
43
+ next: ParsedPage;
44
+ }
45
+ export interface TagsPage {
46
+ id: string;
47
+ url: string;
48
+ }
49
+ export interface PagesListAccumulator {
50
+ [index: string]: TagsPage;
51
+ }
52
+ export interface DomainTagsResponseData {
53
+ status: number;
54
+ body: {
55
+ items: DomainTagsItemInfo[];
56
+ paging: PagesList;
57
+ };
58
+ }
59
+ export interface DomainTagsList {
60
+ items: DomainTagsItem[];
61
+ pages: ParsedPagesList;
62
+ }
63
+ export interface DomainTagsMessageRes {
64
+ message: string;
65
+ status?: number;
66
+ }
67
+ export interface DomainTagAPIResponseStatsItem {
68
+ time: string;
69
+ accepted?: {
70
+ incoming: number;
71
+ outgoing: number;
72
+ total: number;
73
+ };
74
+ delivered?: {
75
+ smtp: number;
76
+ http: number;
77
+ optimized: number;
78
+ total: number;
79
+ };
80
+ opened?: {
81
+ total: number;
82
+ };
83
+ failed?: {
84
+ temporary: {
85
+ espblock: number;
86
+ total: number;
87
+ };
88
+ permanent: {
89
+ 'suppress-bounce': number;
90
+ 'suppress-unsubscribe': number;
91
+ 'suppress-complaint': number;
92
+ bounce: number;
93
+ 'delayed-bounce': number;
94
+ webhook: number;
95
+ optimized: number;
96
+ total: number;
97
+ };
98
+ };
99
+ clicked?: {
100
+ total: number;
101
+ };
102
+ unsubscribed?: {
103
+ total: number;
104
+ };
105
+ complained?: {
106
+ total: number;
107
+ };
108
+ stored?: {
109
+ total: number;
110
+ };
111
+ }
112
+ export interface DomainTagStatAPIResponse {
113
+ body: {
114
+ tag: string;
115
+ description: string;
116
+ start: string;
117
+ end: string;
118
+ resolution: Resolution;
119
+ stats: DomainTagAPIResponseStatsItem[];
120
+ };
121
+ }
122
+ export interface DomainTagStatisticItem extends Omit<DomainTagAPIResponseStatsItem, 'time'> {
123
+ time: Date;
124
+ }
125
+ export interface DomainTagStatisticResult {
126
+ tag: string;
127
+ description: string;
128
+ start: Date;
129
+ end: Date;
130
+ resolution: Resolution;
131
+ stats: DomainTagStatisticItem[];
132
+ }
133
+ export interface DomainTagCountriesAPIResponse {
134
+ body: {
135
+ tag: string;
136
+ country: {
137
+ [key: string]: {
138
+ clicked: number;
139
+ complained: number;
140
+ opened: number;
141
+ unique_clicked: number;
142
+ unique_opened: number;
143
+ unsubscribed: number;
144
+ };
145
+ };
146
+ };
147
+ }
148
+ export interface DomainTagCountriesAggregation {
149
+ tag: string;
150
+ country: {
151
+ [key: string]: {
152
+ clicked: number;
153
+ complained: number;
154
+ opened: number;
155
+ unique_clicked: number;
156
+ unique_opened: number;
157
+ unsubscribed: number;
158
+ };
159
+ };
160
+ }
161
+ export interface DomainTagProvidersAPIResponse {
162
+ body: {
163
+ tag: string;
164
+ provider: {
165
+ [key: string]: {
166
+ accepted: number;
167
+ clicked: number;
168
+ complained: number;
169
+ delivered: number;
170
+ opened: number;
171
+ unique_clicked: number;
172
+ unique_opened: number;
173
+ unsubscribed: number;
174
+ };
175
+ };
176
+ };
177
+ status: number;
178
+ }
179
+ export interface DomainTagProvidersAggregation {
180
+ tag: string;
181
+ provider: {
182
+ [key: string]: {
183
+ accepted: number;
184
+ clicked: number;
185
+ complained: number;
186
+ delivered: number;
187
+ opened: number;
188
+ unique_clicked: number;
189
+ unique_opened: number;
190
+ unsubscribed: number;
191
+ };
192
+ };
193
+ }
194
+ export interface DeviceStatistic {
195
+ clicked: number;
196
+ complained: number;
197
+ opened: number;
198
+ unique_clicked: number;
199
+ unique_opened: number;
200
+ unsubscribed: number;
201
+ }
202
+ export interface DevicesTypes {
203
+ desktop: DeviceStatistic;
204
+ mobile: DeviceStatistic;
205
+ tablet: DeviceStatistic;
206
+ unknown: DeviceStatistic;
207
+ }
208
+ export interface DomainTagDevicesAPIResponse {
209
+ body: {
210
+ tag: string;
211
+ device: DevicesTypes;
212
+ };
213
+ status: number;
214
+ }
215
+ export interface DomainTagDevicesAggregation {
216
+ tag: string;
217
+ device: DevicesTypes;
218
+ }
219
+ export interface IDomainTagsClient {
220
+ list(domain: string): Promise<DomainTagsList>;
221
+ get(domain: string, tag: string): Promise<DomainTagsItem>;
222
+ update(domain: string, tag: string, description: string): Promise<DomainTagsMessageRes>;
223
+ destroy(domain: string, tag: string): Promise<DomainTagsMessageRes>;
224
+ statistic(domain: string, tag: string, query: DomainTagsStatisticQuery): Promise<DomainTagStatistic>;
225
+ countries(domain: string, tag: string): Promise<DomainTagCountriesAggregation>;
226
+ providers(domain: string, tag: string): Promise<DomainTagProvidersAggregation>;
227
+ devices(domain: string, tag: string): Promise<DomainTagDevicesAggregation>;
228
+ }