Migrer depuis Resend
Quittez Resend
pour OpenEmail.
Pointez le SDK Resend vers OpenEmail et gardez votre code, ou convertissez-le vers le SDK OpenEmail. Audiences, contacts, modèles et webhooks passent avec une seule clé.
Le même e-mail,
écrit des deux façons.
Un message avec une adresse de réponse et un tag, envoyé via Resend puis via 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)}
Champ par champ,
ce qui va où.
Chaque option acceptée par Resend, et sa place dans OpenEmail.
| Resend | OpenEmail | Notes |
|---|---|---|
from, to, cc, bcc, subject, html, text | from, to, cc, bcc, subject, html, text | Mêmes noms et même sens. |
reply_to | replyTo | Une adresse par message. |
tags: [{ name, value }] | tags: { name: value } | Jusqu’à 10 paires clé-valeur. |
react | html | Faites d’abord le rendu du composant en HTML. |
attachments[].path | attachments[].content | Récupérez le fichier et passez ses octets. |
scheduled_at | scheduledAt | Une date, une heure ISO ou une durée. |
Idempotency-Key | idempotencyKey | Même sens, 255 caractères au maximum. |
batch.send | emails.sendBatch | Jusqu’à 100 e-mails, chacun envoyé séparément. |
contacts.create({ audienceId }) | contacts.create({ audienceIds }) | Un seul champ de nom, plusieurs audiences. |
Convertisseur
Collez votre code Resend,
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é.
Vous venez de Resend ?
Changez deux lignes.
Pointez le SDK Resend vers OpenEmail et gardez votre code, puis importez contacts, modèles et webhooks.
Deux différences : un message n’accepte qu’une adresse de réponse, et une image intégrée référencée par content id arrive comme une pièce jointe ordinaire.
RESEND_BASE_URL=https://api.openemail.uk/compat/resendRESEND_API_KEY=oe_live_…Réponses dans les formats et noms d’erreur de Resend
Apportez le reste avec une seule clé
- Suppressions
- Audiences
- Contacts
- Modèles
- Webhooks
Rapatriez le reste
avec une seule clé.
Collez une clé Resend, vérifiez ce qu'il y a et lancez l'import. Les données passent, et les domaines et les clés arrivent sous forme de liste à cocher, pour ne rien laisser derrière.
Quitter Resend
Transférez votre configuration depuis Resend.
RESEND_BASE_URL=https://api.openemail.uk/compat/resendRESEND_API_KEY=oe_live_…Les événements webhook,
renommés.
Chaque événement Resend et l’événement OpenEmail qui le remplace. Chaque requête porte un seul événement, signé.
| 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 |
Quitter Resend,
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.