Migrar desde Resend
Pásate de Resend
a OpenEmail.
Apunta el SDK de Resend a OpenEmail y conserva tu código, o conviértelo al SDK de OpenEmail. Las audiencias, los contactos, las plantillas y los webhooks llegan con una sola clave.
El mismo correo,
escrito de las dos formas.
Un mensaje con una dirección de respuesta y una etiqueta, enviado a través de Resend y luego a través de OpenEmail.
import { Resend } from 'resend'const resend = new Resend(process.env.RESEND_API_KEY)const { data, error } = await resend.emails.send({from: 'Acme <[email protected]>',to: ['[email protected]'],replyTo: '[email protected]',subject: 'Your invoice is ready',html: '<p>Thanks for your order.</p>',tags: [{ name: 'category', value: 'invoice' }],})if (error) {console.error(error.message)} else {console.log(data.id)}
import { init, openemail } from '@openemail/sdk'init({ apiKey: process.env.OPENEMAIL_API_KEY })try {const email = await openemail.emails.send({from: 'Acme <[email protected]>',to: ['[email protected]'],replyTo: '[email protected]',subject: 'Your invoice is ready',html: '<p>Thanks for your order.</p>',tags: { category: 'invoice' },})console.log(email.id)} catch (error) {console.error(error.message)}
Campo por campo,
qué va dónde.
Cada opción que admite Resend y su lugar en OpenEmail.
| Resend | OpenEmail | Notas |
|---|---|---|
from, to, cc, bcc, subject, html, text | from, to, cc, bcc, subject, html, text | Mismos nombres y mismo significado. |
reply_to | replyTo | Una dirección por mensaje. |
tags: [{ name, value }] | tags: { name: value } | Hasta 10 pares clave-valor. |
react | html | Renderiza primero el componente a HTML. |
attachments[].path | attachments[].content | Descarga el archivo y pasa sus bytes. |
scheduled_at | scheduledAt | Una fecha, una hora ISO o una duración. |
Idempotency-Key | idempotencyKey | Mismo significado, 255 caracteres como máximo. |
batch.send | emails.sendBatch | Hasta 100 correos, cada uno enviado por separado. |
contacts.create({ audienceId }) | contacts.create({ audienceIds }) | Un solo campo de nombre, varias audiencias. |
Conversor
Pega tu código de Resend,
recíbelo escrito para OpenEmail.
Elige de dónde viene el código y su lenguaje. Las claves reconocidas se eliminan en tu navegador, y no se guarda nada de lo que pegas.
¿Vienes de Resend?
Cambia dos líneas.
Apunta el SDK de Resend a OpenEmail y conserva tu código, y luego trae contactos, plantillas y webhooks.
Dos diferencias: un mensaje admite una sola dirección de respuesta, y una imagen en línea referenciada por content id llega como un adjunto normal.
RESEND_BASE_URL=https://api.openemail.uk/compat/resendRESEND_API_KEY=oe_live_…Respondidas con los formatos y nombres de error de Resend
Trae el resto con una sola clave
- Supresiones
- Audiencias
- Contactos
- Plantillas
- Webhooks
Trae el resto
con una sola clave.
Pega una clave de Resend, revisa qué hay y empieza la importación. Los datos se mudan, y los dominios y las claves llegan como lista de tareas, para que no quede nada atrás.
Muévete desde Resend
Trae tu configuración desde Resend.
RESEND_BASE_URL=https://api.openemail.uk/compat/resendRESEND_API_KEY=oe_live_…Los eventos de webhook,
renombrados.
Cada evento de Resend y el evento de OpenEmail que lo sustituye. Cada petición lleva un solo evento, firmado.
| Resend | OpenEmail |
|---|---|
email.sent | email.sent |
email.delivered | email.delivered |
email.delivery_delayed | email.delivery_delayed |
email.bounced | email.bounced |
email.complained | email.complained |
email.opened | email.opened |
email.clicked | email.clicked |
email.failed | email.failed |
Migrar desde Resend,
dudas resueltas.
¿Te mudas
desde otro sitio?
Cada guía tiene el mismo conversor, el mismo mapa de campos y la misma lista de tareas.
¿Convertido?
Crea la clave que lee.
Un espacio de trabajo se crea en un minuto. Añade tu dominio, crea una clave de API y configura OPENEMAIL_API_KEY.