UNPKG

customerio-node

Version:

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

96 lines (95 loc) 3.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SendSMSRequest = exports.SendPushRequest = exports.SendEmailRequest = void 0; class SendEmailRequest { constructor(opts) { this.message = { to: opts.to, identifiers: opts.identifiers, attachments: {}, message_data: opts.message_data, headers: opts.headers || {}, preheader: opts.preheader, reply_to: opts.reply_to, bcc: opts.bcc, body_plain: opts.body_plain, body_amp: opts.body_amp, fake_bcc: opts.fake_bcc, disable_message_retention: opts.disable_message_retention, send_to_unsubscribed: opts.send_to_unsubscribed, tracked: opts.tracked, queue_draft: opts.queue_draft, send_at: opts.send_at, disable_css_preprocessing: opts.disable_css_preprocessing, language: opts.language, }; if ('transactional_message_id' in opts) { this.message.transactional_message_id = opts.transactional_message_id; } if ('from' in opts) { this.message.from = opts.from; } if ('subject' in opts) { this.message.subject = opts.subject; } if ('body' in opts) { this.message.body = opts.body; } } // Use `any` for data here, because union types and overloads in Typescript // don't work well together for `Buffer.from`. attach(name, data, { encode = true } = {}) { if (this.message.attachments[name]) { throw new Error(`attachment ${name} already exists`); } if (encode) { this.message.attachments[name] = Buffer.from(data).toString('base64'); } else { this.message.attachments[name] = data; } } } exports.SendEmailRequest = SendEmailRequest; class SendPushRequest { constructor(opts) { this.message = { identifiers: opts.identifiers, to: opts.to, transactional_message_id: opts.transactional_message_id, title: opts.title, message: opts.message, disable_message_retention: opts.disable_message_retention, send_to_unsubscribed: opts.send_to_unsubscribed, queue_draft: opts.queue_draft, message_data: opts.message_data, send_at: opts.send_at, language: opts.language, image_url: opts.image_url, link: opts.link, sound: opts.sound, custom_data: opts.custom_data, custom_device: opts.device, }; if ('custom_payload' in opts) { this.message.custom_payload = opts.custom_payload; } } } exports.SendPushRequest = SendPushRequest; class SendSMSRequest { constructor(opts) { this.message = { identifiers: opts.identifiers, to: opts.to, transactional_message_id: opts.transactional_message_id, disable_message_retention: opts.disable_message_retention, send_to_unsubscribed: opts.send_to_unsubscribed, queue_draft: opts.queue_draft, message_data: opts.message_data, send_at: opts.send_at, language: opts.language, }; } } exports.SendSMSRequest = SendSMSRequest;