Ruta de envío en Express.js
Agrega una ruta POST en Express.js que envía correos con el SDK de Publiq, con manejo de errores.
Instancia el cliente una vez y reutilízalo entre peticiones:
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);Buenas prácticas
- Llama a Publiq siempre desde el servidor — nunca expongas la API key en el cliente.
- Crea la instancia del cliente una vez y reutilízala entre peticiones.
- Prefiere
templateKeysobre HTML inline para mantener el contenido versionado. - Maneja
PubliqError(status/code); el SDK ya reintenta errores transitorios con backoff. - Envía desde un dominio verificado — ver Dominios.