@helyes/sendgridder
Version:
Sendgrid transactional email trigger
28 lines (27 loc) • 956 B
TypeScript
/// <reference types="node" />
import { IncomingMessage } from 'http';
import { IEmailAddress, ISendgridConfig, ITransactionalPayload } from './ISendgridConfig';
export interface ISendgridderResponse {
statusCode: number;
status: string;
data: string;
to: {
count: number;
emailFirst: IEmailAddress;
emailLast?: IEmailAddress;
};
}
export interface IPersonalization {
to: IEmailAddress;
data: object;
}
export declare class Sendgridder {
private readonly _authToken;
private readonly _config;
private _debug;
constructor(config: ISendgridConfig);
set debug(value: boolean);
buildPayload(personalizations: IPersonalization[]): ITransactionalPayload;
sendTransactional(personalization: IPersonalization[]): Promise<ISendgridderResponse>;
buildDetailedResponse(personalization: IPersonalization[], responseRaw: IncomingMessage, responseData: string): ISendgridderResponse;
}