> ## 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.

# Ejemplos de Webhooks de revisión de plantillas de WhatsApp

> Comprende los eventos y payloads de webhooks de revisión de plantillas de WhatsApp.

<Note>Para consultar el catálogo exhaustivo derivado del esquema, consulta [todos los ejemplos](/es/api-reference/guides/examples/webhook-examples/webhook-payload-examples).</Note>

## Qué es

Comprende los eventos y payloads de webhooks de revisión de plantillas de WhatsApp.

## Antes de comenzar

* Crea un endpoint HTTPS público en tu aplicación.
* Configura un endpoint de webhook de YCloud para los tipos de eventos que necesites.
* Guarda de forma segura el secreto de firma del endpoint.
* Haz que el procesamiento de eventos sea idempotente.

## Cómo funciona

YCloud envía una solicitud HTTP `POST` cuando ocurre el evento. Verifica la firma, registra el evento de forma duradera, devuelve una respuesta `2xx` y procesa el trabajo lento de forma asíncrona.

## Solicitud

Los escenarios a continuación muestran las solicitudes enviadas a tu URL de webhook. Trata el evento `id` como el identificador de entrega y utiliza `type` para enrutar el payload.

## Respuesta

Devuelve un estado `2xx` después de aceptar el evento.

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

<Note>Para la configuración de endpoints, validación de firmas y comportamiento de reintentos, consulta [Configurar webhooks](/es/api-reference/guides/api-fundamentals/configure-webhooks).</Note>

## Plantilla aprobada

En este caso, tu endpoint de webhook recibió un evento de plantilla `APPROVED`:

* El valor `statusUpdateEvent` de la plantilla es `APPROVED`.
* El valor `status` de la plantilla ahora es `APPROVED`.

### Solicitud

```shell theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl 'https://YOUR-WEBHOOK-ENDPOINT-URL' \
-H 'Content-Type: application/json' \
-d '{
  "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"
  }
}'
```

### Respuesta

Confirma la entrega después de aceptar el evento de forma duradera.

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

### Explicación

* Utiliza `wabaId`, `name` y `language` para identificar la plantilla en tu sistema.
* El campo `statusUpdateEvent` describe lo que sucedió con el estado de esta plantilla, mientras que `status` es el estado actual de la plantilla. No siempre son iguales.
* Este evento ocurre cuando Meta aprueba una plantilla. La plantilla puede ser la que creaste o editaste previamente. Esto también sucede cuando una plantilla pausada pasa a aprobada automáticamente.
* Una vez aprobada una plantilla, puedes utilizarla para enviar mensajes de plantilla.

## Plantilla rechazada

En este caso, tu endpoint de webhook recibió un evento de plantilla `REJECTED`:

* El valor `statusUpdateEvent` de la plantilla es `REJECTED`.
* El valor `status` de la plantilla ahora es `REJECTED`.

### Solicitud

```shell theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl 'https://YOUR-WEBHOOK-ENDPOINT-URL' \
-H 'Content-Type: application/json' \
-d '{
  "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"
  }
}'
```

### Respuesta

Confirma la entrega después de aceptar el evento de forma duradera.

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

### Explicación

* Este evento ocurre cuando se rechaza una plantilla. La plantilla puede ser la que creaste o editaste previamente.
* Una vez rechazada una plantilla, no puedes utilizarla para enviar mensajes de plantilla. Puedes editar esta plantilla para iniciar una nueva revisión.

## Plantilla pausada

En este caso, tu endpoint de webhook recibió un evento de plantilla `PAUSED`:

* El valor `statusUpdateEvent` de la plantilla es `PAUSED`.
* El valor `status` de la plantilla ahora es `PAUSED`.
* El motivo por el cual se pausó la plantilla.

### Solicitud

```shell theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl 'https://YOUR-WEBHOOK-ENDPOINT-URL' \
-H 'Content-Type: application/json' \
-d '{
  "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"
  }
}'
```

### Respuesta

Confirma la entrega después de aceptar el evento de forma duradera.

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

### Explicación

* Este evento ocurre cuando se pausa una plantilla. No puedes utilizarla para enviar mensajes.
* Las duraciones de la pausa son las siguientes:
  * 1.ª instancia: Pausada durante 3 horas
  * 2.ª instancia: Pausada durante 6 horas
  * 3.ª instancia: Inhabilitada
* Ocurre un evento `APPROVED` cuando una plantilla pausada cambia al estado normal.
* Consulta también [Pausa de plantillas](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#template-pausing).

## Plantilla marcada

En este caso, tu endpoint de webhook recibió un evento de plantilla `FLAGGED`:

* El valor `statusUpdateEvent` de la plantilla es `FLAGGED`.
* El estado de la plantilla ahora es `APPROVED`.
* Contiene la fecha en la que se inhabilitará la plantilla.

### Solicitud

```shell theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl 'https://YOUR-WEBHOOK-ENDPOINT-URL' \
-H 'Content-Type: application/json' \
-d '{
  "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"
  }
}'
```

### Respuesta

Confirma la entrega después de aceptar el evento de forma duradera.

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

### Explicación

* El campo `statusUpdateEvent` describe lo que sucedió con el estado de esta plantilla, mientras que `status` es el estado actual de la plantilla. No siempre son iguales.

## Plantilla inhabilitada

En este caso, tu endpoint de webhook recibió un evento de plantilla `DISABLED`:

* El valor `statusUpdateEvent` de la plantilla es `DISABLED`.
* El estado de la plantilla ahora es `DISABLED`.

### Solicitud

```shell theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl 'https://YOUR-WEBHOOK-ENDPOINT-URL' \
-H 'Content-Type: application/json' \
-d '{
  "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"
  }
}'
```

### Respuesta

Confirma la entrega después de aceptar el evento de forma duradera.

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

### Explicación

* El estado de una plantilla cambia a `DISABLED` en su 3.ª pausa.
* Consulta también [Pausa de plantillas](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#template-pausing).

## Plantilla pendiente de eliminación

En este caso, tu endpoint de webhook recibió un evento de plantilla `PENDING_DELETION`:

* El valor `statusUpdateEvent` de la plantilla es `PENDING_DELETION`.
* El estado de la plantilla ahora es `DELETED`.

### Solicitud

```shell theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl 'https://YOUR-WEBHOOK-ENDPOINT-URL' \
-H 'Content-Type: application/json' \
-d '{
  "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"
  }
}'
```

### Respuesta

Confirma la entrega después de aceptar el evento de forma duradera.

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

### Explicación

* Ocurre cuando eliminas una plantilla.
* La plantilla de mensaje se está eliminando. **Recuerda que el nombre de esta plantilla no se podrá volver a utilizar durante 30 días. Deberás usar un nombre diferente para crear nuevas plantillas de mensaje.**

## Plantilla archivada

En este caso, tu endpoint de webhook recibió un evento de plantilla `ARCHIVED`:

* El valor `statusUpdateEvent` de la plantilla es `ARCHIVED`.
* El valor `status` de la plantilla ahora es `ARCHIVED`.

### Solicitud

```shell theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl 'https://YOUR-WEBHOOK-ENDPOINT-URL' \
-H 'Content-Type: application/json' \
-d '{
  "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"
  }
}'
```

### Respuesta

Confirma la entrega después de aceptar el evento de forma duradera.

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

### Explicación

* Este evento ocurre cuando se archiva una plantilla.
* Las plantillas archivadas no se pueden enviar ni editar.

## Plantilla desarchivada

En este caso, tu endpoint de webhook recibió un evento de plantilla `UNARCHIVED`:

* El valor `statusUpdateEvent` de la plantilla es `UNARCHIVED`.
* El valor `status` de la plantilla es el estado actual devuelto por Meta, por ejemplo `APPROVED`.

### Solicitud

```shell theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl 'https://YOUR-WEBHOOK-ENDPOINT-URL' \
-H 'Content-Type: application/json' \
-d '{
  "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"
  }
}'
```

### Respuesta

Confirma la entrega tras aceptar el evento de forma duradera.

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

### Explicación

* Este evento ocurre cuando se desarchiva una plantilla.
* El `status` puede ser `APPROVED`, pero este evento no significa que la plantilla haya sido aprobada recientemente por Meta.
* Utiliza `statusUpdateEvent` para distinguir `UNARCHIVED` de un evento de revisión `APPROVED` real.


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