Переезд с Resend
Переезжайте с Resend
на OpenEmail.
Направьте Resend SDK на OpenEmail и оставьте свой код или сконвертируйте его под OpenEmail SDK. Аудитории, контакты, шаблоны и вебхуки переезжают одним ключом.
Одно и то же письмо,
написанное двумя способами.
Одно письмо с адресом для ответа и тегом, отправленное через Resend, а затем через 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)}
Поле за полем:
что куда переходит.
Каждый параметр, который принимает Resend, и его место в OpenEmail.
| Resend | OpenEmail | Примечания |
|---|---|---|
from, to, cc, bcc, subject, html, text | from, to, cc, bcc, subject, html, text | Те же имена и тот же смысл. |
reply_to | replyTo | Один адрес на письмо. |
tags: [{ name, value }] | tags: { name: value } | До 10 пар ключей и значений. |
react | html | Сначала отрендерите компонент в HTML. |
attachments[].path | attachments[].content | Загрузите файл и передайте его байты. |
scheduled_at | scheduledAt | Дата, время в формате ISO или длительность. |
Idempotency-Key | idempotencyKey | Тот же смысл, не более 255 символов. |
batch.send | emails.sendBatch | До 100 писем, каждое отправляется отдельно. |
contacts.create({ audienceId }) | contacts.create({ audienceIds }) | Одно поле имени, несколько аудиторий. |
Конвертер
Вставьте свой код для Resend
и получите его на OpenEmail.
Выберите, откуда код и на каком он языке. Распознанные ключи удаляются в вашем браузере, а вставленное нигде не хранится.
Переходите с Resend?
Измените две строки.
Направьте Resend SDK на OpenEmail и оставьте свой код как есть, а затем перенесите контакты, шаблоны и вебхуки.
Два отличия: у письма может быть только один адрес для ответа, а встроенное изображение со ссылкой по content id приходит обычным вложением.
RESEND_BASE_URL=https://api.openemail.uk/compat/resendRESEND_API_KEY=oe_live_…Ответы в форматах и с именами ошибок самого Resend
Перенесите остальное одним ключом
- Список блокировки
- Аудитории
- Контакты
- Шаблоны
- Вебхуки
Перенесите остальное
одним ключом.
Вставьте ключ Resend, проверьте, что там есть, и запустите импорт. Данные переезжают, а домены и ключи приходят списком задач, так что ничего не теряется.
Переезд с Resend
Перенесите свои настройки из Resend.
RESEND_BASE_URL=https://api.openemail.uk/compat/resendRESEND_API_KEY=oe_live_…События вебхуков,
под новыми именами.
Каждое событие Resend и событие OpenEmail, которое его заменяет. Каждый запрос несёт одно событие и подписан.
| 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 |
Переезд с Resend:
ответы на вопросы.
Переходите
с другой платформы?
В каждом руководстве тот же конвертер, та же карта полей и тот же чек-лист.
Сконвертировали?
Создайте ключ, который читает код.
Рабочее пространство создаётся за минуту. Добавьте свой домен, создайте API-ключ и задайте OPENEMAIL_API_KEY.