Initialization
import { coss } from '@coss';coss.email.init({apiKey: process.env.COSS_KEY,environment: 'production', // or 'sandbox'});
Sending Emails
// Send a transactional emailawait coss.email.send({from: 'noreply@yourapp.com',to: 'user@example.com',subject: 'Welcome to Our App!',text: 'Thanks for signing up.',html: '<p>Thanks for signing up.</p>',});
Domains
// Create and verify a sending domainawait coss.email.domains.create({domain: 'yourapp.com',});// List verified domainsawait coss.email.domains.list();// Delete a domainawait coss.email.domains.delete('domain_abc123');
Templates
// Create an email templateawait coss.email.templates.create({name: 'Welcome Template',subject: 'Welcome!',html: '<h1>Welcome {{name}}</h1>',});// Retrieve a templateawait coss.email.templates.retrieve('tmpl_abc123');// Update a templateawait coss.email.templates.update('tmpl_abc123', {html: '<h1>Hello {{name}}!</h1>',});// Delete a templateawait coss.email.templates.delete('tmpl_abc123');
Webhooks
// Webhook eventscoss.email.webhooks.on('email.delivered', (event) => {console.log('Email delivered:', event.data);});coss.email.webhooks.on('email.bounced', (event) => {console.log('Email bounced:', event.data);});
Utilities
// Validate webhook signatureconst isValid = coss.email.utils.verifySignature({payload: req.body,signature: req.headers['coss-email-infra-signature'],secret: 'whsec_email_123',});