SDK tipados
La API, como métodos tipados.
@openemail/sdk es un cliente de TypeScript sin dependencias para la API de OpenEmail, comprobado contra su documento OpenAPI en cada compilación.
En resumen
¿Qué es un SDK?
Un SDK, o kit de desarrollo de software, envuelve una API HTTP en las funciones y los tipos de un lenguaje. Llamas a métodos en lugar de construir solicitudes, y tu editor comprueba los argumentos antes de enviar nada.
0
Dependencias en ejecución
30s
Tiempo límite por intento
2
Reintentos en llamadas repetibles
Cómo funciona
Comprobado contra la API en cada compilación
Una comprobación de paridad lee el documento OpenAPI y hace fallar la compilación ante cualquier desvío: un método que falta, un método sin operación o un alcance incorrecto.
Paginación sin bucle de cursor
iterate() sigue el cursor y pide cada página solo cuando tu bucle llega a ella, así que un break detiene las solicitudes.
Reintentos que nunca envían dos veces
Las llamadas repetibles tienen hasta dos reintentos con espera creciente. Un envío reutiliza la misma clave de idempotencia en todos, así que un reintento devuelve el mensaje original.
Envía tu primer correo
Instálalo con bun add @openemail/sdk y asigna a OPENEMAIL_API_KEY una clave de Configuración, Claves API.
import { 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)Lo que obtienes
Ya en el producto
Node, Bun y Deno
Node 20 o posterior, ESM o CommonJS, y acepta tu propio fetch.
Claves comprobadas pronto
Una clave con el prefijo equivocado lanza un error al construir el cliente, no como un 401.
Un cliente, muchos espacios de trabajo
Pasa apiKey en una sola llamada para actuar en otro espacio de trabajo.
Errores distinguibles
OpenEmailApiError lleva status, code y requestId, además de isRateLimited e isNotFound.
Buenas prácticas
Sácale el máximo partido
- 01
La clave en el entorno
Define OPENEMAIL_API_KEY y deja que el cliente compartido la lea, así ninguna clave queda en el código fuente.
- 02
Crea un solo cliente
Crea el cliente una vez, en su propio módulo, e impórtalo en el resto.
- 03
Lee el estado
Un envío resuelto aún puede estar en cola, programado o fallido, así que lee status antes de darlo por entregado.
En qué punto está
Conviene saber
- Publicación automática
- La publicación es manual, así que una versión llega a npm cuando alguien la ejecuta, no cuando aterriza el cambio.
- Otros lenguajes
- Solo TypeScript. Aún no hay cliente para Python, Go ni Ruby.
Preguntas
Lo que más nos preguntan
Sigue explorando
Combina bien con
Empieza
Tu dominio,
tu correo.
Apunta un dominio a OpenEmail y lee su correo en un buzón hecho a su medida. El plan gratuito incluye un dominio.