Migrar desde SendGrid
Pásate de SendGrid
a OpenEmail.
Personalizaciones, plantillas dinámicas, categorías y el webhook de eventos, trasladados campo por campo, con un conversor que reescribe tu código.
El mismo correo,
escrito de las dos formas.
Un mensaje con una dirección de respuesta y una etiqueta, enviado a través de SendGrid y luego a través de OpenEmail.
import sgMail from '@sendgrid/mail'sgMail.setApiKey(process.env.SENDGRID_API_KEY)try {const [response] = await sgMail.send({from: { email: '[email protected]', name: 'Acme' },to: '[email protected]',replyTo: '[email protected]',subject: 'Your invoice is ready',html: '<p>Thanks for your order.</p>',categories: ['invoice'],})console.log(response.statusCode)} catch (error) {console.error(error.response?.body ?? error)}
import { init, openemail } from '@openemail/sdk'init({ apiKey: process.env.OPENEMAIL_API_KEY })try {const email = await openemail.emails.send({from: { email: '[email protected]', name: 'Acme' },to: '[email protected]',replyTo: '[email protected]',subject: 'Your invoice is ready',html: '<p>Thanks for your order.</p>',tags: { category: 'invoice' },})console.log(email.status)} catch (error) {console.error(error.message)}
Campo por campo,
qué va dónde.
Cada opción que admite SendGrid y su lugar en OpenEmail.
| SendGrid | OpenEmail | Notas |
|---|---|---|
personalizations[].to | to | Un mensaje por personalización. |
reply_to | replyTo | Una dirección por mensaje. |
content[] | html, text | Un campo por tipo de contenido. |
template_id, dynamic_template_data | template: { id, props } | Primero recrea la plantilla en OpenEmail. |
categories, custom_args | tags | Hasta 10 pares clave-valor. |
send_at | scheduledAt | Una fecha en lugar de segundos Unix. |
tracking_settings | tracking: { opens, clicks } | Dos interruptores en cada mensaje. |
attachments[].type | attachments[].contentType | Base64 o bytes, 5 MB en total. |
batch_id | emails.cancel(id) | Cancela cada mensaje por su propio id. |
asm.group_id | suppressions.add | Las bajas van a una sola lista de supresión. |
Conversor
Pega tu código de SendGrid,
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.
Más allá del código,
cuatro pasos más.
- 01
Añade tu dominio de envío
Añádelo en OpenEmail y publica los registros DNS que te indica. El envío empieza en cuanto responde el registro de firma.
- 02
Crea una clave de API
Las claves empiezan por oe_live_ y solo llevan los permisos que les das.
- 03
Traslada tus webhooks
Crea un endpoint para los eventos que aparecen abajo y comprueba la cabecera X-OpenEmail-Signature en cada petición.
- 04
Trae contactos y supresiones
Importa tus contactos como CSV en la página de una audiencia y añade a la lista de supresión las direcciones que SendGrid tenía bloqueadas.
Los eventos de webhook,
renombrados.
Cada evento de SendGrid y el evento de OpenEmail que lo sustituye. Cada petición lleva un solo evento, firmado.
| SendGrid | OpenEmail |
|---|---|
processed | email.sent |
delivered | email.delivered |
deferred | email.delivery_delayed |
bounce | email.bounced |
dropped | email.suppressed |
spamreport | email.complained |
open | email.opened |
click | email.clicked |
unsubscribe | suppression.added |
Migrar desde SendGrid,
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.