postmark
Version:
Official Node.js client library for the Postmark HTTP API - https://www.postmarkapp.com
80 lines (79 loc) • 2.88 kB
TypeScript
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;
}