UNPKG

postmark

Version:

Official Node.js client library for the Postmark HTTP API - https://www.postmarkapp.com

80 lines (79 loc) 2.88 kB
import { Hash } from "../client/SupportingTypes"; import { Attachment, Header, LinkTrackingOptions } from "./SupportingTypes"; /** * A single recipient entry in a Bulk Email request. * * Message content (subject, body or template) is defined once on the * {@link BulkEmailRequest}; each BulkEmailMessage supplies the recipient(s) and * any per-recipient personalization via the TemplateModel. */ export declare class BulkEmailMessage { To: string; Cc?: string; Bcc?: string; TemplateModel?: object; Metadata?: Hash<string>; Headers?: Header[]; constructor(To: string, TemplateModel?: object, Cc?: string, Bcc?: string, Metadata?: Hash<string>, Headers?: Header[]); } /** * A Bulk Email request (POST /email/bulk). * * The Bulk API is intended for broadcast sends (newsletters, announcements, * marketing campaigns) and is distinct from the transactional batch endpoints. * Shared message content - or a hosted template - is defined once, together with * the list of recipients to send it to. Postmark manages the send-rate optimization * for deliverability and returns a request ID that can be polled with * getBulkEmailStatus(). */ export declare class BulkEmailRequest { From: string; Messages: BulkEmailMessage[]; ReplyTo?: string; Subject?: string; HtmlBody?: string; TextBody?: string; TemplateId?: number; TemplateAlias?: string; InlineCss?: boolean; Tag?: string; Metadata?: Hash<string>; MessageStream?: string; TrackOpens?: boolean; TrackLinks?: LinkTrackingOptions; Attachments?: Attachment[]; Headers?: Header[]; constructor(From: string, Messages: BulkEmailMessage[], Subject?: string, HtmlBody?: string, TextBody?: string, TemplateId?: number, TemplateAlias?: string, ReplyTo?: string, Tag?: string, TrackOpens?: boolean, TrackLinks?: LinkTrackingOptions, Headers?: Header[], Attachments?: Attachment[], Metadata?: Hash<string>, MessageStream?: string, InlineCss?: boolean); } /** * Possible states of a Bulk Email request. * * A submitted request reports "Accepted" or "Failed"; while Postmark is delivering * the messages the request progresses through "Processing" to "Completed". */ export declare enum BulkEmailStatus { Accepted = "Accepted", Processing = "Processing", Completed = "Completed", Failed = "Failed" } /** * Response returned when submitting a Bulk Email request (POST /email/bulk). */ export interface BulkEmailSendingResponse { Id: string; Status: BulkEmailStatus; SubmittedAt: string; } /** * Progress and details of a previously submitted Bulk Email request * (GET /email/bulk/{bulk-request-id}). */ export interface BulkEmailStatusResponse { Id: string; Status: BulkEmailStatus; SubmittedAt: string; TotalMessages: number; PercentageCompleted: number; Subject: string; }