Migrer depuis SendGrid
Quittez SendGrid
pour OpenEmail.
Personnalisations, modèles dynamiques, catégories et webhook d’événements, transposés champ par champ, avec un convertisseur qui réécrit votre code.
Le même e-mail,
écrit des deux façons.
Un message avec une adresse de réponse et un tag, envoyé via SendGrid puis via 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)}
Champ par champ,
ce qui va où.
Chaque option acceptée par SendGrid, et sa place dans OpenEmail.
| SendGrid | OpenEmail | Notes |
|---|---|---|
personalizations[].to | to | Un message par personnalisation. |
reply_to | replyTo | Une adresse par message. |
content[] | html, text | Un champ par type de contenu. |
template_id, dynamic_template_data | template: { id, props } | Recréez d’abord le modèle dans OpenEmail. |
categories, custom_args | tags | Jusqu’à 10 paires clé-valeur. |
send_at | scheduledAt | Une date au lieu de secondes Unix. |
tracking_settings | tracking: { opens, clicks } | Deux interrupteurs sur chaque message. |
attachments[].type | attachments[].contentType | Base64 ou octets, 5 Mo au total. |
batch_id | emails.cancel(id) | Annulez chaque message par son propre identifiant. |
asm.group_id | suppressions.add | Les désabonnements vont dans une seule liste de suppression. |
Convertisseur
Collez votre code SendGrid,
récupérez-le sur OpenEmail.
Choisissez la provenance du code et son langage. Les clés reconnues sont retirées dans votre navigateur, et rien de ce que vous collez n’est conservé.
Au-delà du code,
quatre étapes de plus.
- 01
Ajoutez votre domaine d’envoi
Ajoutez-le dans OpenEmail et publiez les enregistrements DNS indiqués. L’envoi démarre dès que l’enregistrement de signature répond.
- 02
Créez une clé API
Les clés commencent par oe_live_ et ne portent que les droits que vous leur donnez.
- 03
Déplacez vos webhooks
Créez un endpoint pour les événements listés ci-dessous et vérifiez l’en-tête X-OpenEmail-Signature de chaque requête.
- 04
Apportez contacts et suppressions
Importez vos contacts en CSV sur la page d’une audience, puis ajoutez les adresses bloquées par SendGrid à la liste de suppression.
Les événements webhook,
renommés.
Chaque événement SendGrid et l’événement OpenEmail qui le remplace. Chaque requête porte un seul événement, signé.
| 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 |
Quitter SendGrid,
les réponses à vos questions.
Vous venez
d’ailleurs ?
Chaque guide a le même convertisseur, la même table des champs et la même liste à cocher.
Converti ?
Créez la clé qu’il lit.
Un espace de travail se crée en une minute. Ajoutez votre domaine, créez une clé API et définissez OPENEMAIL_API_KEY.