> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notifique.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Resend (e-mail)

> BYOK com Resend: sua API key, domínios alinhados e fallback se a Resend falhar.

Integração BYOK **Resend** para e-mail. Você mantém a conta na Resend; o Notifique envia por ela quando possível.

***

## Objetivo

Com integração Resend **ativa**, envios de e-mail tentam **primeiro** a Resend. Falha → fallback interno Notifique (como plano B de voo).

Cada envio consome **1 crédito** de e-mail na Notifique (ou preço pré-pago), além do custo na sua conta Resend.

***

## Endpoint externo

* Base: `https://api.resend.com`
* Envio: `POST /emails`
* Referência: [Resend, Send Email](https://resend.com/docs/api-reference/emails/send-email)

***

## Autenticação

Tipo **BEARER** com API key Resend de **acesso completo** (envio + domínios + webhooks):

```
Authorization: Bearer re_...
```

<Warning>
  Chaves *sending-only* retornam `401 restricted_api_key` ao listar domínios ou criar webhook.
</Warning>

***

## Domínios: cadastro vs envio

### Ao salvar a integração

A Notifique exige **ao mesmo tempo**:

1. Pelo menos um domínio **verificado** no workspace Notifique.
2. Pelo menos um domínio **pronto para envio** na Resend (`capabilities.sending`).
3. **Interseção**, algum hostname nos dois lados (`www.` ignorado na comparação).

A listagem de domínios na Resend percorre **todas as páginas** da API.

### Na hora de enviar

O **`from`** deve usar domínio **aprovado na Notifique** (registro vinculado ao envio).

***

## Mapeamento (Notifique → Resend)

* `from` + `fromName` → `Nome <email@dominio.com>` ou só e-mail
* `to` → um destinatário na Resend
* `subject`, HTML e texto → repassados da fila
* Header `Idempotency-Key: notifique-email/{emailId}` (evita duplicata em retry)
* Tag `notifique_email_id` para correlacionar no dashboard Resend

***

## Webhooks de status

Ao criar integração, Notifique registra webhook na Resend:

`POST /webhooks/email/resend/:integrationId`

Eventos: enviado, entregue, **aberto**, **clique**, bounce, reclamação, atraso, falha, **suppressed**. Segredo criptografado; ao remover integração, webhook remoto é removido quando possível.

Integrações já criadas são atualizadas automaticamente na próxima listagem de integrações do workspace (assinatura do webhook na Resend).

### Abertura e clique

Para `email.opened` e `email.clicked` chegarem na Notifique:

1. Ative **open** e/ou **click tracking** no domínio na Resend (subdomínio de tracking verificado).
2. A Notifique atualiza o status do envio para `OPENED` / `CLICKED` e dispara os webhooks `email.opened` / `email.clicked` do seu workspace.

Sem tracking ativo na Resend, entrega/bounce continuam funcionando; abertura e clique não são reportados.

Com **auto-conversão clicar.co** ativa no workspace, todos os links em assunto/HTML/texto são reescritos antes do envio (API, dashboard, automação e notify), cliques também disparam `email.clicked` pelo rastreamento Notifique.

***

## Failover

Erro HTTP, timeout ou transporte na Resend:

1. Tentativa externa marcada como falha
2. Próximo provedor externo (se houver, por ordem). ex.: Amazon SES BYOK
3. Cadeia **interna** Notifique

***

## Observabilidade

Por envio:

* `providerType`: `EXTERNAL` ou `INTERNAL`
* `providerName`: nome da integração
* `providerResponse`: resposta sanitizada
* ID externo Resend quando disponível

***

## Configuração no workspace

1. Canal: `EMAIL`
2. Provedor: `Resend`
3. Credencial: API key Resend

Após salvar, credencial **não** reaparece em plaintext.

***

## Próximos passos

* **[Hub BYOK](/byok)**
* **[Amazon SES](/byok/ses)**
