mailgun.js 5.0.2 → 5.0.5

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 (315) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +15 -3
  3. package/client.d.ts +29 -0
  4. package/domains.d.ts +53 -0
  5. package/domainsCredentials.d.ts +14 -0
  6. package/domainsTags.d.ts +34 -0
  7. package/domainsTemplates.d.ts +35 -0
  8. package/error.d.ts +7 -0
  9. package/events.d.ts +13 -0
  10. package/index.d.ts +9 -0
  11. package/interfaces/APIErrorOptions.d.ts +11 -0
  12. package/{lib/interfaces/ApiResponse.ts → interfaces/ApiResponse.d.ts} +1 -2
  13. package/{lib/interfaces/DomainCredentials.ts → interfaces/DomainCredentials.d.ts} +14 -30
  14. package/{lib/interfaces/DomainTags.ts → interfaces/DomainTags.d.ts} +49 -83
  15. package/{lib/interfaces/DomainTemplates.ts → interfaces/DomainTemplates.d.ts} +35 -79
  16. package/{lib/interfaces/DomainTracking.ts → interfaces/DomainTracking.d.ts} +18 -17
  17. package/{lib/interfaces/Domains.ts → interfaces/Domains.d.ts} +32 -53
  18. package/{lib/interfaces/Events.ts → interfaces/Events.d.ts} +11 -12
  19. package/interfaces/IFormData.d.ts +7 -0
  20. package/interfaces/IMailgunClient.d.ts +24 -0
  21. package/interfaces/IpPools.d.ts +19 -0
  22. package/interfaces/Ips.d.ts +10 -0
  23. package/interfaces/Messages.d.ts +165 -0
  24. package/{lib/interfaces/MultipleValidation.ts → interfaces/MultipleValidation.d.ts} +9 -16
  25. package/interfaces/Options.d.ts +8 -0
  26. package/{lib/interfaces/RequestOptions.ts → interfaces/RequestOptions.d.ts} +2 -4
  27. package/interfaces/StatsOptions.d.ts +22 -0
  28. package/interfaces/Supressions.d.ts +103 -0
  29. package/{lib/interfaces/Validate.ts → interfaces/Validate.d.ts} +0 -3
  30. package/{lib/interfaces/Webhooks.ts → interfaces/Webhooks.d.ts} +11 -17
  31. package/{lib/interfaces/lists.ts → interfaces/lists.d.ts} +1 -5
  32. package/{lib/interfaces/mailListMembers.ts → interfaces/mailListMembers.d.ts} +8 -23
  33. package/{lib/interfaces/routes.ts → interfaces/routes.d.ts} +1 -6
  34. package/ip-pools.d.ts +21 -0
  35. package/ips.d.ts +9 -0
  36. package/lists.d.ts +14 -0
  37. package/mailListMembers.d.ts +14 -0
  38. package/mailgun.node.js +3 -0
  39. package/{dist/mailgun.node.js.LICENSE.txt → mailgun.node.js.LICENSE.txt} +1 -1
  40. package/mailgun.web.js +3 -0
  41. package/{dist/mailgun.web.js.LICENSE.txt → mailgun.web.js.LICENSE.txt} +1 -3
  42. package/messages.d.ts +8 -0
  43. package/multipleValidation.d.ts +10 -0
  44. package/package.json +9 -83
  45. package/request.d.ts +31 -0
  46. package/routes.d.ts +11 -0
  47. package/stats.d.ts +20 -0
  48. package/suppressions.d.ts +50 -0
  49. package/validate.d.ts +9 -0
  50. package/version.md +1 -0
  51. package/webhooks.d.ts +32 -0
  52. package/.editorconfig +0 -10
  53. package/.eslintrc +0 -56
  54. package/.husky/commit-msg +0 -4
  55. package/.travis.yml +0 -5
  56. package/LICENSE +0 -191
  57. package/commitlint.config.js +0 -7
  58. package/dist/mailgun.js.d.ts +0 -1573
  59. package/dist/mailgun.node.js +0 -3
  60. package/dist/mailgun.web.js +0 -3
  61. package/docs/.nojekyll +0 -1
  62. package/docs/assets/highlight.css +0 -127
  63. package/docs/assets/icons.css +0 -1043
  64. package/docs/assets/icons.png +0 -0
  65. package/docs/assets/icons@2x.png +0 -0
  66. package/docs/assets/main.js +0 -52
  67. package/docs/assets/search.js +0 -1
  68. package/docs/assets/style.css +0 -1413
  69. package/docs/assets/widgets.png +0 -0
  70. package/docs/assets/widgets@2x.png +0 -0
  71. package/docs/classes/client.default.html +0 -1
  72. package/docs/classes/domains.Domain.html +0 -1
  73. package/docs/classes/domains.default.html +0 -1
  74. package/docs/classes/domainsCredentials.default.html +0 -1
  75. package/docs/classes/domainsTemplates.DomainTemplateItem.html +0 -1
  76. package/docs/classes/domainsTemplates.default.html +0 -1
  77. package/docs/classes/error.default.html +0 -6
  78. package/docs/classes/events.default.html +0 -1
  79. package/docs/classes/ip_pools.default.html +0 -1
  80. package/docs/classes/ips.default.html +0 -1
  81. package/docs/classes/lists.default.html +0 -1
  82. package/docs/classes/mailListMembers.default.html +0 -1
  83. package/docs/classes/messages.default.html +0 -1
  84. package/docs/classes/multipleValidation.default.html +0 -1
  85. package/docs/classes/request.default.html +0 -1
  86. package/docs/classes/routes.default.html +0 -1
  87. package/docs/classes/stats.default.html +0 -1
  88. package/docs/classes/suppressions.default.html +0 -1
  89. package/docs/classes/validate.default.html +0 -1
  90. package/docs/classes/webhooks.default.html +0 -1
  91. package/docs/enums/interfaces_DomainTemplates.Pages.html +0 -1
  92. package/docs/enums/interfaces_DomainTemplates.YesNo.html +0 -1
  93. package/docs/index.html +0 -1140
  94. package/docs/interfaces/interfaces_APIErrorOptions.default.html +0 -1
  95. package/docs/interfaces/interfaces_ApiResponse.default.html +0 -1
  96. package/docs/interfaces/interfaces_DomainCredentials.CreatedUpdatedDomainCredentialsResponse.html +0 -1
  97. package/docs/interfaces/interfaces_DomainCredentials.DeletedDomainCredentialsResponse.html +0 -1
  98. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentials.html +0 -1
  99. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsItem.html +0 -1
  100. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsList.html +0 -1
  101. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsQuery.html +0 -1
  102. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsResponseData.html +0 -1
  103. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsResult.html +0 -1
  104. package/docs/interfaces/interfaces_DomainCredentials.IDomainCredentials.html +0 -1
  105. package/docs/interfaces/interfaces_DomainCredentials.UpdateDomainCredentialsData.html +0 -1
  106. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateAPIResponse.html +0 -1
  107. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateVersionAPIResponse.html +0 -1
  108. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateVersionResult.html +0 -1
  109. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplate.html +0 -1
  110. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateData.html +0 -1
  111. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateUpdateData.html +0 -1
  112. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateUpdateVersionData.html +0 -1
  113. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateVersionData.html +0 -1
  114. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplatesQuery.html +0 -1
  115. package/docs/interfaces/interfaces_DomainTemplates.GetDomainTemplateAPIResponse.html +0 -1
  116. package/docs/interfaces/interfaces_DomainTemplates.IDomainTemplatesClient.html +0 -1
  117. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplateVersionsAPIResponse.html +0 -1
  118. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplateVersionsResult.html +0 -1
  119. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplatesAPIResponse.html +0 -1
  120. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplatesResult.html +0 -1
  121. package/docs/interfaces/interfaces_DomainTemplates.MutateDomainTemplateVersionAPIResponse.html +0 -1
  122. package/docs/interfaces/interfaces_DomainTemplates.MutateDomainTemplateVersionResult.html +0 -1
  123. package/docs/interfaces/interfaces_DomainTemplates.NotificationAPIResponse.html +0 -1
  124. package/docs/interfaces/interfaces_DomainTemplates.NotificationResult.html +0 -1
  125. package/docs/interfaces/interfaces_DomainTemplates.ShortTemplateVersion.html +0 -1
  126. package/docs/interfaces/interfaces_DomainTemplates.TemplateQuery.html +0 -1
  127. package/docs/interfaces/interfaces_DomainTemplates.TemplateVersion.html +0 -1
  128. package/docs/interfaces/interfaces_DomainTemplates.UpdateOrDeleteDomainTemplateAPIResponse.html +0 -1
  129. package/docs/interfaces/interfaces_DomainTemplates.UpdateOrDeleteDomainTemplateResult.html +0 -1
  130. package/docs/interfaces/interfaces_DomainTracking.ClickTrackingInfo.html +0 -1
  131. package/docs/interfaces/interfaces_DomainTracking.DomainTrackingData.html +0 -1
  132. package/docs/interfaces/interfaces_DomainTracking.DomainTrackingResponse.html +0 -1
  133. package/docs/interfaces/interfaces_DomainTracking.OpenTrackingInfo.html +0 -1
  134. package/docs/interfaces/interfaces_DomainTracking.UnsubscribeTrackingInfo.html +0 -1
  135. package/docs/interfaces/interfaces_DomainTracking.UpdateDomainTrackingResponse.html +0 -1
  136. package/docs/interfaces/interfaces_DomainTracking.UpdatedOpenTracking.html +0 -1
  137. package/docs/interfaces/interfaces_Domains.ConnectionSettings.html +0 -1
  138. package/docs/interfaces/interfaces_Domains.ConnectionSettingsResponse.html +0 -1
  139. package/docs/interfaces/interfaces_Domains.DKIMAuthorityInfo.html +0 -1
  140. package/docs/interfaces/interfaces_Domains.DKIMSelectorInfo.html +0 -1
  141. package/docs/interfaces/interfaces_Domains.DNSRecord.html +0 -1
  142. package/docs/interfaces/interfaces_Domains.DestroyedDomainResponse.html +0 -1
  143. package/docs/interfaces/interfaces_Domains.DomainData.html +0 -1
  144. package/docs/interfaces/interfaces_Domains.DomainInfo.html +0 -1
  145. package/docs/interfaces/interfaces_Domains.DomainListResponseData.html +0 -1
  146. package/docs/interfaces/interfaces_Domains.DomainResponseData.html +0 -1
  147. package/docs/interfaces/interfaces_Domains.DomainShortData.html +0 -1
  148. package/docs/interfaces/interfaces_Domains.DomainsListItem.html +0 -1
  149. package/docs/interfaces/interfaces_Domains.DomainsQuery.html +0 -1
  150. package/docs/interfaces/interfaces_Domains.MessageResponse.html +0 -1
  151. package/docs/interfaces/interfaces_Domains.ReplacementForPool.html +0 -1
  152. package/docs/interfaces/interfaces_Domains.UpdatedConnectionSettings.html +0 -1
  153. package/docs/interfaces/interfaces_Domains.UpdatedConnectionSettingsRes.html +0 -1
  154. package/docs/interfaces/interfaces_Domains.UpdatedDKIMAuthority.html +0 -1
  155. package/docs/interfaces/interfaces_Domains.UpdatedDKIMAuthorityResponse.html +0 -1
  156. package/docs/interfaces/interfaces_Domains.UpdatedDKIMSelectorResponse.html +0 -1
  157. package/docs/interfaces/interfaces_Domains.UpdatedWebPrefix.html +0 -1
  158. package/docs/interfaces/interfaces_Domains.UpdatedWebPrefixResponse.html +0 -1
  159. package/docs/interfaces/interfaces_Domains.WebPrefixInfo.html +0 -1
  160. package/docs/interfaces/interfaces_Events.DomainEvent.html +0 -1
  161. package/docs/interfaces/interfaces_Events.EventsList.html +0 -1
  162. package/docs/interfaces/interfaces_Events.EventsPage.html +0 -1
  163. package/docs/interfaces/interfaces_Events.EventsResponse.html +0 -1
  164. package/docs/interfaces/interfaces_Events.PagesList.html +0 -1
  165. package/docs/interfaces/interfaces_Events.PagesListAccumulator.html +0 -1
  166. package/docs/interfaces/interfaces_Events.ParsedPage.html +0 -1
  167. package/docs/interfaces/interfaces_Events.ParsedPagesList.html +0 -1
  168. package/docs/interfaces/interfaces_IFormData.IFormDataOptions.html +0 -1
  169. package/docs/interfaces/interfaces_IFormData.InputFormData.html +0 -1
  170. package/docs/interfaces/interfaces_IpPools.IpPool.html +0 -1
  171. package/docs/interfaces/interfaces_IpPools.IpPoolListResponse.html +0 -1
  172. package/docs/interfaces/interfaces_IpPools.IpPoolUpdateData.html +0 -1
  173. package/docs/interfaces/interfaces_Ips.IpData.html +0 -1
  174. package/docs/interfaces/interfaces_Ips.IpsListResponseBody.html +0 -1
  175. package/docs/interfaces/interfaces_MultipleValidation.CanceledMultipleValidationJob.html +0 -1
  176. package/docs/interfaces/interfaces_MultipleValidation.CreatedMultipleValidationJob.html +0 -1
  177. package/docs/interfaces/interfaces_MultipleValidation.IMultipleValidationClient.html +0 -1
  178. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJob.html +0 -1
  179. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJobsListResponse.html +0 -1
  180. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJobsListResult.html +0 -1
  181. package/docs/interfaces/interfaces_MultipleValidation.PagesList.html +0 -1
  182. package/docs/interfaces/interfaces_Options.default.html +0 -1
  183. package/docs/interfaces/interfaces_RequestOptions.default.html +0 -1
  184. package/docs/interfaces/interfaces_StatsOptions.Stat.html +0 -1
  185. package/docs/interfaces/interfaces_StatsOptions.StatsOptions.html +0 -1
  186. package/docs/interfaces/interfaces_StatsOptions.StatsQuery.html +0 -1
  187. package/docs/interfaces/interfaces_Supressions.BounceData.html +0 -1
  188. package/docs/interfaces/interfaces_Supressions.ComplaintData.html +0 -1
  189. package/docs/interfaces/interfaces_Supressions.UnsubscribeData.html +0 -1
  190. package/docs/interfaces/interfaces_Supressions.WhiteListData.html +0 -1
  191. package/docs/interfaces/interfaces_Validate.ValidationResponse.html +0 -1
  192. package/docs/interfaces/interfaces_Validate.ValidationResult.html +0 -1
  193. package/docs/interfaces/interfaces_Webhooks.APIWebhook.html +0 -1
  194. package/docs/interfaces/interfaces_Webhooks.ValidationResponse.html +0 -1
  195. package/docs/interfaces/interfaces_Webhooks.WebhookList.html +0 -1
  196. package/docs/interfaces/interfaces_Webhooks.WebhookResponse.html +0 -1
  197. package/docs/interfaces/interfaces_Webhooks.WebhookResponseBody.html +0 -1
  198. package/docs/interfaces/interfaces_Webhooks.WebhooksQuery.html +0 -1
  199. package/docs/interfaces/interfaces_lists.CreateUpdateList.html +0 -1
  200. package/docs/interfaces/interfaces_lists.DestroyedList.html +0 -1
  201. package/docs/interfaces/interfaces_lists.ListsQuery.html +0 -1
  202. package/docs/interfaces/interfaces_lists.MailingList.html +0 -1
  203. package/docs/interfaces/interfaces_mailListMembers.CreateUpdateMailListMembers.html +0 -1
  204. package/docs/interfaces/interfaces_mailListMembers.CreateUpdateMailListMembersReq.html +0 -1
  205. package/docs/interfaces/interfaces_mailListMembers.DeletedMember.html +0 -1
  206. package/docs/interfaces/interfaces_mailListMembers.IMailListsMembers.html +0 -1
  207. package/docs/interfaces/interfaces_mailListMembers.MailListMember.html +0 -1
  208. package/docs/interfaces/interfaces_mailListMembers.MailListMembersQuery.html +0 -1
  209. package/docs/interfaces/interfaces_mailListMembers.MultipleMembersData.html +0 -1
  210. package/docs/interfaces/interfaces_mailListMembers.MultipleMembersReqData.html +0 -1
  211. package/docs/interfaces/interfaces_mailListMembers.NewMultipleMembersResponse.html +0 -1
  212. package/docs/interfaces/interfaces_routes.CreateUpdateRouteData.html +0 -1
  213. package/docs/interfaces/interfaces_routes.DestroyRouteResponse.html +0 -1
  214. package/docs/interfaces/interfaces_routes.Route.html +0 -1
  215. package/docs/interfaces/interfaces_routes.RoutesListQuery.html +0 -1
  216. package/docs/interfaces/interfaces_routes.UpdateRouteResponse.html +0 -1
  217. package/docs/modules/client.html +0 -1
  218. package/docs/modules/domains.html +0 -1
  219. package/docs/modules/domainsCredentials.html +0 -1
  220. package/docs/modules/domainsTemplates.html +0 -1
  221. package/docs/modules/error.html +0 -1
  222. package/docs/modules/events.html +0 -1
  223. package/docs/modules/interfaces_APIErrorOptions.html +0 -1
  224. package/docs/modules/interfaces_ApiResponse.html +0 -1
  225. package/docs/modules/interfaces_DomainCredentials.html +0 -1
  226. package/docs/modules/interfaces_DomainTemplates.html +0 -1
  227. package/docs/modules/interfaces_DomainTracking.html +0 -1
  228. package/docs/modules/interfaces_Domains.html +0 -1
  229. package/docs/modules/interfaces_Events.html +0 -1
  230. package/docs/modules/interfaces_IFormData.html +0 -1
  231. package/docs/modules/interfaces_IpPools.html +0 -1
  232. package/docs/modules/interfaces_Ips.html +0 -1
  233. package/docs/modules/interfaces_MultipleValidation.html +0 -1
  234. package/docs/modules/interfaces_Options.html +0 -1
  235. package/docs/modules/interfaces_RequestOptions.html +0 -1
  236. package/docs/modules/interfaces_StatsOptions.html +0 -1
  237. package/docs/modules/interfaces_Supressions.html +0 -1
  238. package/docs/modules/interfaces_Validate.html +0 -1
  239. package/docs/modules/interfaces_Webhooks.html +0 -1
  240. package/docs/modules/interfaces_lists.html +0 -1
  241. package/docs/modules/interfaces_mailListMembers.html +0 -1
  242. package/docs/modules/interfaces_routes.html +0 -1
  243. package/docs/modules/ip_pools.html +0 -1
  244. package/docs/modules/ips.html +0 -1
  245. package/docs/modules/lists.html +0 -1
  246. package/docs/modules/mailListMembers.html +0 -1
  247. package/docs/modules/messages.html +0 -1
  248. package/docs/modules/multipleValidation.html +0 -1
  249. package/docs/modules/request.html +0 -1
  250. package/docs/modules/routes.html +0 -1
  251. package/docs/modules/stats.html +0 -1
  252. package/docs/modules/suppressions.html +0 -1
  253. package/docs/modules/validate.html +0 -1
  254. package/docs/modules/webhooks.html +0 -1
  255. package/docs/modules.html +0 -1
  256. package/dts-bundle.js +0 -8
  257. package/examples/addresses.js +0 -20
  258. package/examples/index.html +0 -285
  259. package/examples/list-domains.js +0 -8
  260. package/examples/mailgun.png +0 -0
  261. package/examples/rackspace.png +0 -0
  262. package/examples/send-email.js +0 -24
  263. package/lib/client.ts +0 -79
  264. package/lib/domains.ts +0 -224
  265. package/lib/domainsCredentials.ts +0 -88
  266. package/lib/domainsTags.ts +0 -165
  267. package/lib/domainsTemplates.ts +0 -235
  268. package/lib/error.ts +0 -22
  269. package/lib/events.ts +0 -54
  270. package/lib/index.ts +0 -17
  271. package/lib/interfaces/APIErrorOptions.ts +0 -10
  272. package/lib/interfaces/IFormData.ts +0 -9
  273. package/lib/interfaces/IpPools.ts +0 -22
  274. package/lib/interfaces/Ips.ts +0 -12
  275. package/lib/interfaces/Options.ts +0 -10
  276. package/lib/interfaces/StatsOptions.ts +0 -25
  277. package/lib/interfaces/Supressions.ts +0 -86
  278. package/lib/ip-pools.ts +0 -36
  279. package/lib/ips.ts +0 -24
  280. package/lib/lists.ts +0 -45
  281. package/lib/mailListMembers.ts +0 -83
  282. package/lib/messages.ts +0 -27
  283. package/lib/multipleValidation.ts +0 -37
  284. package/lib/request.ts +0 -271
  285. package/lib/routes.ts +0 -37
  286. package/lib/stats.ts +0 -62
  287. package/lib/suppressions.ts +0 -198
  288. package/lib/validate.ts +0 -20
  289. package/lib/webhooks.ts +0 -83
  290. package/test/client.test.ts +0 -96
  291. package/test/data/emailsValidation1.csv +0 -3
  292. package/test/domains.test.ts +0 -313
  293. package/test/domainsCredentials.test.ts +0 -97
  294. package/test/domainsTags.test.ts +0 -345
  295. package/test/domainsTemplates.test.ts +0 -392
  296. package/test/error.test.ts +0 -32
  297. package/test/events.test.ts +0 -104
  298. package/test/img/mailgun.png +0 -0
  299. package/test/ips.test.ts +0 -57
  300. package/test/lists.test.ts +0 -100
  301. package/test/mailListMembers.test.ts +0 -198
  302. package/test/messageAttachment.test.ts +0 -50
  303. package/test/messages.test.ts +0 -89
  304. package/test/multipleValidation.test.ts +0 -159
  305. package/test/request.test.ts +0 -103
  306. package/test/routes.test.ts +0 -136
  307. package/test/stats.test.ts +0 -90
  308. package/test/suppressions.test.ts +0 -219
  309. package/test/validate.test.ts +0 -43
  310. package/test/webhooks.test.ts +0 -112
  311. package/tsconfig.json +0 -22
  312. package/tsconfig.webpack.json +0 -10
  313. package/webpack/webpack.common.config.js +0 -47
  314. package/webpack/webpack.dev.config.js +0 -28
  315. package/webpack/webpack.release.config.js +0 -37
@@ -0,0 +1,165 @@
1
+ export declare type MailgunMessageData = {
2
+ /**
3
+ * Email address for `From` header
4
+ */
5
+ from?: string;
6
+ /**
7
+ * Email address of the recipient(s).
8
+ *
9
+ * @example `Bob <bob@host.com>`. You can use commas to separate multiple recipients.
10
+ */
11
+ to?: string;
12
+ /**
13
+ * Same as `To` but for `carbon copy`
14
+ */
15
+ cc?: string;
16
+ /**
17
+ * Same as `To` but for `blind carbon copy`
18
+ */
19
+ bcc?: string;
20
+ /**
21
+ * Message subject
22
+ */
23
+ subject?: string;
24
+ /**
25
+ * Body of the message. (text version)
26
+ */
27
+ text?: string;
28
+ /**
29
+ * Body of the message. (HTML version)
30
+ */
31
+ html?: string;
32
+ /**
33
+ * [AMP](https://developers.google.com/gmail/ampemail/) part of the message. Please follow google guidelines to compose and send AMP emails.
34
+ */
35
+ 'amp-html'?: string;
36
+ /**
37
+ * File attachment. You can post multiple `attachment` values.
38
+ *
39
+ * **Important:** You must use `multipart/form-data` encoding when sending attachments.
40
+ */
41
+ attachment?: any;
42
+ /**
43
+ * Attachment with `inline` disposition. Can be used to send inline images (see example).
44
+ *
45
+ * You can post multiple `inline` values.
46
+ */
47
+ inline?: any;
48
+ /**
49
+ * Name of a template stored via [template API](https://documentation.mailgun.com/en/latest/api-templates.html#api-templates). See [Templates](https://documentation.mailgun.com/en/latest/user_manual.html#templating) for more information
50
+ */
51
+ template?: string;
52
+ /**
53
+ * Use this parameter to send a message to specific version of a template
54
+ */
55
+ 't:version'?: string;
56
+ /**
57
+ * Pass `yes` if you want to have rendered template
58
+ * in the text part of the message in case of template sending
59
+ */
60
+ 't:text'?: boolean | 'yes' | 'no';
61
+ /**
62
+ * Tag string. See [Tagging](https://documentation.mailgun.com/en/latest/user_manual.html#tagging) for more information.
63
+ */
64
+ 'o:tag'?: string | string[];
65
+ /**
66
+ * Enables/disables DKIM signatures on per-message basis. Pass `yes`, `no`, `true` or `false`
67
+ */
68
+ 'o:dkim'?: boolean | 'yes' | 'no';
69
+ /**
70
+ * Desired time of delivery. See [Date Format](https://documentation.mailgun.com/en/latest/api-intro.html#date-format).
71
+ *
72
+ * Note: Messages can be scheduled for a maximum of 3 days in the future.
73
+ */
74
+ 'o:deliverytime'?: string;
75
+ /**
76
+ * Toggles Send Time Optimization (STO) on a per-message basis.
77
+ *
78
+ * String should be set to the number of hours in `[0-9]+h` format,
79
+ * with the minimum being `24h` and the maximum being `72h`.
80
+ *
81
+ * This value defines the time window in which Mailgun will run the optimization algorithm based on prior engagement data of a given recipient. See [Sending a message with STO](https://documentation.mailgun.com/en/latest/user_manual.html#sto-sending) for details.
82
+ *
83
+ * _Please note that STO is only available on certain plans.
84
+ * See www.mailgun.com/pricing for more info._
85
+ */
86
+ 'o:deliverytime-optimize-period'?: string;
87
+ /**
88
+ * Toggles Timezone Optimization (TZO) on a per message basis.
89
+ *
90
+ * String should be set to preferred delivery time in `HH:mm` or `hh:mmaa` format, where `HH:mm` is used for 24 hour format without AM/PM and `hh:mmaa` is used for 12 hour format with AM/PM. See [Sending a message with TZO](https://documentation.mailgun.com/en/latest/user_manual.html#tzo-sending) for details.
91
+ *
92
+ * Please note that TZO is only available on certain plans.
93
+ * See www.mailgun.com/pricing for more info.
94
+ */
95
+ 'o:time-zone-localize'?: string;
96
+ /**
97
+ * Enables sending in test mode. Pass `yes` if needed. See [Sending in Test Mode](https://documentation.mailgun.com/en/latest/user_manual.html#manual-testmode)
98
+ */
99
+ 'o:testmode'?: boolean | 'yes' | 'no';
100
+ /**
101
+ * Toggles tracking on a per-message basis, see [Tracking Messages](https://documentation.mailgun.com/en/latest/user_manual.html#tracking-messages for details. Pass 'yes', 'no', 'true' or 'false'
102
+ */
103
+ 'o:tracking'?: boolean | 'yes' | 'no';
104
+ /**
105
+ * Toggles clicks tracking on a per-message basis.
106
+ * Has higher priority than domain-level setting.
107
+ * Pass `yes`, `no`, `true`, `false` or `htmlonly`.
108
+ */
109
+ 'o:tracking-clicks'?: boolean | 'yes' | 'no' | 'htmlonly';
110
+ /**
111
+ * Toggles opens tracking on a per-message basis.
112
+ * Has higher priority than domain-level setting.
113
+ * Pass 'yes' or 'no', 'true' or 'false'
114
+ */
115
+ 'o:tracking-opens'?: boolean | 'yes' | 'no';
116
+ /**
117
+ * If set to 'True' or 'yes' this requires the message only be sent over a TLS connection.
118
+ * If a TLS connection can not be established, Mailgun will not deliver the message.
119
+ *
120
+ * If set to 'False' or 'no', Mailgun will still try and upgrade the connection,
121
+ * but if Mailgun can not, the message will be delivered over a plaintext SMTP connection.
122
+ *
123
+ * The default is 'False'.
124
+ */
125
+ 'o:require-tls'?: boolean | 'yes' | 'no';
126
+ /**
127
+ * If set to `True` or `yes`, the certificate and hostname will not be verified
128
+ * when trying to establish a TLS connection
129
+ * and Mailgun will accept any certificate during delivery.
130
+ *
131
+ * If set to `False` or `no`, Mailgun will verify the certificate and hostname.
132
+ * If either one can not be verified, a TLS connection will not be established.
133
+ *
134
+ * The default is `False`.
135
+ */
136
+ 'o:skip-verification'?: boolean | 'yes' | 'no';
137
+ /**
138
+ * A valid JSON-encoded dictionary, where key is a plain recipient address and value is a dictionary with variables that can be referenced in the message body. See [Batch Sending](https://documentation.mailgun.com/en/latest/user_manual.html#batch-sending) for more information.
139
+ */
140
+ 'recipient-variables'?: string;
141
+ /**
142
+ * h:' prefix followed by an arbitrary value allows to append a custom MIME header
143
+ * to the message ('X-My-Header' in this case).
144
+ * For example, `h:Reply-To` to specify Reply-To address.
145
+ */
146
+ 'h:X-My-Header'?: string;
147
+ /**
148
+ * `v:` prefix followed by an arbitrary name allows to attach a custom JSON data to the message. See [Attaching Data to Messages](https://documentation.mailgun.com/en/latest/user_manual.html#manual-customdata) for more information.
149
+ */
150
+ 'v:my-var'?: string;
151
+ [key: string]: any;
152
+ };
153
+ export interface MessagesSendAPIResponse {
154
+ status: number;
155
+ body: {
156
+ id: string;
157
+ message: string;
158
+ };
159
+ }
160
+ export interface MessagesSendResult {
161
+ id?: string;
162
+ message?: string;
163
+ status: number;
164
+ details?: string;
165
+ }
@@ -1,4 +1,3 @@
1
- /* eslint-disable camelcase */
2
1
  export interface MultipleValidationJob {
3
2
  created_at: number;
4
3
  download_url: {
@@ -22,41 +21,35 @@ export interface MultipleValidationJob {
22
21
  low: number;
23
22
  medium: number;
24
23
  unknown: number;
25
- }
26
- }
24
+ };
25
+ };
27
26
  }
28
-
29
27
  export interface CreatedMultipleValidationJob {
30
28
  id: string;
31
29
  message: string;
32
30
  }
33
-
34
31
  export interface PagesList {
35
32
  prev: string;
36
33
  first: string;
37
34
  last: string;
38
35
  next: string;
39
36
  }
40
-
41
37
  export interface MultipleValidationJobsListResult {
42
38
  jobs: MultipleValidationJob[];
43
39
  paging: PagesList;
44
40
  total: number;
45
41
  }
46
-
47
42
  export interface MultipleValidationJobsListResponse {
48
43
  status: 200;
49
- body: MultipleValidationJobsListResult
44
+ body: MultipleValidationJobsListResult;
50
45
  }
51
-
52
46
  export interface CanceledMultipleValidationJob {
53
- body: string;
54
- status: number;
47
+ body: string;
48
+ status: number;
55
49
  }
56
-
57
50
  export interface IMultipleValidationClient {
58
- list() : Promise<MultipleValidationJobsListResult>
59
- get(listId: string) : Promise<MultipleValidationJob>
60
- create(listId: string, file: any) : Promise<CreatedMultipleValidationJob>
61
- destroy(listId: string) : Promise<CanceledMultipleValidationJob>
51
+ list(): Promise<MultipleValidationJobsListResult>;
52
+ get(listId: string): Promise<MultipleValidationJob>;
53
+ create(listId: string, file: any): Promise<CreatedMultipleValidationJob>;
54
+ destroy(listId: string): Promise<CanceledMultipleValidationJob>;
62
55
  }
@@ -0,0 +1,8 @@
1
+ interface Options {
2
+ username: string;
3
+ key: string;
4
+ url?: string;
5
+ public_key?: string;
6
+ timeout?: number;
7
+ }
8
+ export default Options;
@@ -1,8 +1,6 @@
1
1
  import Options from './Options';
2
-
3
2
  interface RequestOptions extends Options {
4
- headers: any;
5
- timeout: number;
3
+ headers: any;
4
+ timeout: number;
6
5
  }
7
-
8
6
  export default RequestOptions;
@@ -0,0 +1,22 @@
1
+ export interface Stat {
2
+ time: string | Date;
3
+ delivered: {
4
+ smtp: number;
5
+ http: number;
6
+ total: number;
7
+ };
8
+ }
9
+ export interface StatsOptions {
10
+ start: string | Date;
11
+ end: string | Date;
12
+ resolution: string;
13
+ stats: Stat[];
14
+ }
15
+ export declare type StatsEvent = 'accepted' | 'delivered' | 'opened' | 'clicked' | 'unsubscribed' | 'stored' | 'rejected' | 'complained' | 'failed-temporary' | 'failed-permanent';
16
+ export interface StatsQuery {
17
+ event: StatsEvent | StatsEvent[];
18
+ start?: string | Date;
19
+ end?: string | Date;
20
+ resolution?: 'hour' | 'day' | 'month';
21
+ duration?: string;
22
+ }
@@ -0,0 +1,103 @@
1
+ import { Bounce, Complaint, Unsubscribe, WhiteList } from '../suppressions';
2
+ export interface BounceData {
3
+ address: string;
4
+ code: number;
5
+ error: string;
6
+ created_at: string | Date;
7
+ }
8
+ export interface ComplaintData {
9
+ address: string;
10
+ created_at: string | Date;
11
+ }
12
+ export interface UnsubscribeData {
13
+ address: string;
14
+ tags: any;
15
+ created_at: string | Date;
16
+ }
17
+ export interface WhiteListData {
18
+ type: string;
19
+ value: string;
20
+ reason: string;
21
+ createdAt: string | Date;
22
+ }
23
+ export interface ParsedPage {
24
+ id: string;
25
+ page: string | null | undefined;
26
+ address: string | null | undefined;
27
+ url: string;
28
+ }
29
+ export interface ParsedPagesList {
30
+ previous: ParsedPage;
31
+ first: ParsedPage;
32
+ last: ParsedPage;
33
+ next: ParsedPage;
34
+ }
35
+ export interface SuppressionList {
36
+ items: (Bounce | Complaint | Unsubscribe | WhiteList)[];
37
+ pages: ParsedPagesList;
38
+ }
39
+ export interface PagesList {
40
+ previous: string;
41
+ first: string;
42
+ last: string;
43
+ next: string;
44
+ }
45
+ export declare enum SuppressionModels {
46
+ BOUNCES = "bounces",
47
+ COMPLAINTS = "complaints",
48
+ UNSUBSCRIBES = "unsubscribes",
49
+ WHITELISTS = "whitelists"
50
+ }
51
+ export interface PagesListAccumulator {
52
+ [index: string]: ParsedPage;
53
+ }
54
+ export interface SuppressionListQuery {
55
+ limit?: number;
56
+ }
57
+ export interface SuppressionListResponse {
58
+ body: {
59
+ items: BounceData[] | ComplaintData[] | UnsubscribeData[] | WhiteListData[];
60
+ paging: PagesList;
61
+ };
62
+ status: number;
63
+ }
64
+ export interface SuppressionResponse {
65
+ body: BounceData | ComplaintData | UnsubscribeData | WhiteListData;
66
+ status: number;
67
+ }
68
+ export interface SuppressionDestroyResponse {
69
+ body: {
70
+ message: string;
71
+ value?: string;
72
+ address?: string;
73
+ };
74
+ status: number;
75
+ }
76
+ export interface SuppressionDestroyResult {
77
+ message: string;
78
+ value: string;
79
+ address: string;
80
+ status: number;
81
+ }
82
+ export interface SuppressionCreationData {
83
+ address: string;
84
+ code?: number;
85
+ error?: string;
86
+ domain?: string;
87
+ tag?: string;
88
+ created_at?: string;
89
+ }
90
+ export interface SuppressionCreationResponse {
91
+ body: {
92
+ message: string;
93
+ type?: string;
94
+ value?: string;
95
+ };
96
+ status: number;
97
+ }
98
+ export interface SuppressionCreationResult {
99
+ message: string;
100
+ type: string;
101
+ value: string;
102
+ status: number;
103
+ }
@@ -1,5 +1,3 @@
1
- /* eslint-disable camelcase */
2
-
3
1
  export interface ValidationResult {
4
2
  address: string;
5
3
  is_disposable_address: boolean;
@@ -8,7 +6,6 @@ export interface ValidationResult {
8
6
  result: string;
9
7
  risk: string;
10
8
  }
11
-
12
9
  export interface ValidationResponse {
13
10
  status: number;
14
11
  body: ValidationResult;
@@ -1,40 +1,34 @@
1
1
  export interface APIWebhook {
2
- url?: string
2
+ url?: string;
3
3
  urls?: string[];
4
4
  }
5
-
6
5
  export interface WebhookResponseBody {
7
6
  message: string;
8
7
  webhook: APIWebhook;
9
8
  }
10
-
11
9
  export interface WebhookResponse {
12
10
  status: number;
13
11
  body: WebhookResponseBody;
14
12
  }
15
-
16
13
  export interface WebhookList {
17
14
  [id: string]: {
18
- urls: string[]
19
- }
15
+ urls: string[];
16
+ };
20
17
  }
21
-
22
18
  export interface WebhooksQuery {
23
19
  limit?: number;
24
20
  skip?: number;
25
21
  }
26
-
27
22
  export interface ValidationResponse {
28
23
  code: number;
29
24
  message: string;
30
25
  }
31
-
32
- export enum WebhooksIds {
33
- CLICKED = 'clicked',
34
- COMPLAINED = 'complained',
35
- DELIVERED = 'delivered',
36
- OPENED = 'opened',
37
- PERMANENT_FAIL = 'permanent_fail',
38
- TEMPORARY_FAIL = 'temporary_fail',
39
- UNSUBSCRIBED = 'unsubscribe',
26
+ export declare enum WebhooksIds {
27
+ CLICKED = "clicked",
28
+ COMPLAINED = "complained",
29
+ DELIVERED = "delivered",
30
+ OPENED = "opened",
31
+ PERMANENT_FAIL = "permanent_fail",
32
+ TEMPORARY_FAIL = "temporary_fail",
33
+ UNSUBSCRIBED = "unsubscribe"
40
34
  }
@@ -1,23 +1,19 @@
1
- /* eslint-disable camelcase */
2
1
  export interface ListsQuery {
3
2
  address?: string;
4
3
  limit?: number;
5
4
  skip?: number;
6
5
  }
7
-
8
6
  export interface CreateUpdateList {
9
7
  address: string;
10
8
  name?: string;
11
9
  description?: string;
12
- access_level?: 'readonly' | 'members'| 'everyone';
10
+ access_level?: 'readonly' | 'members' | 'everyone';
13
11
  reply_preference?: 'list' | 'sender';
14
12
  }
15
-
16
13
  export interface DestroyedList {
17
14
  address: string;
18
15
  message: string;
19
16
  }
20
-
21
17
  export interface MailingList {
22
18
  access_level: string;
23
19
  address: string;
@@ -1,26 +1,22 @@
1
1
  import { MailingList } from './lists';
2
-
3
2
  export interface MailListMember {
4
3
  address: string;
5
4
  name: string;
6
- subscribed: boolean,
5
+ subscribed: boolean;
7
6
  vars: string | any;
8
7
  }
9
8
  export interface MailListMembersQuery {
10
9
  subscribed?: 'yes' | 'no';
11
10
  limit?: number;
12
11
  }
13
-
14
12
  export interface MultipleMembersData {
15
13
  members: Array<MailListMember>;
16
14
  upsert: 'yes' | 'no';
17
15
  }
18
-
19
16
  export interface MultipleMembersReqData {
20
17
  members: string;
21
18
  upsert: 'yes' | 'no';
22
19
  }
23
-
24
20
  export interface CreateUpdateMailListMembers {
25
21
  address: string;
26
22
  name?: string;
@@ -28,7 +24,6 @@ export interface CreateUpdateMailListMembers {
28
24
  subscribed?: 'yes' | 'no' | boolean;
29
25
  upsert?: 'yes' | 'no';
30
26
  }
31
-
32
27
  export interface CreateUpdateMailListMembersReq {
33
28
  address: string;
34
29
  name?: string;
@@ -36,32 +31,22 @@ export interface CreateUpdateMailListMembersReq {
36
31
  subscribed?: 'yes' | 'no' | boolean;
37
32
  upsert?: 'yes' | 'no';
38
33
  }
39
-
40
34
  export interface DeletedMember {
41
35
  member: {
42
36
  address: string;
43
- },
37
+ };
44
38
  message: string;
45
- }
46
-
39
+ }
47
40
  export interface NewMultipleMembersResponse {
48
41
  list: MailingList;
49
42
  message: string;
50
43
  'task-id': string;
51
44
  }
52
-
53
45
  export interface IMailListsMembers {
54
46
  listMembers(mailListAddress: string, query?: MailListMembersQuery): Promise<MailListMember[]>;
55
- getMember(address: string, memberAddress: string): Promise<MailListMember>,
56
- createMember(
57
- mailListAddress: string,
58
- data: CreateUpdateMailListMembers): Promise<MailListMember>,
59
- createMembers(
60
- mailListAddress: string,
61
- data: MultipleMembersData): Promise<NewMultipleMembersResponse>,
62
- updateMember(
63
- address: string,
64
- memberAddress: string,
65
- data: CreateUpdateMailListMembers): Promise<MailListMember>,
66
- destroyMember(address : string, memberAddress: string): Promise<DeletedMember>
47
+ getMember(address: string, memberAddress: string): Promise<MailListMember>;
48
+ createMember(mailListAddress: string, data: CreateUpdateMailListMembers): Promise<MailListMember>;
49
+ createMembers(mailListAddress: string, data: MultipleMembersData): Promise<NewMultipleMembersResponse>;
50
+ updateMember(address: string, memberAddress: string, data: CreateUpdateMailListMembers): Promise<MailListMember>;
51
+ destroyMember(address: string, memberAddress: string): Promise<DeletedMember>;
67
52
  }
@@ -1,4 +1,3 @@
1
- /* eslint-disable camelcase */
2
1
  export interface Route {
3
2
  actions: string[];
4
3
  created_at: string;
@@ -7,23 +6,19 @@ export interface Route {
7
6
  id: string;
8
7
  priority: number;
9
8
  }
10
-
11
- export interface UpdateRouteResponse extends Route{
9
+ export interface UpdateRouteResponse extends Route {
12
10
  message: string;
13
11
  }
14
-
15
12
  export interface DestroyRouteResponse {
16
13
  id: string;
17
14
  message: string;
18
15
  }
19
-
20
16
  export interface CreateUpdateRouteData {
21
17
  priority?: number;
22
18
  description?: string;
23
19
  expression: string;
24
20
  action: string[];
25
21
  }
26
-
27
22
  export interface RoutesListQuery {
28
23
  limit?: number;
29
24
  skip?: number;
package/ip-pools.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ import Request from './request';
2
+ import { IpPool, IpPoolUpdateData } from './interfaces/IpPools';
3
+ export default class IpPoolsClient {
4
+ request: Request;
5
+ constructor(request: Request);
6
+ list(query: any): Promise<IpPool[]>;
7
+ create(data: {
8
+ name: string;
9
+ description?: string;
10
+ ips?: string[];
11
+ }): Promise<{
12
+ message: string;
13
+ pool_id: string;
14
+ }>;
15
+ update(poolId: string, data: IpPoolUpdateData): Promise<any>;
16
+ delete(poolId: string, data: {
17
+ id: string;
18
+ pool_id: string;
19
+ }): Promise<any>;
20
+ private parseIpPoolsResponse;
21
+ }
package/ips.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import MgRequest from './request';
2
+ import { IpData, IpsListResponseBody } from './interfaces/Ips';
3
+ export default class IpsClient {
4
+ request: MgRequest;
5
+ constructor(request: MgRequest);
6
+ list(query: any): Promise<IpsListResponseBody | IpData>;
7
+ get(ip: string): Promise<IpsListResponseBody | IpData>;
8
+ private parseIpsResponse;
9
+ }
package/lists.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import Request from './request';
2
+ import { ListsQuery, CreateUpdateList, DestroyedList, MailingList } from './interfaces/lists';
3
+ import { IMailListsMembers } from './interfaces/mailListMembers';
4
+ export default class ListsClient {
5
+ baseRoute: string;
6
+ request: Request;
7
+ members: IMailListsMembers;
8
+ constructor(request: Request, members: IMailListsMembers);
9
+ list(query?: ListsQuery): Promise<MailingList[]>;
10
+ get(mailListAddress: string): Promise<MailingList>;
11
+ create(data: CreateUpdateList): Promise<MailingList>;
12
+ update(mailListAddress: string, data: CreateUpdateList): Promise<MailingList>;
13
+ destroy(mailListAddress: string): Promise<DestroyedList>;
14
+ }
@@ -0,0 +1,14 @@
1
+ import Request from './request';
2
+ import { MailListMembersQuery, IMailListsMembers, CreateUpdateMailListMembers, MailListMember, MultipleMembersData, DeletedMember, NewMultipleMembersResponse } from './interfaces/mailListMembers';
3
+ export default class MailListsMembers implements IMailListsMembers {
4
+ baseRoute: string;
5
+ request: Request;
6
+ constructor(request: Request);
7
+ private checkAndUpdateData;
8
+ listMembers(mailListAddress: string, query?: MailListMembersQuery): Promise<MailListMember[]>;
9
+ getMember(mailListAddress: string, mailListMemberAddress: string): Promise<MailListMember>;
10
+ createMember(mailListAddress: string, data: CreateUpdateMailListMembers): Promise<MailListMember>;
11
+ createMembers(mailListAddress: string, data: MultipleMembersData): Promise<NewMultipleMembersResponse>;
12
+ updateMember(mailListAddress: string, mailListMemberAddress: string, data: CreateUpdateMailListMembers): Promise<MailListMember>;
13
+ destroyMember(mailListAddress: string, mailListMemberAddress: string): Promise<DeletedMember>;
14
+ }