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

# whatsapp.template.reviewed

> Ocorre quando um modelo do WhatsApp recebe uma atualização de revisão ou de ciclo de vida, incluindo aprovação, rejeição, pausa, desativação, arquivamento e desarquivamento.

Use `whatsapp.template.reviewed` para processar este evento no endpoint do seu webhook.

## Gatilhos

Ocorre quando um modelo do WhatsApp recebe uma atualização de revisão ou de ciclo de vida, incluindo aprovação, rejeição, pausa, desativação, arquivamento e desarquivamento.

Inscreva-se em `whatsapp.template.reviewed` ao [configurar o endpoint do seu webhook](https://docs.ycloud.com/pt/api-reference/guides/api-fundamentals/configure-webhooks.md).

Use `wabaId`, `name` e `language` para identificar o modelo. `statusUpdateEvent` descreve a alteração disparadora; `status` descreve o estado atual. Por exemplo, `UNARCHIVED` pode conter `status: APPROVED` sem uma nova revisão de aprovação.

## Sintaxe

A YCloud envia uma solicitação HTTP `POST` para a URL de webhook configurada. A estrutura a seguir mostra uma variante de payload. Os valores entre colchetes angulares são espaços reservados; seus tipos estão listados em **Parâmetros**. Campos opcionais e outras variantes são descritos abaixo.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "whatsapp.template.reviewed",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "whatsappTemplate": {
    "officialTemplateId": "<OFFICIAL_TEMPLATE_ID>",
    "wabaId": "<WABA_ID>",
    "name": "<NAME>",
    "language": "<LANGUAGE>",
    "category": "<CATEGORY>",
    "status": "<STATUS>",
    "statusUpdateEvent": "<STATUS_UPDATE_EVENT>",
    "createTime": "<CREATE_TIME>",
    "updateTime": "<UPDATE_TIME>"
  }
}
```

## Parâmetros

Valide o cabeçalho HTTP `YCloud-Signature` antes de processar o corpo JSON. Consulte [validação de assinatura](https://docs.ycloud.com/pt/api-reference/guides/api-fundamentals/configure-webhooks.md).

### Envelope do evento

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `id` | string | Sim | ID exclusivo para o evento. Tamanho mínimo: `6`. Tamanho máximo: `128`. |
| `type` | string | Sim | Sempre `whatsapp.template.reviewed`. |
| `apiVersion` | string | Sim | A versão da API usada para renderizar este evento. |
| `createTime` | string (date-time) | Sim | O horário em que este evento foi criado, formatado no padrão [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por exemplo, `2022-06-01T12:00:00.000Z`. |

### Payload do evento

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `whatsappTemplate` | object | Não | Payload `whatsappTemplate` específico do evento. |

Os quatro campos comuns do envelope são obrigatórios. Os campos do payload dependem da variante do evento. Em cada tabela de objetos, **Obrigatório** aplica-se quando seu objeto pai está presente. Campos opcionais podem ser omitidos; um exemplo não torna um campo obrigatório.

#### whatsappTemplate

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `officialTemplateId` | string | Não | ID oficial do modelo atribuído pelo WhatsApp. Esse ID é usado para identificar o modelo no sistema do WhatsApp. |
| `wabaId` | string | Sim | ID da conta do WhatsApp Business. |
| `name` | string | Sim | Nome do modelo.Tamanho máximo: `512`. Padrão: `[a-z0-9]{1,512}`. |
| `language` | string | Sim | Código de idioma do modelo. Consulte [Idiomas compatíveis](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/supported-languages) para ver todos os códigos. |
| `category` | string | Não | Categoria de modelos do WhatsApp.<ul><li>`AUTHENTICATION`: permite que as empresas autentiquem usuários com senhas descartáveis (OTP), potencialmente em várias etapas do processo de login (por exemplo, verificação de conta, recuperação de conta, desafios de integridade).</li><li>`MARKETING`: inclui promoções ou ofertas, atualizações informativas ou convites para que clientes respondam / executem uma ação. Qualquer conversa que não se qualifique como de utilidade ou autenticação é uma conversa de marketing.</li><li>`UTILITY`: facilita uma solicitação ou transação específica e previamente acordada, ou uma atualização para o cliente sobre uma transação em andamento, incluindo notificações pós-compra e extratos de faturamento recorrente.</li></ul> |
| `status` | string | Não | O status de um modelo do WhatsApp.<ul><li>`PENDING`: o modelo ainda está em análise. A análise pode levar até 24 horas.</li><li>`REJECTED`: o modelo foi rejeitado durante o processo de análise.</li><li>`APPROVED`: o modelo foi aprovado e você pode começar a enviá-lo aos clientes.</li><li>`PAUSED`: o modelo foi pausado devido a comentários negativos recorrentes dos clientes. Modelos de mensagem com este status não podem ser enviados aos clientes. Consulte [Pausa de modelos](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#template-pausing).</li><li>`DISABLED`: o modelo foi desativado devido a comentários negativos recorrentes dos clientes ou por violar uma ou mais de nossas políticas. Modelos de mensagem com este status não podem ser enviados aos clientes. Você pode conseguir editar um modelo de mensagem desativado e solicitar uma contestação. Consulte [Contestações](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#appeals).</li><li>`ARCHIVED`: o modelo foi arquivado. Modelos arquivados não podem ser enviados nem editados.</li><li>`IN_APPEAL`: o modelo está em contestação. Consulte também [Contestações de modelos](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#appeals).</li><li>`DELETED`: o modelo foi excluído.</li></ul> |
| `reason` | string | Não | O motivo pelo qual o modelo foi rejeitado. |
| `createTime` | string (date-time) | Não | O horário em que este objeto foi criado, formatado no padrão [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Ex.: `2022-06-01T12:00:00.000Z`. |
| `updateTime` | string (date-time) | Não | O horário em que este objeto foi atualizado, formatado no padrão [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Ex.: `2022-06-01T12:00:00.000Z`. |
| `statusUpdateEvent` | string | Não | O evento de atualização de status do modelo do WhatsApp que acionou este webhook. Para `ARCHIVED`, o `status` do modelo é `ARCHIVED`. Para `UNARCHIVED`, o `status` do modelo é o status atual retornado pela Meta, por exemplo, `APPROVED`; isso não representa uma nova análise de aprovação.Valores: `PENDING`, `APPROVED`, `REJECTED`, `IN_APPEAL`, `PAUSED`, `FLAGGED`, `DISABLED`, `ARCHIVED`, `UNARCHIVED`, `REINSTATED`, `PENDING_DELETION`. |
| `disableDate` | string | Não | A data em que o modelo será desativado. Quando um evento `FLAGGED` de modelo do WhatsApp for recebido, este campo será preenchido. |
| `whatsappApiError` | object | Não | O objeto de erro original retornado pelo WhatsApp. Consulte [Como tratar erros](https://developers.facebook.com/docs/graph-api/guides/error-handling), [Códigos de erro da Cloud API](https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes). |

> [accordion] whatsappTemplate.whatsappApiError
>
> | Parâmetro | Tipo | Obrigatório | Descrição |
> | - | - | - | - |
> | `message` | string | Sim | Uma descrição legível do erro. |
> | `code` | string | Sim | Um código de erro. |
> | `type` | string | Não | Tipo de erro. |
> | `error_subcode` | string | Não | Código adicional sobre o erro. |
> | `error_user_msg` | string | Não | A mensagem a ser exibida ao usuário. O idioma da mensagem é baseado no locale da solicitação da API. |
> | `error_user_title` | string | Não | O título da caixa de diálogo, se exibida. O idioma da mensagem é baseado no locale da solicitação da API. |
> | `fbtrace_id` | string | Não | Identificador de suporte interno. Ao relatar um bug relacionado a uma chamada da Graph API, inclua o fbtrace\_id para nos ajudar a encontrar os dados de registro para depuração. |
> | `error_data` | string or object | Não | Dados adicionais sobre o erro. Uma string ou mapa.<ul><li>Para APIs de modelo, este campo é uma string que descreve o motivo do erro.</li><li>Para APIs de mensagem, este campo é um mapa com a propriedade `details` que descreve o motivo do erro.</li></ul> |

## Exemplo

O JSON a seguir é o corpo entregue ao seu receptor. IDs, números de telefone e outros valores de conta são ilustrativos.

> [accordion] Evento de modelo do WhatsApp arquivado
>
> Exemplo de payload quando um modelo do WhatsApp é arquivado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_template_archived_123",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2024-01-01T12:00:00.000Z",
>   "whatsappTemplate": {
>     "officialTemplateId": "official-template-id",
>     "wabaId": "whatsapp-business-account-id",
>     "name": "sample_whatsapp_template",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "ARCHIVED",
>     "statusUpdateEvent": "ARCHIVED",
>     "createTime": "2024-01-01T12:00:00.000Z",
>     "updateTime": "2024-01-01T12:00:00.000Z"
>   }
> }
> ```

> [accordion] Evento de modelo do WhatsApp desarquivado
>
> Exemplo de payload quando um modelo do WhatsApp é desarquivado. O status do modelo é o status atual retornado pela Meta e não representa uma nova análise de aprovação.
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_template_unarchived_123",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2024-01-01T12:00:00.000Z",
>   "whatsappTemplate": {
>     "officialTemplateId": "official-template-id",
>     "wabaId": "whatsapp-business-account-id",
>     "name": "sample_whatsapp_template",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "APPROVED",
>     "statusUpdateEvent": "UNARCHIVED",
>     "createTime": "2024-01-01T12:00:00.000Z",
>     "updateTime": "2024-01-01T12:00:00.000Z"
>   }
> }
> ```

> [accordion] Modelo aprovado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "APPROVED",
>     "reason": "NONE",
>     "statusUpdateEvent": "APPROVED"
>   }
> }
> ```

> [accordion] Modelo rejeitado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "REJECTED",
>     "reason": "SCAM",
>     "statusUpdateEvent": "REJECTED"
>   }
> }
> ```

> [accordion] Modelo pausado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "PAUSED",
>     "reason": "NONE",
>     "statusUpdateEvent": "PAUSED"
>   }
> }
> ```

> [accordion] Modelo sinalizado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "APPROVED",
>     "reason": "Your WhatsApp message template has been paused for 3 hours until Feb 23 at 5:28 AM UTC because it had issues.",
>     "statusUpdateEvent": "FLAGGED",
>     "disableDate": "February 28, 2023"
>   }
> }
> ```

> [accordion] Modelo desativado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "DISABLED",
>     "reason": "NONE",
>     "statusUpdateEvent": "DISABLED"
>   }
> }
> ```

> [accordion] Modelo com exclusão pendente
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "DELETED",
>     "reason": "NONE",
>     "statusUpdateEvent": "PENDING_DELETION"
>   }
> }
> ```

> [accordion] Modelo arquivado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2024-01-01T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "ARCHIVED",
>     "reason": "NONE",
>     "statusUpdateEvent": "ARCHIVED"
>   }
> }
> ```

> [accordion] Modelo desarquivado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2024-01-01T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "APPROVED",
>     "reason": "NONE",
>     "statusUpdateEvent": "UNARCHIVED"
>   }
> }
> ```

Após verificar a assinatura e aceitar o evento de forma duradoura, retorne uma resposta `2xx`. Processe tarefas lentas de forma assíncrona.

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
HTTP/1.1 200 OK
```

Para orientações sobre os cenários, consulte [exemplos comentados](https://docs.ycloud.com/pt/api-reference/guides/examples/webhook-examples/whatsapp-template-reviewed-webhook-examples).


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