export interface EmailAddress { Email: string; Name?: string; } export interface Attachment { ContentType: string; Filename: string; Base64Content: string; ContentID?: string; } export interface InlineAttachment { ContentType: string; Filename: string; Base64Content: string; ContentID: string; } export interface SendEmailMessage { From: EmailAddress; To?: EmailAddress[]; Cc?: EmailAddress[]; Bcc?: EmailAddress[]; ReplyTo?: EmailAddress; Subject?: string; TextPart?: string; HTMLPart?: string; TemplateID?: number; TemplateLanguage?: boolean; TemplateErrorReporting?: EmailAddress; TemplateErrorDeliver?: boolean; Variables?: Record; Attachments?: Attachment[]; InlinedAttachments?: InlineAttachment[]; Priority?: number; CustomCampaign?: string; DeduplicateCampaign?: boolean; EventPayload?: string; CustomID?: string; Headers?: Record; URLTags?: string; TrackOpens?: 'account_default' | 'disabled' | 'enabled'; TrackClicks?: 'account_default' | 'disabled' | 'enabled'; } export interface SendEmailRequest { Messages: SendEmailMessage[]; SandboxMode?: boolean; } export interface SendEmailResponse { Messages: Array<{ Status: string; CustomID?: string; To?: Array<{ Email: string; MessageUUID: string; MessageID: number; MessageHref: string; }>; Cc?: Array<{ Email: string; MessageUUID: string; MessageID: number; MessageHref: string; }>; Bcc?: Array<{ Email: string; MessageUUID: string; MessageID: number; MessageHref: string; }>; Errors?: Array<{ ErrorIdentifier: string; ErrorCode: string; StatusCode: number; ErrorMessage: string; ErrorRelatedTo: string[]; }>; }>; }