mailgun.js 10.4.0 → 11.1.0

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 CHANGED
@@ -2,6 +2,25 @@
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
+ ## [11.1.0](https://github.com/mailgun/mailgun.js/compare/v11.0.0...v11.1.0) (2025-01-09)
6
+
7
+
8
+ ### Features
9
+
10
+ * Adding Secure Tracking API support ([b5ff1e0](https://github.com/mailgun/mailgun.js/commits/b5ff1e0a4c6982b302add9b25712818082a62fd0))
11
+
12
+ ## [11.0.0](https://github.com/mailgun/mailgun.js/compare/v10.4.0...v11.0.0) (2025-01-09)
13
+
14
+
15
+ ### Other changes
16
+
17
+ * Update readme by domain templates ([8e12c86](https://github.com/mailgun/mailgun.js/commits/8e12c867e3b9e34cd43ccb59d1b94bf69e2a0a03))
18
+
19
+
20
+ ### Breaking changes
21
+
22
+ * Update domains client to use v4 of API ([a2efc8c](https://github.com/mailgun/mailgun.js/commits/a2efc8c9e45cde9376af7bb2df467d9a45260f7d))
23
+
5
24
  ## [10.4.0](https://github.com/mailgun/mailgun.js/compare/v10.3.0...v10.4.0) (2024-12-30)
6
25
 
7
26
 
@@ -1,4 +1,4 @@
1
- import { DNSRecord, DomainData, DomainShortData, TDomain } from '../../Types/Domains';
1
+ import { DNSRecord, DomainData, TDomain } from '../../Types/Domains';
2
2
  export default class Domain implements TDomain {
3
3
  name: string;
4
4
  require_tls: boolean;
@@ -6,15 +6,18 @@ export default class Domain implements TDomain {
6
6
  state: string;
7
7
  wildcard: boolean;
8
8
  spam_action: string;
9
- created_at: string;
9
+ created_at: Date;
10
10
  smtp_password: string;
11
11
  smtp_login: string;
12
12
  type: string;
13
13
  receiving_dns_records: DNSRecord[] | null;
14
14
  sending_dns_records: DNSRecord[] | null;
15
- id?: string;
16
- is_disabled?: boolean;
17
- web_prefix?: string;
18
- web_scheme?: string;
19
- constructor(data: DomainShortData | DomainData, receiving?: DNSRecord[] | null, sending?: DNSRecord[] | null);
15
+ id: string;
16
+ is_disabled: boolean;
17
+ web_prefix: string;
18
+ web_scheme: string;
19
+ use_automatic_sender_security: boolean;
20
+ dkim_host?: string;
21
+ mailfrom_host?: string;
22
+ constructor(data: DomainData, receiving?: DNSRecord[] | null, sending?: DNSRecord[] | null);
20
23
  }
@@ -1,38 +1,66 @@
1
1
  import { IDomainTemplatesClient, IDomainTagsClient, IDomainCredentials, IDomainsClient } from '../../Interfaces/Domains';
2
2
  import { APIResponse } from '../../Types/Common/ApiResponse';
3
3
  import Request from '../common/Request';
4
- import DomainCredentialsClient from './domainsCredentials';
5
- import DomainTemplatesClient from './domainsTemplates';
6
- import DomainTagsClient from './domainsTags';
7
- import { MessageResponse, DomainTrackingData, UpdatedOpenTracking, DomainsQuery, DomainInfo, ConnectionSettings, UpdatedConnectionSettings, OpenTrackingInfo, ClickTrackingInfo, UnsubscribeTrackingInfo, ReplacementForPool, DKIMAuthorityInfo, UpdatedDKIMAuthority, DKIMSelectorInfo, UpdatedDKIMSelectorResponse, WebPrefixInfo, UpdatedWebPrefixResponse, TDomain, DomainUpdateInfo } from '../../Types/Domains';
4
+ import { MessageResponse, DomainTrackingData, UpdatedOpenTracking, DomainsQuery, DomainInfo, ConnectionSettings, UpdatedConnectionSettings, OpenTrackingInfo, ClickTrackingInfo, UnsubscribeTrackingInfo, ReplacementForPool, DKIMAuthorityInfo, UpdatedDKIMAuthority, DKIMSelectorInfo, WebPrefixInfo, UpdatedWebPrefixResponse, TDomain, DomainUpdateInfo, DomainGetQuery, UpdatedDKIMSelectorResult } from '../../Types/Domains';
5
+ import { ILogger, IDomainTrackingClient } from '../../Interfaces';
8
6
  export default class DomainsClient implements IDomainsClient {
9
7
  request: Request;
10
8
  domainCredentials: IDomainCredentials;
11
9
  domainTemplates: IDomainTemplatesClient;
12
10
  domainTags: IDomainTagsClient;
13
- constructor(request: Request, domainCredentialsClient: DomainCredentialsClient, domainTemplatesClient: DomainTemplatesClient, domainTagsClient: DomainTagsClient);
11
+ domainTracking: IDomainTrackingClient;
12
+ private logger;
13
+ constructor(request: Request, domainCredentialsClient: IDomainCredentials, domainTemplatesClient: IDomainTemplatesClient, domainTagsClient: IDomainTagsClient, domainTracking: IDomainTrackingClient, logger?: ILogger);
14
14
  private _handleBoolValues;
15
15
  private _parseMessage;
16
16
  private parseDomainList;
17
17
  private _parseDomain;
18
- private _parseTrackingSettings;
19
- private _parseTrackingUpdate;
20
18
  list(query?: DomainsQuery): Promise<TDomain[]>;
21
- get(domain: string): Promise<TDomain>;
19
+ get(domain: string, query?: DomainGetQuery): Promise<TDomain>;
22
20
  create(data: DomainInfo): Promise<TDomain>;
23
21
  update(domain: string, data: DomainUpdateInfo): Promise<TDomain>;
24
22
  verify(domain: string): Promise<TDomain>;
25
23
  destroy(domain: string): Promise<MessageResponse>;
26
24
  getConnection(domain: string): Promise<ConnectionSettings>;
27
25
  updateConnection(domain: string, data: ConnectionSettings): Promise<UpdatedConnectionSettings>;
26
+ /**
27
+ * @deprecated 'domains.getTracking' method is deprecated, and will be removed.
28
+ * Please use 'domains.domainTracking.getTracking' instead.
29
+ */
28
30
  getTracking(domain: string): Promise<DomainTrackingData>;
31
+ /**
32
+ * @deprecated 'domains.updateTracking' method is deprecated, and will be removed.
33
+ * Please use 'domains.domainTracking.updateTracking' instead.
34
+ */
29
35
  updateTracking(domain: string, type: string, data: OpenTrackingInfo | ClickTrackingInfo | UnsubscribeTrackingInfo): Promise<UpdatedOpenTracking>;
36
+ /**
37
+ * @deprecated "domains.getIps" method is deprecated, and will be removed in the future releases.
38
+ */
30
39
  getIps(domain: string): Promise<string[]>;
40
+ /**
41
+ * @deprecated "domains.assignIp" method is deprecated, and will be removed in the future releases.
42
+ */
31
43
  assignIp(domain: string, ip: string): Promise<APIResponse>;
44
+ /**
45
+ * @deprecated "domains.deleteIp" method is deprecated, and will be moved to the IpsClient.
46
+ */
32
47
  deleteIp(domain: string, ip: string): Promise<APIResponse>;
48
+ /**
49
+ * @deprecated "domains.linkIpPool" method is deprecated, and will be removed
50
+ * in the future releases.
51
+ */
33
52
  linkIpPool(domain: string, poolId: string): Promise<APIResponse>;
53
+ /**
54
+ * @deprecated "domains.unlinkIpPoll" method is deprecated, and will be moved into the IpsClient
55
+ * in the future releases.
56
+ */
34
57
  unlinkIpPoll(domain: string, replacement: ReplacementForPool): Promise<APIResponse>;
35
58
  updateDKIMAuthority(domain: string, data: DKIMAuthorityInfo): Promise<UpdatedDKIMAuthority>;
36
- updateDKIMSelector(domain: string, data: DKIMSelectorInfo): Promise<UpdatedDKIMSelectorResponse>;
59
+ updateDKIMSelector(domain: string, data: DKIMSelectorInfo): Promise<UpdatedDKIMSelectorResult>;
60
+ /**
61
+ * @deprecated "domains.updateWebPrefix" method is deprecated.
62
+ * Please use domains.update to set new "web_prefix".
63
+ * Current method will be removed in the future releases.
64
+ */
37
65
  updateWebPrefix(domain: string, data: WebPrefixInfo): Promise<UpdatedWebPrefixResponse>;
38
66
  }
@@ -29,9 +29,9 @@ export default class DomainTemplatesClient extends NavigationThruPages<ListDomai
29
29
  update(domain: string, templateName: string, data: DomainTemplateUpdateData): Promise<UpdateOrDeleteDomainTemplateResult>;
30
30
  destroy(domain: string, templateName: string): Promise<UpdateOrDeleteDomainTemplateResult>;
31
31
  destroyAll(domain: string): Promise<NotificationResult>;
32
- createVersion(domain: string, templateName: string, data: DomainTemplateVersionData): Promise<CreateDomainTemplateVersionResult>;
32
+ listVersions(domain: string, templateName: string, query?: DomainTemplatesQuery): Promise<ListDomainTemplateVersionsResult>;
33
33
  getVersion(domain: string, templateName: string, tag: string): Promise<IDomainTemplate>;
34
+ createVersion(domain: string, templateName: string, data: DomainTemplateVersionData): Promise<CreateDomainTemplateVersionResult>;
34
35
  updateVersion(domain: string, templateName: string, tag: string, data: DomainTemplateUpdateVersionData): Promise<MutateDomainTemplateVersionResult>;
35
36
  destroyVersion(domain: string, templateName: string, tag: string): Promise<MutateDomainTemplateVersionResult>;
36
- listVersions(domain: string, templateName: string, query?: DomainTemplatesQuery): Promise<ListDomainTemplateVersionsResult>;
37
37
  }
@@ -0,0 +1,15 @@
1
+ import { IDomainTrackingClient } from '../../Interfaces';
2
+ import { ClickTrackingInfo, DomainTrackingData, GenerateDomainTrackingCertificateResponse, GetDomainTrackingCertificateResponse, OpenTrackingInfo, RegenerateDomainTrackingCertificateResponse, UnsubscribeTrackingInfo, UpdatedOpenTracking } from '../../Types';
3
+ import Request from '../common/Request';
4
+ export default class DomainTrackingClient implements IDomainTrackingClient {
5
+ request: Request;
6
+ constructor(request: Request);
7
+ private _parseTrackingSettings;
8
+ private _parseTrackingUpdate;
9
+ private _isOpenTrackingInfoWitPlace;
10
+ get(domain: string): Promise<GetDomainTrackingCertificateResponse>;
11
+ generate(domain: string): Promise<GenerateDomainTrackingCertificateResponse>;
12
+ regenerate(domain: string): Promise<RegenerateDomainTrackingCertificateResponse>;
13
+ getTracking(domain: string): Promise<DomainTrackingData>;
14
+ updateTracking(domain: string, type: string, data: OpenTrackingInfo | ClickTrackingInfo | UnsubscribeTrackingInfo): Promise<UpdatedOpenTracking>;
15
+ }
@@ -0,0 +1,8 @@
1
+ import { ClickTrackingInfo, DomainTrackingData, GenerateDomainTrackingCertificateResponse, GetDomainTrackingCertificateResponse, OpenTrackingInfo, RegenerateDomainTrackingCertificateResponse, UnsubscribeTrackingInfo, UpdatedOpenTracking } from '../../Types';
2
+ export interface IDomainTrackingClient {
3
+ get(domain: string): Promise<GetDomainTrackingCertificateResponse>;
4
+ generate(domain: string): Promise<GenerateDomainTrackingCertificateResponse>;
5
+ regenerate(domain: string): Promise<RegenerateDomainTrackingCertificateResponse>;
6
+ getTracking(domain: string): Promise<DomainTrackingData>;
7
+ updateTracking(domain: string, type: string, data: OpenTrackingInfo | ClickTrackingInfo | UnsubscribeTrackingInfo): Promise<UpdatedOpenTracking>;
8
+ }
@@ -1,14 +1,16 @@
1
1
  import { APIResponse } from '../../Types/Common';
2
- import { ClickTrackingInfo, ConnectionSettings, DKIMAuthorityInfo, DKIMSelectorInfo, DomainInfo, DomainsQuery, DomainTrackingData, DomainUpdateInfo, MessageResponse, OpenTrackingInfo, ReplacementForPool, TDomain, UnsubscribeTrackingInfo, UpdatedConnectionSettings, UpdatedDKIMAuthority, UpdatedDKIMSelectorResponse, UpdatedOpenTracking, UpdatedWebPrefixResponse, WebPrefixInfo } from '../../Types/Domains';
2
+ import { ClickTrackingInfo, ConnectionSettings, DKIMAuthorityInfo, DKIMSelectorInfo, DomainGetQuery, DomainInfo, DomainsQuery, DomainTrackingData, DomainUpdateInfo, MessageResponse, OpenTrackingInfo, ReplacementForPool, TDomain, UnsubscribeTrackingInfo, UpdatedConnectionSettings, UpdatedDKIMAuthority, UpdatedDKIMSelectorResult, UpdatedOpenTracking, UpdatedWebPrefixResponse, WebPrefixInfo } from '../../Types/Domains';
3
3
  import { IDomainCredentials } from './DomainCredentials';
4
4
  import { IDomainTagsClient } from './DomainTags';
5
5
  import { IDomainTemplatesClient } from './DomainTemplates';
6
+ import { IDomainTrackingClient } from './DomainTracking';
6
7
  export interface IDomainsClient {
7
8
  domainCredentials: IDomainCredentials;
8
9
  domainTemplates: IDomainTemplatesClient;
9
10
  domainTags: IDomainTagsClient;
11
+ domainTracking: IDomainTrackingClient;
10
12
  list(query?: DomainsQuery): Promise<TDomain[]>;
11
- get(domain: string): Promise<TDomain>;
13
+ get(domain: string, query?: DomainGetQuery): Promise<TDomain>;
12
14
  create(data: DomainInfo): Promise<TDomain>;
13
15
  update(domain: string, data: DomainUpdateInfo): Promise<TDomain>;
14
16
  verify(domain: string): Promise<TDomain>;
@@ -23,6 +25,6 @@ export interface IDomainsClient {
23
25
  linkIpPool(domain: string, pool_id: string): Promise<APIResponse>;
24
26
  unlinkIpPoll(domain: string, replacement: ReplacementForPool): Promise<APIResponse>;
25
27
  updateDKIMAuthority(domain: string, data: DKIMAuthorityInfo): Promise<UpdatedDKIMAuthority>;
26
- updateDKIMSelector(domain: string, data: DKIMSelectorInfo): Promise<UpdatedDKIMSelectorResponse>;
28
+ updateDKIMSelector(domain: string, data: DKIMSelectorInfo): Promise<UpdatedDKIMSelectorResult>;
27
29
  updateWebPrefix(domain: string, data: WebPrefixInfo): Promise<UpdatedWebPrefixResponse>;
28
30
  }
@@ -2,3 +2,4 @@ export * from './DomainCredentials';
2
2
  export * from './DomainTags';
3
3
  export * from './DomainTemplates';
4
4
  export * from './DomainsClient';
5
+ export * from './DomainTracking';