UNPKG

customerio-node

Version:

A node client for the Customer.io event API. http://customer.io

100 lines (99 loc) 3.46 kB
export type Identifiers = { id: string | number; } | { email: string; }; export type SendEmailRequestRequiredOptions = { to: string; identifiers: Identifiers; }; export type SendEmailRequestOptionalOptions = Partial<{ message_data: Record<string, any>; headers: Record<string, any>; preheader: string; reply_to: string; bcc: string; body_plain: string; body_amp: string; fake_bcc: boolean; disable_message_retention: boolean; send_to_unsubscribed: boolean; tracked: boolean; queue_draft: boolean; send_at: number; disable_css_preprocessing: boolean; language: string; }>; export type SendEmailRequestWithTemplate = SendEmailRequestRequiredOptions & SendEmailRequestOptionalOptions & { transactional_message_id: string | number; }; export type SendEmailRequestWithoutTemplate = SendEmailRequestRequiredOptions & SendEmailRequestOptionalOptions & { body: string; subject: string; from: string; }; export type SendEmailRequestOptions = SendEmailRequestWithTemplate | SendEmailRequestWithoutTemplate; export type EmailMessage = Partial<SendEmailRequestWithTemplate & SendEmailRequestWithoutTemplate> & { attachments: Record<string, string>; }; export declare class SendEmailRequest { message: EmailMessage; constructor(opts: SendEmailRequestOptions); attach(name: string, data: any, { encode }?: { encode?: boolean | undefined; }): void; } export type SendPushCustomPayload = { ios: Record<string, any>; android: Record<string, any>; }; export type SendPushRequestRequiredOptions = { identifiers: Identifiers; transactional_message_id: string | number; }; export type SendPushRequestOptionalOptions = Partial<{ to: string; title: string; message: string; disable_message_retention: boolean; send_to_unsubscribed: boolean; queue_draft: boolean; message_data: Record<string, any>; send_at: number; language: string; image_url: string; link: string; sound: string; custom_data: Record<string, string>; device: Record<string, any>; custom_device: Record<string, any>; }>; export type SendPushRequestWithoutCustomPayload = SendPushRequestRequiredOptions & SendPushRequestOptionalOptions & {}; export type SendPushRequestWithCustomPayload = SendPushRequestRequiredOptions & SendPushRequestOptionalOptions & { custom_payload: SendPushCustomPayload; }; export type SendPushRequestOptions = SendPushRequestWithoutCustomPayload | SendPushRequestWithCustomPayload; export type PushMessage = Partial<Omit<SendPushRequestWithoutCustomPayload, 'device'> & Omit<SendPushRequestWithCustomPayload, 'device'>>; export declare class SendPushRequest { message: PushMessage; constructor(opts: SendPushRequestOptions); } export type SMSMessage = Partial<SendSMSRequestOptions>; export type SendSMSRequestRequiredOptions = { identifiers: Identifiers; transactional_message_id: string | number; }; export type SendSMSRequestOptionalOptions = Partial<{ to: string; disable_message_retention: boolean; send_to_unsubscribed: boolean; queue_draft: boolean; message_data: Record<string, any>; send_at: number; language: string; }>; export type SendSMSRequestOptions = SendSMSRequestRequiredOptions & SendSMSRequestOptionalOptions & {}; export declare class SendSMSRequest { message: SMSMessage; constructor(opts: SendSMSRequestOptions); }