Rota de envio no Express.js

Adicione uma rota POST no Express.js que envia e-mails com o SDK do Publiq, com tratamento de erros.

Instancie o cliente uma vez e reutilize-o entre requisições:

import express from 'express';
import { Publiq, PubliqError } from 'publiq';

const app = express();
app.use(express.json());
const publiq = new Publiq(process.env.PUBLIQ_API_KEY);

app.post('/send', async (req, res) => {
  try {
    const email = await publiq.emails.send({
      from: 'you@yourdomain.com',
      to: req.body.to,
      templateKey: 'welcome-email',
    });
    res.json({ id: email.id });
  } catch (err) {
    if (err instanceof PubliqError) return res.status(err.status).json({ error: err.code });
    res.status(500).json({ error: 'internal' });
  }
});

app.listen(3000);

Boas práticas

  • Chame o Publiq sempre do servidor — nunca exponha a API key no cliente.
  • Crie a instância do cliente uma vez e reutilize-a entre requisições.
  • Prefira templateKey a HTML inline para manter o conteúdo versionado.
  • Trate PubliqError (status/code); o SDK já retenta erros temporários com backoff.
  • Envie de um domínio verificado — veja Domínios.

Veja também

Rota de envio no Express.js — Publiq Docs