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

# Registros de e-mails de clientes

> Veja todos os e-mails transacionais que Dodo Payments enviou a um cliente, verifique se foram entregues, leia o e-mail exatamente como foi enviado e envie-o novamente.

> **[List Customer Emails](https://docs.dodopayments.com/api-reference/customers/list-customer-emails.md)**
>
> Leia os e-mails enviados de um cliente e o resultado da entrega.

> **[Get Email Content](https://docs.dodopayments.com/api-reference/customers/get-customer-email-body.md)**
>
> Leia um e-mail exatamente como ele foi enviado.

## Visão geral

Dodo Payments envia e-mails transacionais aos seus clientes em seu nome: recibos, avisos de reembolso, avisos de assinatura, e-mails de cobrança e recuperação, concessões de direitos de acesso e links de login do Customer Portal.

A aba **Sent Emails** no registro de um cliente mostra cada email enviado. Para cada email, você vê o que foi enviado, até onde ele chegou e por que não foi entregue quando houve uma falha. Você pode abrir o email recebido pelo cliente e enviá-lo novamente.

![A guia E-mails enviados de um cliente, listando cada e-mail com seu status de entrega](https://mintcdn.com/dodopayments/9G2eOufWVa-OvQvG/images/email-logs/sent-emails-tab.png?fit=max\&auto=format\&n=9G2eOufWVa-OvQvG\&q=85\&s=6c7fa235800cee5c32eb286312f2a52b)

> [!NOTE]
>
> Os emails são mantidos por **180 dias**. O status de entrega vem do provedor de email e normalmente é atualizado em segundos após cada evento de entrega.

## Visualizar os e-mails de um cliente

**1. Open the Customer**

Acesse **Sales → Customers** no dashboard e selecione o cliente.

**2. Open the Sent Emails Tab**

A aba lista todos os emails enviados para esse cliente nos últimos 180 dias, começando pelo mais recente.

**3. Read a Row**

Cada linha mostra o assunto, com o remetente e o endereço do destinatário abaixo. As outras colunas mostram a **Category**, a **Date & Time**, o **Delivery Status** e as **Actions** disponíveis.

A categoria pode ser **Payments**, **Refunds**, **Subscriptions**, **Dunning & Recovery**, **Entitlements** ou **Auth**. Os emails de login do Customer Portal pertencem a **Auth**.

## Delivery Status

Cada email tem um de cinco status. A API retorna o valor do status, e o dashboard mostra o respectivo rótulo:

| Status | Rótulo no dashboard | Significado |
| - | - | - |
| `sent` | **Sent** | Dodo Payments entregou o email ao provedor. Ele está a caminho ou o servidor de recebimento ainda não respondeu. |
| `delivered` | **Delivered** | O servidor de email do destinatário aceitou o email. |
| `failed` | **Failed** | O email não foi entregue. Um motivo da falha é exibido. |
| `complained` | **Marked as spam** | O destinatário marcou o email como spam. |
| `blocked` | **Not sent** | Nada foi enviado porque a cota semanal do modo de teste foi esgotada. |

### Motivos da falha

Quando um email não é entregue, a linha informa um motivo para que você saiba se precisa agir. Posicione o cursor sobre o status na linha para lê-lo. A API retorna o mesmo motivo em `failure_reason` e um código estável em `failure_code`:

| Motivo | `failure_code` | O que significa | O que fazer |
| - | - | - | - |
| A caixa de entrada não existe | `mailbox_not_found` | O endereço não existe. | Corrija o endereço de email do cliente. |
| Endereço rejeitado pelo servidor de email | `address_rejected` | O servidor de recebimento recusou o endereço. | Use outro endereço. |
| Endereço bloqueado após falhas anteriores | `address_suppressed` | O provedor suprimiu este endereço após um hard bounce ou uma reclamação anterior. | Use outro endereço. |
| A caixa de entrada está cheia | `mailbox_full` | A caixa de entrada do destinatário não tem mais espaço. | Envie novamente mais tarde. |
| Falha temporária na entrega | `temporary_failure` | Um problema temporário no servidor de recebimento. | Envie novamente mais tarde. |
| Mensagem rejeitada por ser muito grande | `message_too_large` | O servidor de recebimento recusou o tamanho. | Entre em contato com o suporte. |
| O destinatário marcou o email como spam | `marked_as_spam` | O destinatário denunciou o email. | Não o envie novamente. |
| Não foi possível enviar o email | `send_failed` | O provedor recusou o envio ou a falha não corresponde a nenhum outro código. | Envie novamente. |
| Não enviado: a cota de emails do modo de teste desta semana foi esgotada | `test_mode_quota_spent` | A [cota do modo de teste](#test-mode) foi esgotada. | Aguarde a redefinição da cota. |

Cinco desses motivos exigem um endereço diferente ao reenviar, porque o mesmo endereço falharia novamente: a caixa de entrada não existe, o endereço foi rejeitado, o endereço foi bloqueado após falhas anteriores, a mensagem foi rejeitada por ser muito grande e o destinatário marcou o email como spam.

## Lendo um email

Para ler um email, selecione **Resend** na linha correspondente ou **Retry** em uma linha com falha. O painel aberto mostra a cópia armazenada em **Email Preview**, exatamente como foi enviada. Os emails de recuperação e dunning escritos por você recebem o rótulo **Written by you**.

![The stored email content, shown as the customer received it](https://mintcdn.com/dodopayments/9G2eOufWVa-OvQvG/images/email-logs/email-preview.png?fit=max\&auto=format\&n=9G2eOufWVa-OvQvG\&q=85\&s=b0d00b4b6fe62c6ace0b8a2b4419619b)

Alguns emails não têm conteúdo para exibir:

* **Emails de login do Customer Portal.** Eles contêm um link de login ativo, portanto o conteúdo nunca é exibido.
* **Emails bloqueados.** Eles nunca chegaram ao provedor, portanto não existe uma cópia.
* **Emails que não puderam ser entregues ao provedor.** Nenhuma cópia foi armazenada.
* **Emails com mais de 180 dias.** O provedor exclui o conteúdo após esse período.

## Enviando um email novamente

Para enviar um email novamente, selecione **Resend** na linha correspondente ou **Retry** em uma linha com falha e confirme no painel. O botão mostra quantos reenvios o email ainda pode receber. Dodo Payments reconstrói o email a partir do evento original, não da cópia armazenada, portanto um recibo mostra o estado atual do pagamento. O email mantém a data do evento original.

![The resend control on an email row, with the option to send to a different address](https://mintcdn.com/dodopayments/9G2eOufWVa-OvQvG/images/email-logs/resend-email.png?fit=max\&auto=format\&n=9G2eOufWVa-OvQvG\&q=85\&s=8751c05df35b14f116c8d487eaae7b70)

O campo **To** no painel contém o endereço original. Para enviar o email para outro endereço, altere-o. Após uma falha permanente, o campo **To** começa vazio e você precisa inserir um endereço diferente, porque o original falharia novamente.

> [!WARNING]
>
> Um reenvio é um novo email. O cliente recebe outra cópia, e o reenvio aparece como uma linha própria na aba.

### Limites

Estes limites se aplicam a cada reenvio:

* Cada email pode ser enviado novamente **três vezes**.
* Os reenvios de um email para o mesmo endereço aguardam entre as tentativas: cinco minutos após o envio mais recente antes do primeiro reenvio, dez minutos antes do segundo e quinze minutos antes do terceiro.
* Um reenvio para qualquer endereço aguarda até que tenham se passado cinco minutos desde que esse endereço recebeu um email seu pela última vez.
* Um envio que nunca chegou ao provedor não conta para os três reenvios. Ainda assim, ele acrescenta tempo à espera.
* O Resend está disponível somente no dashboard. A API é somente leitura.

### Quando o Resend não está disponível

O dashboard não oferece um reenvio ou o recusa nos seguintes casos:

| Caso | Motivo |
| - | - |
| O destinatário marcou o email como spam | O destinatário solicitou o encerramento do recebimento desses emails. |
| O endereço está suprimido | O provedor aceita o envio para esse endereço e depois o descarta. Insira um endereço diferente. |
| Um envio posterior do mesmo email já foi realizado | Esta linha é um histórico, marcada como **Enviado em uma tentativa posterior**. Enviá-la novamente entregaria uma segunda cópia. |
| O cliente está bloqueado | Um [cliente bloqueado](https://docs.dodopayments.com/features/customer-blocklist.md) não recebe mais emails seus. |
| Os três reenvios foram usados | O limite é por email. |
| Os dados originais não estão mais disponíveis | Dodo Payments não pode reconstruir o email. |
| A função da sua equipe é **Visualizador** | Visualizadores não veem a ação de reenvio na linha. |
| **Test Mode Emails** está desativado no modo de teste | Os emails de clientes no modo de teste estão desativados para sua empresa. Consulte [Test Mode](#test-mode). |

> [!NOTE]
>
> Um email de login do Customer Portal sempre é enviado para o endereço que o solicitou, e cada reenvio cria um novo link de login.

## Modo de teste

O modo de teste envia emails reais, portanto tem uma cota: **100 emails por empresa por semana**. Os reenvios usam a mesma cota. Cada email do modo de teste é enviado ao destinatário real, com `[TEST MODE]` no início do assunto.

Para interromper os emails de clientes no modo de teste, desative **Test Mode Emails** em **Settings → Communication → Email** (consulte [Test Mode Emails](https://docs.dodopayments.com/features/communication-preferences.md#test-mode-emails)). Enquanto estiver desativado, nenhum email de cliente será enviado no modo de teste, nenhuma linha será adicionada à aba, nenhuma cota será consumida e o dashboard recusará um reenvio. Os emails do modo live não são afetados.

Quando a cota é consumida, nada mais é enviado no modo de teste naquela semana. O primeiro email recusado naquela semana é registrado como uma linha `blocked`, que exibe "Não enviado: a cota de emails do modo de teste desta semana foi consumida". As recusas posteriores na mesma semana não adicionam linhas. A cota é redefinida no início de cada semana, na segunda-feira. O modo live não tem esse limite.

> [!NOTE]
>
> Os emails de login do Customer Portal nunca são enviados no modo de teste e não consomem a cota.

## Lendo emails pela API

A lista e o conteúdo também estão disponíveis com sua chave de API, para que você possa exibir o estado da entrega nas suas próprias ferramentas de suporte. A lista retorna 10 emails por página por padrão. Defina `page_size` para retornar até 100 e `page_number` para percorrer as páginas, começando em 0.

```bash cURL theme={null}
curl "https://live.dodopayments.com/customers/cus_123/emails?page_size=10" \
  -H "Authorization: Bearer $DODO_PAYMENTS_API_KEY"
```

```typescript Node.js expandable theme={null}
const customerId = 'cus_123'; // the customer whose emails you want to read
const res = await fetch(
  `https://live.dodopayments.com/customers/${customerId}/emails?page_size=10`,
  { headers: { Authorization: `Bearer ${process.env.DODO_PAYMENTS_API_KEY}` } },
);
const { items, total_count } = await res.json();
```

```python Python expandable theme={null}
import os, requests

customer_id = "cus_123"  # the customer whose emails you want to read
res = requests.get(
    f"https://live.dodopayments.com/customers/{customer_id}/emails",
    params={"page_size": 10},
    headers={"Authorization": f"Bearer {os.environ['DODO_PAYMENTS_API_KEY']}"},
)
items = res.json()["items"]
```

Os SDKs de TypeScript e Python encapsulam ambos os endpoints como `client.customers.emails.list()` e `client.customers.emails.retrieveBody()` (`retrieve_body()` em Python).

Cada item contém seu `email_log_id`, que você passa ao endpoint de conteúdo, e seu `status`. Ele também contém `failure_code` e `failure_reason` quando o envio falhou, além de `has_preview` para indicar se existe conteúdo armazenado. O endpoint de conteúdo retorna `422` quando um email não tem conteúdo para exibir. Cada item também contém um objeto `policies` que informa o que você pode fazer com a linha:

| Campo | Significado |
| - | - |
| `resend_allowed` | O email foi enviado ou entregue, e você pode enviá-lo novamente. |
| `retry_allowed` | O envio falhou, e você pode tentar novamente. |
| `resends_remaining` | Quantos reenvios o email ainda permite. |
| `requires_different_address` | O mesmo endereço falharia novamente, portanto você deve fornecer outro. |
| `superseded` | Um envio posterior do mesmo email substituiu esta linha. |

Leia `policies` em vez de derivar a elegibilidade por conta própria. O servidor aplica as regras acima.

> **[Customer Management](https://docs.dodopayments.com/features/customers.md)**
>
> Gerencie clientes, histórico de compras e acesso de autoatendimento.

> **[Communication Preferences](https://docs.dodopayments.com/features/communication-preferences.md)**
>
> Escolha quais emails Dodo Payments envia em seu nome.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.