Instalación
Un paquete, sin dependencias, todos los entornos de ejecución de servidor.
Instalación
La primera versión es 0.0.1. Toda operación documentada tiene un método, la comprobación de paridad del paquete hace fallar la compilación cuando falta alguno, y la API que envuelve está activa en todos los entornos.
pnpm add @openemail/sdkimport { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) const email = await openemail.emails.send({ from: 'Acme Billing <[email protected]>', to: '[email protected]', subject: 'Your September invoice', html: '<p>Invoice attached.</p>',}) console.log(email.id, email.status)init configura una sola vez el cliente compartido openemail, y todos los módulos que importen openemail después reciben ese cliente. Si lo omites, la primera llamada construye el cliente a partir de OPENEMAIL_API_KEY.
Que send() se resuelva no significa que el mensaje haya salido. Un envío programado o cancelable vuelve como queued o scheduled y se resuelve más tarde. Lee status, no el hecho de que la promesa se resolviera.
Dónde funciona
Cero dependencias en tiempo de ejecución, en Node 20+, Bun, Deno y Cloudflare Workers. Usa el fetch global y nada más, y puedes pasarle el tuyo.
Se incluyen tanto ESM como CommonJS, cada uno con sus propias declaraciones de tipos, así que funcionan tanto import { openemail } from '@openemail/sdk' como const { openemail } = require('@openemail/sdk').
En un navegador no. El cliente lleva una clave de API del espacio de trabajo que puede enviar correo y leer el buzón, así que se niega a iniciarse donde existen window y document. Los buzones desechables son la excepción: createTempMail() no necesita clave y se ejecuta en una página.
Este es un cliente de **TypeScript/JavaScript**, y no hay paquete para Python, Go, PHP ni Ruby. Desde otro lenguaje, la API es HTTP y JSON sin más: la guía rápida incluye una solicitud funcional en ocho lenguajes, y el documento OpenAPI genera un cliente en casi todos los demás.