mailgun.js 4.1.4 → 4.2.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 (264) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +129 -28
  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/lib/request.ts +1 -1
  210. package/package.json +3 -3
  211. package/test/domains.test.ts +8 -1
  212. package/test/domainsTags.test.ts +345 -0
  213. package/tsconfig.json +2 -2
  214. package/docs/assets/css/main.css +0 -1
  215. package/docs/assets/js/main.js +0 -51
  216. package/docs/assets/js/search.json +0 -1
  217. package/docs/classes/_index_.mailgun.html +0 -294
  218. package/docs/classes/_lib_client_.client.html +0 -405
  219. package/docs/classes/_lib_domains_.domain.html +0 -422
  220. package/docs/classes/_lib_domains_.domainclient.html +0 -620
  221. package/docs/classes/_lib_error_.apierror.html +0 -362
  222. package/docs/classes/_lib_events_.eventclient.html +0 -465
  223. package/docs/classes/_lib_messages_.messagesclient.html +0 -327
  224. package/docs/classes/_lib_parse_.parseclient.html +0 -295
  225. package/docs/classes/_lib_request_.request.html +0 -698
  226. package/docs/classes/_lib_routes_.routesclient.html +0 -403
  227. package/docs/classes/_lib_stats_.stats.html +0 -301
  228. package/docs/classes/_lib_stats_.statsclient.html +0 -357
  229. package/docs/classes/_lib_suppressions_.bounce.html +0 -327
  230. package/docs/classes/_lib_suppressions_.complaint.html +0 -299
  231. package/docs/classes/_lib_suppressions_.suppressionclient.html +0 -599
  232. package/docs/classes/_lib_suppressions_.unsubscribe.html +0 -313
  233. package/docs/classes/_lib_validate_.validateclient.html +0 -292
  234. package/docs/classes/_lib_webhooks_.webhook.html +0 -281
  235. package/docs/classes/_lib_webhooks_.webhookclient.html +0 -539
  236. package/docs/globals.html +0 -199
  237. package/docs/interfaces/_lib_domains_.domaindata.html +0 -352
  238. package/docs/interfaces/_lib_interfaces_apierroroptions_.apierroroptions.html +0 -284
  239. package/docs/interfaces/_lib_interfaces_options_.options.html +0 -267
  240. package/docs/interfaces/_lib_interfaces_requestoptions_.requestoptions.html +0 -285
  241. package/docs/interfaces/_lib_interfaces_statsoptions_.statsoptions.html +0 -262
  242. package/docs/interfaces/_lib_interfaces_supressions_.bouncedata.html +0 -268
  243. package/docs/interfaces/_lib_interfaces_supressions_.complaintdata.html +0 -240
  244. package/docs/interfaces/_lib_interfaces_supressions_.unsubscribedata.html +0 -254
  245. package/docs/modules/_index_.html +0 -186
  246. package/docs/modules/_lib_client_.html +0 -208
  247. package/docs/modules/_lib_domains_.html +0 -199
  248. package/docs/modules/_lib_error_.html +0 -186
  249. package/docs/modules/_lib_events_.html +0 -250
  250. package/docs/modules/_lib_interfaces_apierroroptions_.html +0 -186
  251. package/docs/modules/_lib_interfaces_options_.html +0 -186
  252. package/docs/modules/_lib_interfaces_requestoptions_.html +0 -186
  253. package/docs/modules/_lib_interfaces_statsoptions_.html +0 -186
  254. package/docs/modules/_lib_interfaces_supressions_.html +0 -194
  255. package/docs/modules/_lib_messages_.html +0 -186
  256. package/docs/modules/_lib_parse_.html +0 -186
  257. package/docs/modules/_lib_request_.html +0 -259
  258. package/docs/modules/_lib_routes_.html +0 -186
  259. package/docs/modules/_lib_stats_.html +0 -190
  260. package/docs/modules/_lib_suppressions_.html +0 -262
  261. package/docs/modules/_lib_validate_.html +0 -186
  262. package/docs/modules/_lib_webhooks_.html +0 -190
  263. package/docs/modules/_webpack_config_.html +0 -227
  264. package/docs/modules/_webpack_release_config_.html +0 -227
package/CHANGELOG.md CHANGED
@@ -2,6 +2,45 @@
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.1](https://github.com/mailgun/mailgun.js/compare/v4.2.0...v4.2.1) (2022-02-04)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * Remove redundant logs ([27142a0](https://github.com/mailgun/mailgun.js/commits/27142a0f0af6bbb18463a46c50f36dce66f85ad5))
11
+
12
+
13
+ ### Other changes
14
+
15
+ * Update readme ([ea795e6](https://github.com/mailgun/mailgun.js/commits/ea795e62eea82d575907691a570f867b863c0fb9))
16
+
17
+ ## [4.2.0](https://github.com/mailgun/mailgun.js/compare/v4.1.6...v4.2.0) (2022-02-02)
18
+
19
+
20
+ ### Features
21
+
22
+ * Add domains tags functionality ([6cc41e3](https://github.com/mailgun/mailgun.js/commits/6cc41e30f20f70d9dc4a4ec247a600e553d706f4))
23
+
24
+
25
+ ### Other changes
26
+
27
+ * Add tests for new functionality ([e741689](https://github.com/mailgun/mailgun.js/commits/e741689123de9648c35eee4e31f95bb38b86aa78))
28
+
29
+ ### [4.1.6](https://github.com/mailgun/mailgun.js/compare/v4.1.5...v4.1.6) (2022-01-24)
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * Update "mocha" to fix "nanoid" dependency ([4e122cf](https://github.com/mailgun/mailgun.js/commits/4e122cffc6d35967bf70380a9003938949a6f442))
35
+ * Update "typedoc" version to fix "marked" version ([a84a252](https://github.com/mailgun/mailgun.js/commits/a84a25231e877313c2756cefd89da64d98065196))
36
+
37
+
38
+ ### Other changes
39
+
40
+ * Recompile documentation ([f068746](https://github.com/mailgun/mailgun.js/commits/f0687462e35c237909fbf133a0c563da4a87f6bd))
41
+
42
+ ### [4.1.5](https://github.com/mailgun/mailgun.js/compare/v4.1.4...v4.1.5) (2022-01-24)
43
+
5
44
  ### [4.1.4](https://github.com/mailgun/mailgun.js/compare/v4.1.3...v4.1.4) (2021-12-23)
6
45
 
7
46
 
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)
@@ -136,7 +129,7 @@ Method naming conventions:
136
129
 
137
130
  #### create
138
131
 
139
- `mg.messages.create(domain, data)` - [api docs](https://documentation.mailgun.com/api-sending.html#sending)
132
+ `mg.messages.create(domain, data)` - [api docs](https://documentation.mailgun.com/en/latest/api-sending.html)
140
133
 
141
134
  Options:
142
135
 
@@ -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
+ }