import { RpcMethod } from './commonTypes'; export type EmailsConfigurationsService_GetDomains = RpcMethod; export type EmailsConfigurationsService_UpdateDomainStatuses = RpcMethod; export type EmailsConfigurationsService_AddDomain = RpcMethod; export type EmailsConfigurationsService_DeleteDomain = RpcMethod; export type EmailsConfigurationsService_GetCustomTrackingDomain = RpcMethod; export type EmailsConfigurationsService_UpsertCustomTrackingDomain = RpcMethod; export type EmailsConfigurationsService_DeleteCustomTrackingDomain = RpcMethod; export type EmailsConfigurationsService_VerifyCustomTrackingDomain = RpcMethod; export interface EmailsConfigurationsService { /** Lists the sender email domains configured for an application's account (format XXXXX-XXXXX) with their DKIM/SPF/DMARC statuses and the DNS CNAME records to add. Use to show email sender-domain setup; covers both Amazon SES and SMTP-service domains. */ GetDomains: EmailsConfigurationsService_GetDomains; /** Refreshes DKIM/SPF/DMARC verification statuses for the account's sender email domains by re-querying Amazon SES and the SMTP service, then persisting the new statuses. Use to poll whether just-added DNS records have propagated; safe to call repeatedly. */ UpdateDomainStatuses: EmailsConfigurationsService_UpdateDomainStatuses; /** Registers a new sender email domain for the account and requests Amazon SES DKIM verification (poll list_email_domains for the CNAME records to publish). Fails if the domain already exists or the account's verifying-domains limit is reached. */ AddDomain: EmailsConfigurationsService_AddDomain; /** Removes a sender email domain from the account and deletes its SMTP credentials, clearing the application's From/reply properties if it was the default. Fails if the domain is still used as another application's sender domain. */ DeleteDomain: EmailsConfigurationsService_DeleteDomain; /** Returns the custom email link-tracking domain configured for an application (format XXXXX-XXXXX), or empty if none is set. Use to display the current tracking CNAME before editing it. */ GetCustomTrackingDomain: EmailsConfigurationsService_GetCustomTrackingDomain; /** Sets (creates or overwrites) the custom email link-tracking domain for an application. Use to point email click-tracking links at a customer-branded CNAME; run validate_custom_tracking_domain first to confirm the DNS record. */ UpsertCustomTrackingDomain: EmailsConfigurationsService_UpsertCustomTrackingDomain; /** Removes the custom email link-tracking domain from an application, reverting click-tracking links to the default Pushwoosh domain. No-op if none is set. */ DeleteCustomTrackingDomain: EmailsConfigurationsService_DeleteCustomTrackingDomain; /** Checks via a live DNS CNAME lookup whether the given custom tracking domain points at api.pushwoosh.com, returning verified true/false without saving anything. Use before update_custom_tracking_domain to confirm the customer published the CNAME. */ VerifyCustomTrackingDomain: EmailsConfigurationsService_VerifyCustomTrackingDomain; } export type Domain_CName = { name: string; value: string; status: string; }; export type Domain = { name: string; statusDkim: string; statusSpf: string; statusDmarc: string; cnamesAmazon: Domain_CName[]; cnames: Domain_CName[]; cnamesYandex: Domain_CName[]; }; export type AddDomainRequest = { /** Sender email domain to register (e.g. mail.example.com). */ name?: string; /** Application code (format XXXXX-XXXXX). */ application?: string; }; export type AddDomainResponse = {}; export type GetDomainsRequest = { /** Application code (format XXXXX-XXXXX). */ application?: string; }; export type GetDomainsResponse = { emailDomains: Domain[]; }; export type UpdateDomainStatusesRequest = { /** Application code (format XXXXX-XXXXX). */ application?: string; }; export type UpdateDomainStatusesResponse = {}; export type DeleteDomainRequest = { /** Application code (format XXXXX-XXXXX). */ application?: string; /** Sender email domain to remove. */ domain?: string; }; export type DeleteDomainResponse = {}; export type GetCustomTrackingDomainRequest = { /** Application code (format XXXXX-XXXXX). */ application?: string; }; export type GetCustomTrackingDomainResponse = { customTrackingDomain: string; }; export type UpsertCustomTrackingDomainRequest = { /** Custom tracking domain (a CNAME that must point at api.pushwoosh.com). */ customTrackingDomain?: string; /** Application code (format XXXXX-XXXXX). */ application?: string; }; export type UpsertCustomTrackingDomainResponse = {}; export type DeleteCustomTrackingDomainRequest = { /** Application code (format XXXXX-XXXXX). */ application?: string; }; export type DeleteCustomTrackingDomainResponse = {}; export type VerifyCustomTrackingDomainRequest = { /** Custom tracking domain (a CNAME that must point at api.pushwoosh.com). */ customTrackingDomain?: string; /** Application code (format XXXXX-XXXXX). */ application?: string; }; export type VerifyCustomTrackingDomainResponse = { verified: boolean; };