mailgun.js 8.2.2 → 9.0.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.
- package/CHANGELOG.md +66 -0
- package/Classes/Domains/domain.d.ts +16 -0
- package/{domains.d.ts → Classes/Domains/domains.d.ts} +5 -8
- package/Classes/Domains/domainsClient.d.ts +36 -0
- package/{domainsCredentials.d.ts → Classes/Domains/domainsCredentials.d.ts} +3 -2
- package/{domainsTags.d.ts → Classes/Domains/domainsTags.d.ts} +6 -4
- package/{domainsTemplates.d.ts → Classes/Domains/domainsTemplates.d.ts} +9 -8
- package/{events.d.ts → Classes/Events.d.ts} +4 -3
- package/{ip-pools.d.ts → Classes/IPPools.d.ts} +4 -3
- package/Classes/IPs.d.ts +10 -0
- package/Classes/MailgunClient.d.ts +18 -0
- package/{mailListMembers.d.ts → Classes/MailingLists/mailListMembers.d.ts} +4 -3
- package/Classes/MailingLists/mailingLists.d.ts +21 -0
- package/{messages.d.ts → Classes/Messages.d.ts} +4 -3
- package/{routes.d.ts → Classes/Routes.d.ts} +4 -3
- package/Classes/Stats/StatsClient.d.ts +14 -0
- package/Classes/Stats/StatsContainer.d.ts +9 -0
- package/Classes/Suppressions/Bounce.d.ts +10 -0
- package/Classes/Suppressions/Complaint.d.ts +8 -0
- package/Classes/Suppressions/Suppression.d.ts +5 -0
- package/Classes/Suppressions/SuppressionsClient.d.ts +23 -0
- package/Classes/Suppressions/Unsubscribe.d.ts +9 -0
- package/Classes/Suppressions/WhiteList.d.ts +9 -0
- package/{multipleValidation.d.ts → Classes/Validations/multipleValidation.d.ts} +4 -3
- package/Classes/Validations/validate.d.ts +9 -0
- package/Classes/Webhooks.d.ts +21 -0
- package/Classes/common/Error.d.ts +8 -0
- package/{formDataBuilder.d.ts → Classes/common/FormDataBuilder.d.ts} +1 -1
- package/Classes/common/NavigationThruPages.d.ts +17 -0
- package/{request.d.ts → Classes/common/Request.d.ts} +2 -4
- package/Enums/index.d.ts +24 -0
- package/Interfaces/Common/Logger.d.ts +3 -0
- package/Interfaces/Common/index.d.ts +1 -0
- package/Interfaces/Domains/DomainCredentials.d.ts +7 -0
- package/Interfaces/Domains/DomainTags.d.ts +20 -0
- package/Interfaces/Domains/DomainTemplates.d.ts +23 -0
- package/Interfaces/Domains/DomainsClient.d.ts +27 -0
- package/Interfaces/Domains/index.d.ts +4 -0
- package/Interfaces/EventClient/IEventClient.d.ts +4 -0
- package/Interfaces/EventClient/index.d.ts +1 -0
- package/Interfaces/IPPools/IIPPoolsClient.d.ts +7 -0
- package/Interfaces/IPPools/index.d.ts +1 -0
- package/Interfaces/IPs/IIPsClient.d.ts +5 -0
- package/Interfaces/IPs/index.d.ts +1 -0
- package/Interfaces/MailgunClient/IMailgunClient.d.ts +24 -0
- package/Interfaces/MailgunClient/index.d.ts +1 -0
- package/Interfaces/MailingLists/MailingListMembers.d.ts +9 -0
- package/Interfaces/MailingLists/MailingListsClient.d.ts +13 -0
- package/Interfaces/MailingLists/index.d.ts +2 -0
- package/Interfaces/Messages/IMessagesClient.d.ts +4 -0
- package/Interfaces/Messages/index.d.ts +1 -0
- package/Interfaces/Routes/IRoutesClient.d.ts +8 -0
- package/Interfaces/Routes/index.d.ts +1 -0
- package/Interfaces/Stats/StatsClient.d.ts +6 -0
- package/Interfaces/Stats/StatsContainer.d.ts +7 -0
- package/Interfaces/Stats/index.d.ts +2 -0
- package/{interfaces → Interfaces}/Suppressions/Bounce.d.ts +0 -6
- package/{interfaces → Interfaces}/Suppressions/Complaint.d.ts +0 -4
- package/Interfaces/Suppressions/ISuppressionsClient.d.ts +11 -0
- package/{interfaces → Interfaces}/Suppressions/Unsubscribe.d.ts +0 -5
- package/Interfaces/Suppressions/WhiteList.d.ts +6 -0
- package/Interfaces/Suppressions/index.d.ts +5 -0
- package/Interfaces/Validations/MultipleValidation.d.ts +7 -0
- package/Interfaces/Validations/Validation.d.ts +6 -0
- package/Interfaces/Validations/index.d.ts +2 -0
- package/Interfaces/Webhooks/IWebHooksClient.d.ts +9 -0
- package/Interfaces/Webhooks/index.d.ts +1 -0
- package/Interfaces/index.d.ts +13 -0
- package/README.md +42 -13
- package/Types/Common/ApiResponse.d.ts +4 -0
- package/Types/Common/Error.d.ts +19 -0
- package/Types/Common/FormData.d.ts +7 -0
- package/{interfaces → Types/Common}/NavigationThruPages.d.ts +14 -14
- package/{interfaces → Types/Common}/RequestOptions.d.ts +7 -7
- package/Types/Common/index.d.ts +5 -0
- package/Types/Domains/DomainCredentials.d.ts +46 -0
- package/{interfaces → Types/Domains}/DomainTags.d.ts +34 -57
- package/Types/Domains/DomainTemplates.d.ts +153 -0
- package/{interfaces → Types/Domains}/DomainTracking.d.ts +8 -8
- package/{interfaces → Types/Domains}/Domains.d.ts +50 -36
- package/Types/Domains/index.d.ts +5 -0
- package/{interfaces → Types/Events}/Events.d.ts +15 -15
- package/Types/Events/index.d.ts +1 -0
- package/{interfaces → Types/IPPools}/IpPools.d.ts +6 -6
- package/Types/IPPools/index.d.ts +1 -0
- package/{interfaces/Ips.d.ts → Types/IPs/IPs.d.ts} +7 -4
- package/Types/IPs/index.d.ts +1 -0
- package/{interfaces/Options.d.ts → Types/MailgunClient/MailgunClientOptions.d.ts} +2 -3
- package/Types/MailgunClient/index.d.ts +1 -0
- package/Types/MailingLists/MailingListMembers.d.ts +60 -0
- package/{interfaces/lists.d.ts → Types/MailingLists/MailingLists.d.ts} +22 -22
- package/Types/MailingLists/index.d.ts +2 -0
- package/{interfaces → Types/Messages}/Messages.d.ts +5 -5
- package/Types/Messages/index.d.ts +1 -0
- package/{interfaces/routes.d.ts → Types/Routes/Routes.d.ts} +6 -6
- package/Types/Routes/index.d.ts +1 -0
- package/{interfaces/StatsOptions.d.ts → Types/Stats/Stats.d.ts} +6 -6
- package/Types/Stats/index.d.ts +1 -0
- package/Types/Suppressions/Bounce.d.ts +6 -0
- package/Types/Suppressions/Complaint.d.ts +4 -0
- package/{interfaces → Types}/Suppressions/Suppressions.d.ts +19 -28
- package/Types/Suppressions/Unsubscribe.d.ts +5 -0
- package/Types/Suppressions/WhiteList.d.ts +6 -0
- package/Types/Suppressions/index.d.ts +5 -0
- package/{interfaces → Types/Validations}/MultipleValidation.d.ts +20 -26
- package/{interfaces/Validate.d.ts → Types/Validations/Validation.d.ts} +4 -4
- package/Types/Validations/index.d.ts +2 -0
- package/Types/Webhooks/Webhooks.d.ts +29 -0
- package/Types/Webhooks/index.d.ts +1 -0
- package/Types/index.d.ts +13 -0
- package/index.d.ts +7 -4
- package/mailgun.node.js +2 -2
- package/mailgun.node.js.LICENSE.txt +1 -1
- package/mailgun.web.js +2 -2
- package/mailgun.web.js.LICENSE.txt +1 -1
- package/package.json +1 -1
- package/version.md +1 -1
- package/client.d.ts +0 -29
- package/common/NavigationThruPages.d.ts +0 -19
- package/error.d.ts +0 -8
- package/interfaces/APIErrorOptions.d.ts +0 -11
- package/interfaces/ApiResponse.d.ts +0 -5
- package/interfaces/DomainCredentials.d.ts +0 -52
- package/interfaces/DomainTemplates.d.ts +0 -178
- package/interfaces/IFormData.d.ts +0 -7
- package/interfaces/IMailgunClient.d.ts +0 -24
- package/interfaces/Suppressions/WhiteList.d.ts +0 -12
- package/interfaces/Supressions.d.ts +0 -103
- package/interfaces/Webhooks.d.ts +0 -34
- package/interfaces/mailListMembers.d.ts +0 -68
- package/ips.d.ts +0 -9
- package/lists.d.ts +0 -20
- package/stats.d.ts +0 -20
- package/suppressions.d.ts +0 -53
- package/validate.d.ts +0 -9
- package/webhooks.d.ts +0 -32
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CreateDomainTemplateVersionResult, DomainTemplateData, DomainTemplatesQuery, DomainTemplateUpdateData, DomainTemplateUpdateVersionData, DomainTemplateVersionData, ListDomainTemplatesResult, ListDomainTemplateVersionsResult, MutateDomainTemplateVersionResult, NotificationResult, ShortTemplateVersion, TemplateQuery, TemplateVersion, UpdateOrDeleteDomainTemplateResult } from '../../Types/Domains';
|
|
2
|
+
export interface IDomainTemplate {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
createdAt: string | Date;
|
|
6
|
+
createdBy: string;
|
|
7
|
+
id: string;
|
|
8
|
+
version?: TemplateVersion;
|
|
9
|
+
versions?: ShortTemplateVersion[];
|
|
10
|
+
}
|
|
11
|
+
export interface IDomainTemplatesClient {
|
|
12
|
+
list(domain: string, query?: DomainTemplatesQuery): Promise<ListDomainTemplatesResult>;
|
|
13
|
+
get(domain: string, templateName: string, query?: TemplateQuery): Promise<IDomainTemplate>;
|
|
14
|
+
create(domain: string, data: DomainTemplateData): Promise<IDomainTemplate>;
|
|
15
|
+
update(domain: string, templateName: string, data: DomainTemplateUpdateData): Promise<UpdateOrDeleteDomainTemplateResult>;
|
|
16
|
+
destroy(domain: string, templateName: string): Promise<UpdateOrDeleteDomainTemplateResult>;
|
|
17
|
+
destroyAll(domain: string): Promise<NotificationResult>;
|
|
18
|
+
createVersion(domain: string, templateName: string, data: DomainTemplateVersionData): Promise<CreateDomainTemplateVersionResult>;
|
|
19
|
+
getVersion(domain: string, templateName: string, tag: string): Promise<IDomainTemplate>;
|
|
20
|
+
updateVersion(domain: string, templateName: string, tag: string, data: DomainTemplateUpdateVersionData): Promise<MutateDomainTemplateVersionResult>;
|
|
21
|
+
destroyVersion(domain: string, templateName: string, tag: string): Promise<MutateDomainTemplateVersionResult>;
|
|
22
|
+
listVersions(domain: string, templateName: string, query?: DomainTemplatesQuery): Promise<ListDomainTemplateVersionsResult>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { APIResponse } from '../../Types/Common';
|
|
2
|
+
import { ClickTrackingInfo, ConnectionSettings, DKIMAuthorityInfo, DKIMSelectorInfo, DomainInfo, DomainsQuery, DomainTrackingData, MessageResponse, OpenTrackingInfo, ReplacementForPool, TDomain, UnsubscribeTrackingInfo, UpdatedConnectionSettings, UpdatedDKIMAuthority, UpdatedDKIMSelectorResponse, UpdatedOpenTracking, UpdatedWebPrefixResponse, WebPrefixInfo } from '../../Types/Domains';
|
|
3
|
+
import { IDomainCredentials } from './DomainCredentials';
|
|
4
|
+
import { IDomainTagsClient } from './DomainTags';
|
|
5
|
+
import { IDomainTemplatesClient } from './DomainTemplates';
|
|
6
|
+
export interface IDomainsClient {
|
|
7
|
+
domainCredentials: IDomainCredentials;
|
|
8
|
+
domainTemplates: IDomainTemplatesClient;
|
|
9
|
+
domainTags: IDomainTagsClient;
|
|
10
|
+
list(query?: DomainsQuery): Promise<TDomain[]>;
|
|
11
|
+
get(domain: string): Promise<TDomain>;
|
|
12
|
+
create(data: DomainInfo): Promise<TDomain>;
|
|
13
|
+
verify(domain: string): Promise<TDomain>;
|
|
14
|
+
destroy(domain: string): Promise<MessageResponse>;
|
|
15
|
+
getConnection(domain: string): Promise<ConnectionSettings>;
|
|
16
|
+
updateConnection(domain: string, data: ConnectionSettings): Promise<UpdatedConnectionSettings>;
|
|
17
|
+
getTracking(domain: string): Promise<DomainTrackingData>;
|
|
18
|
+
updateTracking(domain: string, type: string, data: OpenTrackingInfo | ClickTrackingInfo | UnsubscribeTrackingInfo): Promise<UpdatedOpenTracking>;
|
|
19
|
+
getIps(domain: string): Promise<string[]>;
|
|
20
|
+
assignIp(domain: string, ip: string): Promise<APIResponse>;
|
|
21
|
+
deleteIp(domain: string, ip: string): Promise<APIResponse>;
|
|
22
|
+
linkIpPool(domain: string, pool_id: string): Promise<APIResponse>;
|
|
23
|
+
unlinkIpPoll(domain: string, replacement: ReplacementForPool): Promise<APIResponse>;
|
|
24
|
+
updateDKIMAuthority(domain: string, data: DKIMAuthorityInfo): Promise<UpdatedDKIMAuthority>;
|
|
25
|
+
updateDKIMSelector(domain: string, data: DKIMSelectorInfo): Promise<UpdatedDKIMSelectorResponse>;
|
|
26
|
+
updateWebPrefix(domain: string, data: WebPrefixInfo): Promise<UpdatedWebPrefixResponse>;
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './IEventClient';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IpPoolCreateData, IpPoolCreateResult, IpPoolDeleteData, IpPoolListResult, IpPoolMessageResult, IpPoolUpdateData } from '../../Types/IPPools';
|
|
2
|
+
export interface IIPPoolsClient {
|
|
3
|
+
list(): Promise<IpPoolListResult>;
|
|
4
|
+
create(data: IpPoolCreateData): Promise<IpPoolCreateResult>;
|
|
5
|
+
update(poolId: string, data: IpPoolUpdateData): Promise<IpPoolMessageResult>;
|
|
6
|
+
delete(poolId: string, data: IpPoolDeleteData): Promise<IpPoolMessageResult>;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './IIPPoolsClient';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './IIPsClient';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IWebHooksClient } from '../Webhooks';
|
|
2
|
+
import { IDomainsClient } from '../Domains';
|
|
3
|
+
import { IEventClient } from '../EventClient';
|
|
4
|
+
import { IStatsClient } from '../Stats';
|
|
5
|
+
import { IMessagesClient } from '../Messages';
|
|
6
|
+
import { ISuppressionClient } from '../Suppressions';
|
|
7
|
+
import { IRoutesClient } from '../Routes';
|
|
8
|
+
import { IValidationClient } from '../Validations';
|
|
9
|
+
import { IIPsClient } from '../IPs';
|
|
10
|
+
import { IIPPoolsClient } from '../IPPools';
|
|
11
|
+
import { IMailingListsClient } from '../MailingLists';
|
|
12
|
+
export interface IMailgunClient {
|
|
13
|
+
domains: IDomainsClient;
|
|
14
|
+
webhooks: IWebHooksClient;
|
|
15
|
+
events: IEventClient;
|
|
16
|
+
stats: IStatsClient;
|
|
17
|
+
suppressions: ISuppressionClient;
|
|
18
|
+
messages: IMessagesClient;
|
|
19
|
+
routes: IRoutesClient;
|
|
20
|
+
validate: IValidationClient;
|
|
21
|
+
ips: IIPsClient;
|
|
22
|
+
ip_pools: IIPPoolsClient;
|
|
23
|
+
lists: IMailingListsClient;
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './IMailgunClient';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MailListMembersQuery, MailListMembersResult, MailListMember, CreateUpdateMailListMembers, MultipleMembersData, NewMultipleMembersResponse, DeletedMember } from '../../Types/MailingLists';
|
|
2
|
+
export interface IMailListsMembers {
|
|
3
|
+
listMembers(mailListAddress: string, query?: MailListMembersQuery): Promise<MailListMembersResult>;
|
|
4
|
+
getMember(address: string, memberAddress: string): Promise<MailListMember>;
|
|
5
|
+
createMember(mailListAddress: string, data: CreateUpdateMailListMembers): Promise<MailListMember>;
|
|
6
|
+
createMembers(mailListAddress: string, data: MultipleMembersData): Promise<NewMultipleMembersResponse>;
|
|
7
|
+
updateMember(address: string, memberAddress: string, data: CreateUpdateMailListMembers): Promise<MailListMember>;
|
|
8
|
+
destroyMember(address: string, memberAddress: string): Promise<DeletedMember>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CreateUpdateList, DestroyedList, ListsQuery, MailingList, MailingListCancelValidationResult, MailingListResult, MailingListValidationResult, StartValidationResult } from '../../Types/MailingLists';
|
|
2
|
+
import { IMailListsMembers } from './MailingListMembers';
|
|
3
|
+
export interface IMailingListsClient {
|
|
4
|
+
members: IMailListsMembers;
|
|
5
|
+
list(query?: ListsQuery): Promise<MailingListResult>;
|
|
6
|
+
get(mailListAddress: string): Promise<MailingList>;
|
|
7
|
+
create(data: CreateUpdateList): Promise<MailingList>;
|
|
8
|
+
update(mailListAddress: string, data: CreateUpdateList): Promise<MailingList>;
|
|
9
|
+
destroy(mailListAddress: string): Promise<DestroyedList>;
|
|
10
|
+
validate(mailListAddress: string): Promise<StartValidationResult>;
|
|
11
|
+
validationResult(mailListAddress: string): Promise<MailingListValidationResult>;
|
|
12
|
+
cancelValidation(mailListAddress: string): Promise<MailingListCancelValidationResult>;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './IMessagesClient';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CreateUpdateRouteData, DestroyRouteResponse, Route, RoutesListQuery, UpdateRouteResponse } from '../../Types/Routes';
|
|
2
|
+
export interface IRoutesClient {
|
|
3
|
+
list(query: RoutesListQuery): Promise<Route[]>;
|
|
4
|
+
get(id: string): Promise<Route>;
|
|
5
|
+
create(data: CreateUpdateRouteData): Promise<Route>;
|
|
6
|
+
update(id: string, data: CreateUpdateRouteData): Promise<UpdateRouteResponse>;
|
|
7
|
+
destroy(id: string): Promise<DestroyRouteResponse>;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './IRoutesClient';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { StatsQuery } from '../../Types/Stats';
|
|
2
|
+
import { IStatsContainer } from './StatsContainer';
|
|
3
|
+
export interface IStatsClient {
|
|
4
|
+
getDomain(domain: string, query?: StatsQuery): Promise<IStatsContainer>;
|
|
5
|
+
getAccount(query?: StatsQuery): Promise<IStatsContainer>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SuppressionList, SuppressionCreationData, SuppressionCreationResult, SuppressionListQuery, SuppressionDestroyResult } from '../../Types/Suppressions';
|
|
2
|
+
import { IBounce } from './Bounce';
|
|
3
|
+
import { IComplaint } from './Complaint';
|
|
4
|
+
import { IUnsubscribe } from './Unsubscribe';
|
|
5
|
+
import { IWhiteList } from './WhiteList';
|
|
6
|
+
export interface ISuppressionClient {
|
|
7
|
+
list(domain: string, type: string, query?: SuppressionListQuery): Promise<SuppressionList>;
|
|
8
|
+
get(domain: string, type: string, address: string): Promise<IBounce | IComplaint | IUnsubscribe | IWhiteList>;
|
|
9
|
+
create(domain: string, type: string, data: SuppressionCreationData | SuppressionCreationData[]): Promise<SuppressionCreationResult>;
|
|
10
|
+
destroy(domain: string, type: string, address: string): Promise<SuppressionDestroyResult>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MultipleValidationJobsListResult, MultipleValidationJobResult, CreatedMultipleValidationJob, CanceledMultipleValidationJob, MultipleValidationCreationData, MultipleValidationJobsListQuery } from '../../Types/Validations';
|
|
2
|
+
export interface IMultipleValidationClient {
|
|
3
|
+
list(query?: MultipleValidationJobsListQuery): Promise<MultipleValidationJobsListResult>;
|
|
4
|
+
get(listId: string): Promise<MultipleValidationJobResult>;
|
|
5
|
+
create(listId: string, data: MultipleValidationCreationData): Promise<CreatedMultipleValidationJob>;
|
|
6
|
+
destroy(listId: string): Promise<CanceledMultipleValidationJob>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ValidationResult } from '../../Types/Validations';
|
|
2
|
+
import { IMultipleValidationClient } from './MultipleValidation';
|
|
3
|
+
export interface IValidationClient {
|
|
4
|
+
multipleValidation: IMultipleValidationClient;
|
|
5
|
+
get(address: string): Promise<ValidationResult>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { WebhooksIds } from '../../Enums';
|
|
2
|
+
import { WebhookList, WebhookResult, WebhooksQuery, WebhookValidationResponse } from '../../Types/Webhooks';
|
|
3
|
+
export interface IWebHooksClient {
|
|
4
|
+
list(domain: string, query: WebhooksQuery): Promise<WebhookList>;
|
|
5
|
+
get(domain: string, id: WebhooksIds): Promise<WebhookResult>;
|
|
6
|
+
create(domain: string, id: string, url: string, test: boolean): Promise<WebhookResult | WebhookValidationResponse>;
|
|
7
|
+
update(domain: string, id: string, url: string): Promise<WebhookResult>;
|
|
8
|
+
destroy(domain: string, id: string): Promise<WebhookResult>;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './IWebHooksClient';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './Common';
|
|
2
|
+
export * from './Domains';
|
|
3
|
+
export * from './MailgunClient';
|
|
4
|
+
export * from './MailingLists';
|
|
5
|
+
export * from './Stats';
|
|
6
|
+
export * from './Suppressions';
|
|
7
|
+
export * from './Validations';
|
|
8
|
+
export * from './EventClient';
|
|
9
|
+
export * from './Webhooks';
|
|
10
|
+
export * from './Messages';
|
|
11
|
+
export * from './Routes';
|
|
12
|
+
export * from './IPs';
|
|
13
|
+
export * from './IPPools';
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Mailgun.js
|
|
1
|
+
# Mailgun.js
|
|
2
2
|
|
|
3
3
|
A javascript sdk for Mailgun built with webpack, babel & es6. This can be used in node or in the browser*.
|
|
4
4
|
|
|
@@ -9,6 +9,10 @@ __Table of Contents__
|
|
|
9
9
|
- [Documentation](#documentation)
|
|
10
10
|
- [Install](#install)
|
|
11
11
|
- [Setup Client](#setup-client)
|
|
12
|
+
- [Available Imports](#imports)
|
|
13
|
+
- [Types imports](#types-imports)
|
|
14
|
+
- [Interfaces and Enums imports](#interfaces-and-enums-imports)
|
|
15
|
+
- [Generated docs](#generated-docs)
|
|
12
16
|
- [Methods](#methods)
|
|
13
17
|
- [Browser Demo](#browser-demo)
|
|
14
18
|
- [Examples](https://github.com/mailgun/mailgun-js/tree/master/examples)
|
|
@@ -19,6 +23,7 @@ __Table of Contents__
|
|
|
19
23
|
- [Release Process](#release-process)
|
|
20
24
|
|
|
21
25
|
# Documentation
|
|
26
|
+
[Mailgun API Documentation](https://documentation.mailgun.com/en/latest/api_reference.html):
|
|
22
27
|
|
|
23
28
|
## Install
|
|
24
29
|
|
|
@@ -36,19 +41,39 @@ Next, require the module and instantiate a mailgun client by calling `new Mailgu
|
|
|
36
41
|
|
|
37
42
|
NOTE: starting from version 3.0 you need to pass FormData (we need this to keep library universal). For node.js you can use `form-data` library.
|
|
38
43
|
|
|
44
|
+
### Imports
|
|
45
|
+
Once the package is installed, you can import the library using `import` or `require` approach:
|
|
46
|
+
|
|
39
47
|
```js
|
|
40
|
-
const formData = require('form-data');
|
|
41
|
-
const Mailgun = require('mailgun.js');
|
|
42
|
-
const mailgun = new Mailgun(formData);
|
|
43
|
-
const mg = mailgun.client({username: 'api', key: process.env.MAILGUN_API_KEY || 'key-yourkeyhere'});
|
|
48
|
+
const formData = require('form-data');
|
|
49
|
+
const Mailgun = require('mailgun.js');
|
|
50
|
+
const mailgun = new Mailgun(formData);
|
|
51
|
+
const mg = mailgun.client({username: 'api', key: process.env.MAILGUN_API_KEY || 'key-yourkeyhere'});
|
|
44
52
|
```
|
|
45
|
-
|
|
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:
|
|
47
|
-
|
|
48
53
|
```js
|
|
49
|
-
|
|
54
|
+
import * as FormData from 'form-data';
|
|
55
|
+
import Mailgun from 'mailgun.js';
|
|
56
|
+
const mailgun = new Mailgun(formData);
|
|
57
|
+
const mg = mailgun.client({username: 'api', key: process.env.MAILGUN_API_KEY || 'key-yourkeyhere'});
|
|
58
|
+
```
|
|
59
|
+
### Types imports
|
|
60
|
+
Starting from version **9.0.0.** Types can be includes as named import:
|
|
61
|
+
```TS
|
|
62
|
+
import Mailgun, { MailgunClientOptions, MessagesSendResult } from 'mailgun.js';
|
|
50
63
|
```
|
|
51
64
|
|
|
65
|
+
### Interfaces and Enums imports
|
|
66
|
+
Starting from version **9.0.0.** Interfaces and Enums can be imported in the next way:
|
|
67
|
+
```TS
|
|
68
|
+
import Mailgun, { Interfaces, Enums } from 'mailgun.js';
|
|
69
|
+
...
|
|
70
|
+
const mailgunClient: Interfaces.IMailgunClient = mailgun.client(clientOptions);
|
|
71
|
+
const yes = Enums.YesNo.YES;
|
|
72
|
+
...
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Generated docs
|
|
76
|
+
The list of all available Types, Interfaces and Enums is auto-generated and located in the docs/ folder.
|
|
52
77
|
|
|
53
78
|
## Methods
|
|
54
79
|
|
|
@@ -268,9 +293,7 @@ Method naming conventions:
|
|
|
268
293
|
messageParams.inline = file;
|
|
269
294
|
return mg.messages.create('sandbox-123.mailgun.org', messageParams);
|
|
270
295
|
})
|
|
271
|
-
.then(response =>
|
|
272
|
-
console.log(response);
|
|
273
|
-
})
|
|
296
|
+
.then(response => console.log(response))
|
|
274
297
|
```
|
|
275
298
|
|
|
276
299
|
- Browser example of send file
|
|
@@ -317,7 +340,13 @@ Method naming conventions:
|
|
|
317
340
|
|
|
318
341
|
To provide values for a substitution you need to use 'h:X-Mailgun-Variables' property in the message description.
|
|
319
342
|
|
|
320
|
-
Make sure that this property is a JSON string like
|
|
343
|
+
Make sure that this property is a JSON string like:
|
|
344
|
+
```js
|
|
345
|
+
JSON.stringify({
|
|
346
|
+
"title": "A title",
|
|
347
|
+
"body": "The body"
|
|
348
|
+
})
|
|
349
|
+
```
|
|
321
350
|
|
|
322
351
|
You can find few examples of how to use templates below.
|
|
323
352
|
- Providing values for **title** and **slug** variables to render in template
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type APIErrorOptions = {
|
|
2
|
+
headers?: {
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
};
|
|
5
|
+
status: number;
|
|
6
|
+
message?: string;
|
|
7
|
+
body: {
|
|
8
|
+
error?: string;
|
|
9
|
+
message?: string;
|
|
10
|
+
};
|
|
11
|
+
url?: string;
|
|
12
|
+
statusText?: string;
|
|
13
|
+
};
|
|
14
|
+
export type APIErrorType = {
|
|
15
|
+
stack: string;
|
|
16
|
+
status: number;
|
|
17
|
+
message: string;
|
|
18
|
+
details: string;
|
|
19
|
+
};
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type PagesList = {
|
|
2
2
|
previous: string;
|
|
3
3
|
first: string;
|
|
4
4
|
last: string;
|
|
5
5
|
next: string;
|
|
6
|
-
}
|
|
7
|
-
export
|
|
6
|
+
};
|
|
7
|
+
export type ParsedPage = {
|
|
8
8
|
id: string;
|
|
9
9
|
page: string;
|
|
10
10
|
iteratorPosition: string | undefined;
|
|
11
11
|
url: string;
|
|
12
|
-
}
|
|
13
|
-
export
|
|
12
|
+
};
|
|
13
|
+
export type ParsedPagesList = {
|
|
14
14
|
previous: ParsedPage;
|
|
15
15
|
first: ParsedPage;
|
|
16
16
|
last: ParsedPage;
|
|
17
17
|
next: ParsedPage;
|
|
18
|
-
}
|
|
19
|
-
export
|
|
18
|
+
};
|
|
19
|
+
export type PagesListAccumulator = {
|
|
20
20
|
[index: string]: ParsedPage;
|
|
21
|
-
}
|
|
22
|
-
export
|
|
21
|
+
};
|
|
22
|
+
export type ResponseWithPaging = {
|
|
23
23
|
body: {
|
|
24
24
|
paging: PagesList;
|
|
25
25
|
};
|
|
26
|
-
}
|
|
27
|
-
export
|
|
26
|
+
};
|
|
27
|
+
export type QueryWithPage = {
|
|
28
28
|
page?: string;
|
|
29
|
-
}
|
|
30
|
-
export
|
|
29
|
+
};
|
|
30
|
+
export type UpdatedUrlAndQuery = {
|
|
31
31
|
url: string;
|
|
32
32
|
updatedQuery: Record<string, unknown>;
|
|
33
|
-
}
|
|
33
|
+
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { AxiosRequestHeaders, RawAxiosRequestHeaders } from 'axios';
|
|
2
|
-
import
|
|
3
|
-
export
|
|
2
|
+
import { MailgunClientOptions } from '../MailgunClient';
|
|
3
|
+
export type OnCallEmptyHeaders = {
|
|
4
4
|
[key: string]: undefined;
|
|
5
|
-
}
|
|
6
|
-
export
|
|
5
|
+
};
|
|
6
|
+
export type RequestOptions = MailgunClientOptions & {
|
|
7
7
|
headers: AxiosRequestHeaders | RawAxiosRequestHeaders;
|
|
8
8
|
timeout: number;
|
|
9
|
-
}
|
|
10
|
-
export
|
|
9
|
+
};
|
|
10
|
+
export type OnCallRequestOptions = {
|
|
11
11
|
timeout?: number;
|
|
12
12
|
headers?: AxiosRequestHeaders | RawAxiosRequestHeaders;
|
|
13
13
|
query?: any;
|
|
14
14
|
[key: string]: unknown | undefined;
|
|
15
|
-
}
|
|
15
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export type DomainCredentialsQuery = {
|
|
2
|
+
limit: number;
|
|
3
|
+
skip: number;
|
|
4
|
+
};
|
|
5
|
+
export type DomainCredentials = {
|
|
6
|
+
login: string;
|
|
7
|
+
password: string;
|
|
8
|
+
};
|
|
9
|
+
export type DomainCredentialsItem = {
|
|
10
|
+
created_at: string;
|
|
11
|
+
login: string;
|
|
12
|
+
mailbox: string;
|
|
13
|
+
size_bytes: number | null;
|
|
14
|
+
};
|
|
15
|
+
export type DomainCredentialsResponseData = {
|
|
16
|
+
status: number;
|
|
17
|
+
body: {
|
|
18
|
+
items: DomainCredentialsItem[];
|
|
19
|
+
total_count: number;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export type DomainCredentialsList = {
|
|
23
|
+
items: DomainCredentialsItem[];
|
|
24
|
+
totalCount: number;
|
|
25
|
+
};
|
|
26
|
+
export type DomainCredentialsResult = {
|
|
27
|
+
status: number;
|
|
28
|
+
message: string;
|
|
29
|
+
spec?: string;
|
|
30
|
+
};
|
|
31
|
+
export type CreatedUpdatedDomainCredentialsResponse = {
|
|
32
|
+
status: number;
|
|
33
|
+
body: {
|
|
34
|
+
message: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export type DeletedDomainCredentialsResponse = {
|
|
38
|
+
status: number;
|
|
39
|
+
body: {
|
|
40
|
+
message: string;
|
|
41
|
+
spec: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export type UpdateDomainCredentialsData = {
|
|
45
|
+
password: string;
|
|
46
|
+
};
|