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

# Prácticas recomendadas para Direct Send

> Envía contenido de utilidad o convierte una plantilla existente con Direct Send, y luego supervisa las plantillas generadas y la calidad del contenido.

Direct Send permite a las empresas aptas enviar mensajes de utilidad enviando el contenido completo o reutilizando una plantilla de utilidad existente. Meta gestiona la coincidencia y generación de plantillas para contenido personalizado.

Esta guía cubre Direct Send de utilidad a través de YCloud. Para el envío general de mensajes, consulta [Enviar un mensaje de WhatsApp](/es/api-reference/guides/whatsapp-platform/send-whatsapp-message).

## Cómo funciona Direct Send

Direct Send utiliza plantillas en segundo plano. Puedes enviar texto final o contenido interactivo. También puedes hacer referencia a una plantilla de utilidad existente y pedirle a YCloud que convierta sus componentes admitidos en un mensaje de Direct Send.

| Punto de partida | Solicitud | Lo que envía YCloud |
| - | - | - |
| Contenido de utilidad completo | Establece `type` en `text` o `interactive` y `category` en `utility`. | Tu contenido como un mensaje de Direct Send. |
| Plantilla de utilidad existente | Establece `type` en `template`, proporciona `template.name`, `template.language` y todos los parámetros requeridos, y luego define `useDirectSend: true`. | Texto convertido, URL de CTA o contenido de botones de respuesta. |

Meta compara el contenido de tu mensaje con una plantilla existente. Si no hay coincidencia, Meta elimina la información de identificación personal, detecta el idioma y genera una nueva plantilla en segundo plano para futuros mensajes coincidentes.

Por ejemplo, «Tu pedido A123456 ha sido enviado» y «Tu pedido B789012 ha sido enviado» comparten la misma estructura. Las notificaciones posteriores pueden reutilizar una plantilla generada coincidente.

Las plantillas generadas conservan información de categoría, calidad y rendimiento. Esto te permite identificar qué contenido funciona bien o causa problemas de entrega, aunque no hayas creado la plantilla tú mismo.

## Funciones admitidas y límites

### Requisitos y alcance del envío

Conecta tu WABA y número de teléfono comercial a YCloud. En **Meta WhatsApp Manager → Plantillas de mensajes**, verifica si tu empresa es apta para Direct Send. Si el acceso no está disponible para tu WABA, utiliza una plantilla de utilidad aprobada o contacta a YCloud para verificar los requisitos.

Direct Send de utilidad puede iniciar una notificación esperada fuera de la ventana de atención al cliente de 24 horas. Obtén el consentimiento del cliente y mantén el contenido vinculado a su solicitud, transacción, cuenta o información esencial que califique. Las promociones y los códigos de verificación quedan fuera de este flujo de utilidad.

| Función | Comportamiento |
| - | - |
| Contenido del mensaje | Envía texto completo y contenido de botones admitido sin crear previamente una plantilla. |
| Plantilla de utilidad existente | Configura `useDirectSend: true` para convertir componentes de plantillas admitidos tras proporcionar sus parámetros. |
| Creación de plantillas | Meta busca coincidencias con una plantilla generada existente o genera una nueva en segundo plano. |
| Envío de la solicitud | Utiliza envíos en cola o síncronos a través de YCloud. |
| Período de validez para la entrega | Establece un `ttlSeconds` personalizado para notificaciones urgentes. |
| Gestión de plantillas | Visualiza plantillas generadas en YCloud. Modifica el contenido futuro en tu solicitud de API. |
| Precios | Se aplican las [reglas de precios para mensajes de utilidad](/es/documentation/whatsapp-business-platform/pricing-limits-and-quality/whatsapp-pricing). |

### Longitud del mensaje y botones

| Contenido | Límite |
| - | - |
| Cuerpo | 1024 caracteres |
| Encabezado | 60 caracteres |
| Pie de página | 60 caracteres |
| Etiqueta del botón | 20 caracteres |
| Formato de botones de respuesta (`interactive.type: button`) | Hasta 3 botones de respuesta |
| Formato de botones de URL (`interactive.type: cta_url`) | 1 botón de URL |

Los ejemplos de envío a continuación utilizan encabezados de texto. Los mensajes de texto no muestran vistas previas de URL. Los límites de cuenta y los [controles de rendimiento](/es/documentation/whatsapp-business-platform/pricing-limits-and-quality/messaging-limits-and-throughput) siguen aplicándose.

Utiliza encabezados de texto para solicitudes de Direct Send personalizadas en `interactive`. Un encabezado de imagen solo está disponible cuando conviertes una plantilla admitida y Meta ha habilitado esa capacidad para tu WABA.

### Período de validez para la entrega (TTL)

`ttlSeconds` establece cuánto tiempo puede permanecer un mensaje disponible para su entrega. Si no se puede entregar dentro de ese período, se descarta. Un mensaje entregado no se elimina cuando expira su TTL.

| Parámetro | Valor para utilidad |
| - | - |
| Valor predeterminado si se omite | 30 días |
| TTL personalizado mínimo | 30 segundos |
| TTL personalizado máximo | 43 200 segundos (12 horas) |

El valor predeterminado y el rango personalizado permitido son diferentes. Para una actualización de entrega que solo sea útil durante 30 minutos, configure `ttlSeconds: 1800`; no lo deje en el valor predeterminado.

## Tipos de mensajes admitidos

Los siguientes formatos cubren notificaciones de texto, enlaces y respuestas de clientes a través de YCloud.

| Tipo | Campos de la solicitud | Uso habitual |
| - | - | - |
| Texto | `type: text`, con `text.body` | Confirmar un pedido o notificar un cambio de estado. |
| Botón de URL | `type: interactive`, con `interactive.type: cta_url` | Abrir una página de seguimiento, factura o cita. |
| Botones de respuesta | `type: interactive`, con `interactive.type: button` | Pedir al cliente que confirme o solicite ayuda en WhatsApp. |

Un botón de URL abre un sitio web. Un botón de respuesta envía la respuesta seleccionada de vuelta a su empresa, lo que permite que su aplicación continúe con el flujo de trabajo.

### Procesar respuestas de botones de respuesta

Aunque envíe una solicitud `interactive`, Direct Send entrega el contenido como una plantilla. Por lo tanto, cuando un cliente pulsa un botón de respuesta, se utiliza el formato de respuesta rápida de plantilla: `type: button`, con `button.payload` y `button.text`.

Campos relevantes en un evento de mensaje entrante de YCloud:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "type": "whatsapp.inbound_message.received",
  "whatsappInboundMessage": {
    "type": "button",
    "button": {
      "payload": "delivery_help_A123456",
      "text": "I need help"
    },
    "context": {
      "id": "ORIGINAL_MESSAGE_WAMID"
    }
  }
}
```

Use `button.payload` para identificar la acción y `context.id` para correlacionar la respuesta con el `wamid` del mensaje original. No lea esta respuesta desde `interactive.button_reply`, que es el formato habitual de botón de respuesta libre.

## Enviar a través de YCloud

Prepare una clave de API del lado del servidor y los números del remitente y del destinatario en formato E.164. Solo necesita el WABA ID si decide enviar muestras de mensajes.

### 1. Seleccione el modo de envío

| Endpoint | Comportamiento |
| - | - |
| `POST /v2/whatsapp/messages` | Pone en cola el mensaje y lo envía de forma asíncrona. |
| `POST /v2/whatsapp/messages/sendDirectly` | Envía el mensaje de forma síncrona a la WhatsApp Business API. |

El nombre del endpoint `sendDirectly` describe los tiempos de envío. Para usar Direct Send, su WABA debe tener acceso y su solicitud debe incluir los campos de Direct Send indicados a continuación.

### 2. Crear la solicitud

| Campo | Valor o propósito |
| - | - |
| `from`, `to` | Números de remitente y destinatario en formato E.164. |
| `type` | `text` o `interactive`. |
| `text` o `interactive` | El contenido completo del mensaje. |
| `category` | `utility`. |
| `useDirectSend` | Establezca en `true` al convertir una plantilla existente. Es opcional para contenido personalizado con `category: "utility"`. |
| `ttlSeconds` | Tiempo de vida de entrega opcional en segundos. |
| `externalId` | Referencia comercial opcional para conciliación; no garantiza idempotencia. |

Estos ejemplos envían el contenido completo de forma síncrona. También puede usar un envío en cola o [convertir una plantilla de utilidad existente](#convert-an-existing-utility-template). Reemplace los marcadores de posición de número de teléfono y la URL de ejemplo antes de enviar.

<Tabs>
  <Tab title="Texto">
    ```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
    curl --request POST \
      'https://api.ycloud.com/v2/whatsapp/messages/sendDirectly' \
      --header 'Content-Type: application/json' \
      --header "X-API-Key: ${YCLOUD_API_KEY}" \
      --data '{
        "from": "BUSINESS_PHONE_NUMBER",
        "to": "CUSTOMER_PHONE_NUMBER",
        "type": "text",
        "text": {
          "body": "Your order A123456 has shipped. Your estimated delivery date is September 15."
        },
        "category": "utility",
        "useDirectSend": true,
        "ttlSeconds": 1800,
        "externalId": "order-A123456-shipped-text"
      }'
    ```
  </Tab>

  <Tab title="Botón de URL">
    ```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
    curl --request POST \
      'https://api.ycloud.com/v2/whatsapp/messages/sendDirectly' \
      --header 'Content-Type: application/json' \
      --header "X-API-Key: ${YCLOUD_API_KEY}" \
      --data '{
        "from": "BUSINESS_PHONE_NUMBER",
        "to": "CUSTOMER_PHONE_NUMBER",
        "type": "interactive",
        "interactive": {
          "type": "cta_url",
          "header": {
            "type": "text",
            "text": "Order shipped"
          },
          "body": {
            "text": "Your order A123456 has shipped. View its latest delivery status below."
          },
          "footer": {
            "text": "Order A123456"
          },
          "action": {
            "name": "cta_url",
            "parameters": {
              "display_text": "Track order",
              "url": "https://example.com/orders/A123456"
            }
          }
        },
        "category": "utility",
        "useDirectSend": true,
        "ttlSeconds": 1800,
        "externalId": "order-A123456-shipped-url"
      }'
    ```
  </Tab>

  <Tab title="Botones de respuesta">
    ```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
    curl --request POST \
      'https://api.ycloud.com/v2/whatsapp/messages/sendDirectly' \
      --header 'Content-Type: application/json' \
      --header "X-API-Key: ${YCLOUD_API_KEY}" \
      --data '{
        "from": "BUSINESS_PHONE_NUMBER",
        "to": "CUSTOMER_PHONE_NUMBER",
        "type": "interactive",
        "interactive": {
          "type": "button",
          "header": {
            "type": "text",
            "text": "Delivery update"
          },
          "body": {
            "text": "Your order A123456 is scheduled for delivery on September 15. Do you need help with this delivery?"
          },
          "footer": {
            "text": "Order A123456"
          },
          "action": {
            "buttons": [
              {
                "type": "reply",
                "reply": {
                  "id": "delivery_help_A123456",
                  "title": "I need help"
                }
              },
              {
                "type": "reply",
                "reply": {
                  "id": "delivery_ok_A123456",
                  "title": "No help needed"
                }
              }
            ]
          }
        },
        "category": "utility",
        "useDirectSend": true,
        "ttlSeconds": 1800,
        "externalId": "order-A123456-delivery-reply"
      }'
    ```
  </Tab>
</Tabs>

### 3. Rastrear la entrega

Guarde el `id` del mensaje devuelto, su `externalId` y el `wamid` cuando esté disponible. Reciba actualizaciones a través de `whatsapp.message.updated` o consulte `GET /v2/whatsapp/messages/{id}`.

Después de `accepted`, el resultado del envío es `sent` o `failed`. Los mensajes correctos pueden avanzar a `delivered` y `read`. Una solicitud aceptada no constituye un recibo de entrega.

Para errores de envío síncronos, inspeccione `error.whatsappApiError` cuando esté presente. Para mensajes en cola, revise las actualizaciones de estado posteriores. Si una solicitud agota el tiempo de espera, concilie el mensaje original antes de reintentar.

## Convertir una plantilla de utilidad existente

Use una plantilla de utilidad existente en su WABA. Establezca `type: "template"` y `useDirectSend: true`. Proporcione el nombre de la plantilla, el idioma y cada parámetro requerido. YCloud reemplaza las variables y convierte los componentes admitidos en texto o contenido interactivo con `category: "utility"`. La plantilla debe cumplir con los límites de conversión indicados abajo. YCloud no requiere el estado `APPROVED` para esta conversión.

Si la plantilla tiene un encabezado de imagen, confirme que Meta haya habilitado Direct Send con encabezado de imagen para su WABA antes de utilizarla. Esto requiere un acceso independiente de Meta.

Para este ejemplo, use una plantilla de utilidad existente llamada `order_update` con el cuerpo `Your order {{1}} has been updated.` y sin encabezado, pie de página ni botones:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request POST https://api.ycloud.com/v2/whatsapp/messages/sendDirectly \
  --header "X-API-Key: $YCLOUD_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "from": "+16315551111",
    "to": "+16315552222",
    "type": "template",
    "template": {
      "name": "order_update",
      "language": {
        "code": "en_US",
        "policy": "deterministic"
      },
      "components": [
        {
          "type": "body",
          "parameters": [
            {
              "type": "text",
              "text": "A123456"
            }
          ]
        }
      ]
    },
    "useDirectSend": true,
    "ttlSeconds": 600
  }'
```

La respuesta contiene el contenido convertido. En este ejemplo, `type` se convierte en `text`, y la variable de la plantilla pasa a ser el ID de pedido suministrado:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "MESSAGE_ID",
  "wabaId": "WHATSAPP_BUSINESS_ACCOUNT_ID",
  "from": "+16315551111",
  "to": "+16315552222",
  "type": "text",
  "text": {
    "body": "Your order A123456 has been updated."
  },
  "status": "accepted",
  "category": "utility",
  "ttlSeconds": 600,
  "createTime": "2026-09-17T08:00:00.000Z"
}
```

Una respuesta `accepted` no confirma la entrega. Almacene el `id` del mensaje y rastree los eventos `whatsapp.message.updated`. Revise los límites de conversión a continuación antes de reutilizar una plantilla con encabezados o botones.

Si YCloud devuelve `WHATSAPP_DIRECT_SEND_UNSUPPORTED_COMPONENT`, verifique el encabezado, los botones y las variables sin resolver de la plantilla con respecto a los límites a continuación. Si la WABA no puede usar Direct Send, compruebe su elegibilidad antes de volver a intentarlo o envíe una plantilla de utilidad aprobada a través del flujo de trabajo habitual de plantillas.

### Establecer el tiempo de vida del mensaje

Para la conversión de plantillas, el valor `ttlSeconds` de la solicitud tiene prioridad sobre el TTL de la plantilla. Si lo omite, YCloud hereda un TTL positivo de plantilla de hasta `43200` segundos. Un TTL de plantilla inferior a `30` segundos falla la validación, por lo que debe anularlo con un valor de solicitud válido. YCloud no hereda valores de TTL de plantilla superiores a `43200`. Si no se aplica ninguno de los valores, Meta utiliza su TTL predeterminado.

## Asignar un nombre a una plantilla de Direct Send de utilidad

`template.name` identifica una plantilla existente en la solicitud de conversión anterior. `templateName` tiene un propósito diferente: establézcalo cuando desee que Meta reutilice un nombre reconocible para una plantilla de Direct Send de utilidad. El campo es opcional y no habilita Direct Send por sí solo. También debe establecer `useDirectSend: true` o `category: "utility"`.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "from": "+16315551111",
  "to": "+16315552222",
  "type": "text",
  "text": {
    "body": "Your order 12131123 has been placed at the door."
  },
  "category": "utility",
  "templateName": "order_update_ds"
}
```

El nombre distingue entre mayúsculas y minúsculas. Utilice de 1 a 512 letras minúsculas, dígitos o guiones bajos. YCloud rechaza letras mayúsculas, espacios y otros caracteres.

La misma WABA no puede usar un nombre que pertenezca a una plantilla de mensaje normal existente de WhatsApp, incluida una plantilla rechazada. YCloud comprueba esto antes de realizar una llamada sincrónica al proveedor o antes de aceptar un mensaje en cola. Las plantillas eliminadas no reservan el nombre, y puede reutilizar un nombre que Meta haya generado previamente para Direct Send.

Si una plantilla normal ya utiliza el nombre, la API devuelve HTTP `400` con target `templateName` y mensaje `A template with the same name already
exists.` Elija otro nombre antes de volver a intentarlo.

`templateName` no es compatible con Direct Send de autenticación. Para un mensaje de Direct Send de utilidad en cola, YCloud devuelve el error de validación sin devolver un ID de mensaje y, de lo contrario, reenvía el nombre a Meta sin almacenarlo en el registro del mensaje. YCloud ignora el campo para los mensajes que no usan Direct Send.

## Límites de conversión de plantillas e idiomas

Direct Send de utilidad admite texto, botones CTA de URL y botones de respuesta. Estos límites también se aplican cuando YCloud convierte una plantilla de utilidad:

| Contenido o componente | Límite y comportamiento de conversión |
| - | - |
| Cuerpo | Máximo 1024 caracteres. Proporcione todas las variables de la plantilla. Direct Send no muestra vistas previas de URL; omita `preview_url`. |
| Encabezado de texto | Máximo 60 caracteres. Con botones, se convierte en el encabezado de texto interactivo. Sin botones, YCloud une el encabezado y el cuerpo en un mensaje de texto. |
| Encabezado de imagen | Requiere un botón CTA de URL o de respuesta. Proporcione un parámetro `image.link` o `image.id`. Un encabezado de imagen sin botones no se puede convertir. |
| Pie de página | Máximo 60 caracteres. YCloud lo incluye en mensajes interactivos y lo omite al convertir una plantilla sin botones a texto. |
| Botón CTA de URL | Máximo uno. YCloud convierte un botón `URL` de la plantilla a `interactive.cta_url`. |
| Botones de respuesta | Máximo tres. YCloud convierte los botones `QUICK_REPLY` de la plantilla a `interactive.button`. |
| Etiqueta del botón | Máximo 20 caracteres. |

No combine botones CTA de URL y de respuesta rápida. No se pueden convertir otros tipos de encabezados y botones. Los componentes no compatibles o las variables de plantilla sin resolver devuelven HTTP `400` con el código `WHATSAPP_DIRECT_SEND_UNSUPPORTED_COMPONENT`.

### Idiomas compatibles

Direct Send admite los [idiomas para plantillas de WhatsApp](/es/api-reference/guides/whatsapp-platform/supported-whatsapp-template-languages) excepto:

| Idioma | Código |
| - | - |
| Chino, simplificado | `zh_CN` |
| Chino, Hong Kong | `zh_HK` |
| Chino, Taiwán | `zh_TW` |
| Japonés | `ja` |
| Coreano | `ko` |
| Tailandés | `th` |
| Lao | `lo` |

Utilice un idioma compatible para los flujos de trabajo de Direct Send.

## Ver plantillas generadas por Direct Send en YCloud

1. Abra **WhatsApp Manager → Templates** en la consola de YCloud.
2. Seleccione la WABA utilizada para enviar el mensaje.
3. Establezca **Creator → Auto generated**. Use **Category → Utility** para limitar la lista a plantillas de utilidad.
4. Compruebe el nombre, la categoría, el idioma, el estado y la hora de última actualización de la plantilla. Haga clic en su nombre o en **Insights** para abrir su vista previa y los detalles de rendimiento.

<Frame caption="Set Creator to Auto generated. This test WABA has no matching generated templates.">
  <img src="https://mintcdn.com/lchnan/TsMGu8UTNQaUw-Rc/product-assets/english-help-demo-2026-09-23/direct-send-template-filter.png?fit=max&auto=format&n=TsMGu8UTNQaUw-Rc&q=85&s=ec1549dab1e78e079cddf2e78deab1dd" alt="Filtro Creator establecido en Auto generated en Templates" width="2530" height="315" data-path="product-assets/english-help-demo-2026-09-23/direct-send-template-filter.png" />
</Frame>

Los nombres de plantillas generadas a partir de contenido suelen comenzar con `auto_generated`. Utilice el filtro **Auto generated** para identificarlas en lugar de basarse únicamente en sus nombres.

La página de estadísticas muestra la vista previa del mensaje y las estadísticas disponibles de entrega, fallos, lecturas e interacciones para el período seleccionado. Utilice el estado y el contenido de la plantilla de forma conjunta al investigar una advertencia o una plantilla pausada.

Las plantillas generadas no se pueden editar ni eliminar manualmente. Para modificar la notificación, cambie el contenido en su solicitud de envío; Meta luego asociará o generará una plantilla para ese contenido.

## Pautas de integridad y contenido

### Mantenga el contenido de Utility específico y no promocional

Los mensajes de Utility deben responder a una acción esperada del cliente o proporcionar información esencial requerida. Indique claramente el pedido, la cita, la cuenta o la transacción correspondiente.

| Contenido de Utility adecuado | Contenido que se debe mantener fuera de este flujo de trabajo |
| - | - |
| “Su pedido A123456 ha sido enviado.” | “Su pedido ha sido enviado. Compre de nuevo hoy con un 20% de descuento.” |
| “Su cita está confirmada para el 15 de septiembre a las 10:00.” | “Reserve otra cita ahora y reciba un obsequio.” |
| “Su reembolso para el pedido A123456 ha sido procesado.” | Una promoción general o un código de verificación de identidad. |

Cambiar `category` por `utility` no altera el significado del contenido. Meta sigue evaluando las plantillas generadas tras el envío. Puede verificar un caso de uso sustancialmente diferente con una muestra de mensaje antes de enviarlo.

### Verificar un nuevo caso de uso con muestras de mensajes (opcional)

`POST /v2/whatsapp/messages/{wabaId}/messageSamples` envía un ejemplo a Meta y devuelve la categoría detectada por Meta. No envía un mensaje al cliente. Esta verificación es opcional; no necesita invocarla para cada mensaje ni antes de usar Direct Send. Para un nuevo caso de uso de Utility, recomendamos verificar tres o cuatro muestras representativas, una por solicitud.

Reemplace `WABA_ID` con el ID de su cuenta de WhatsApp Business y configure `YCLOUD_API_KEY` en su entorno. Utilice datos ficticios de clientes en la muestra:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request POST \
  'https://api.ycloud.com/v2/whatsapp/messages/WABA_ID/messageSamples' \
  --header 'Content-Type: application/json' \
  --header "X-API-Key: ${YCLOUD_API_KEY}" \
  --data '{
    "type": "text",
    "text": {
      "body": "Your order A123456 has shipped. Your estimated delivery date is September 15."
    }
  }'
```

Ejemplo de respuesta:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "success": true,
  "category": "UTILITY"
}
```

Compruebe `category` antes de usar el contenido en una solicitud de Direct Send de Utility. Si Meta detecta `MARKETING` o `AUTHENTICATION`, revise el contenido o utilice el flujo de mensajería adecuado. Para una muestra con botones, envíe los campos `type` y `interactive` de un ejemplo de envío anterior; omita los campos de destinatario y de envío.

### Distinguir una plantilla pausada de una restricción de la cuenta

Una plantilla puede pausarse debido a una baja calidad. Los mensajes que coincidan con ella, o que sean muy similares, pueden fallar a continuación con el error de Meta `132015`. Busque la plantilla afectada en YCloud, inspeccione su contenido y estado, y solucione la causa antes de reanudar esa notificación.

El uso indebido reiterado de categorías puede restringir Direct Send para todo el WABA:

| Etapa | Efecto |
| - | - |
| Advertencia | Meta identifica el uso indebido para que pueda corregirlo o solicitar una revisión. |
| Límite de frecuencia | El WABA puede enviar hasta un límite temporal. Los envíos adicionales de Utility pueden devolver `131064`. |
| Restricción de siete días | La mensajería mediante Direct Send queda bloqueada durante siete días. |
| Restricción de treinta días | El uso indebido continuo da lugar a una restricción prolongada. |
| Revocación | El acceso a Direct Send se elimina de forma permanente. |

Consulte la notificación de la cuenta para conocer la restricción activa y su fecha de vencimiento. La revisión exitosa de una plantilla no levanta automáticamente una restricción a nivel de cuenta.

### Recibir notificaciones de YCloud

| Evento | Para qué utilizarlo |
| - | - |
| `whatsapp.message.updated` | Realizar seguimiento de la entrega e inspeccionar fallos en los mensajes. |
| `whatsapp.template.correct_category_detection` | Saber cuándo Meta detecta una categoría diferente para una plantilla de Direct Send de Utility. |
| `whatsapp.business_account.updated` | Realizar seguimiento de advertencias, restricciones y restablecimientos de Direct Send. |

Suscríbase a `whatsapp.template.correct_category_detection` a través de su [endpoint de webhook](/es/api-reference/guides/api-fundamentals/configure-webhooks) si desea recibir notificaciones de detección de categorías. No es una respuesta a `messageSamples` y no se activa para cada mensaje. En el objeto `whatsappTemplate` del evento, compare `previousCategory` con `category`. Por ejemplo, `previousCategory: "UTILITY"` y `category: "MARKETING"` significa que Meta identificó contenido de marketing en una plantilla de Direct Send de Utility. Revise el contenido antes de volver a enviar mensajes similares. Utilice `whatsapp.message.updated` para hacer un seguimiento de la entrega por separado.

Campos relevantes de un evento de restricción de cuenta de YCloud:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "EVENT_ID",
  "type": "whatsapp.business_account.updated",
  "apiVersion": "v2",
  "whatsappBusinessAccount": {
    "id": "WABA_ID",
    "updateEvent": "ACCOUNT_RESTRICTION",
    "violationType": "DIRECT_SEND_UTILITY_CATEGORY_ABUSE_STRIKE_1",
    "restrictions": [
      {
        "restrictionType": "RESTRICTED_DIRECT_SEND_UTILITY_TEMPLATES",
        "expiration": "2026-09-17T10:00:00.000Z"
      }
    ]
  }
}
```

Utilice el ID de WABA para pausar el flujo de trabajo afectado. Consulte `violationType` para conocer el motivo y `restrictions[].expiration` para ver su vencimiento, cuando se proporcione.

### Solicitar una revisión de una decisión sobre la categoría

Si considera que el contenido fue marcado incorrectamente, abra **Meta Business Support Home → Cuenta de WhatsApp → Actualizaciones de plantillas de Direct Send → Disponibles para revisión**. Seleccione las plantillas afectadas y elija **Solicitar revisión**.

Envía la solicitud en un plazo de 60 días a partir de la notificación. Cada plantilla marcada puede revisarse una sola vez. Haz un seguimiento del resultado como **In review**, **Reversed** o **Unchanged**. Si la opción de revisión no está disponible, contacta a YCloud con el WABA ID, el nombre o ID de la plantilla, el idioma y los detalles de la notificación.

## Preguntas frecuentes sobre Direct Send

<AccordionGroup>
  <Accordion title="¿Necesito un nombre de plantilla antes de enviar?">
    No para contenido personalizado. Proporciona el mensaje completo y deja que Meta coincida o genere una plantilla. Para convertir una plantilla de Utility existente, proporciona su `template.name` y establece `useDirectSend: true`. El campo opcional `templateName` asigna un nombre a una plantilla de Utility de Direct Send; no selecciona una plantilla existente.
  </Accordion>

  <Accordion title="¿Por qué Direct Send sigue generando plantillas?">
    Las plantillas admiten comprobaciones de categoría y calidad, informes de rendimiento y resolución de problemas. Direct Send elimina la necesidad de crearlas manualmente, no el procesamiento basado en plantillas detrás del mensaje.
  </Accordion>

  <Accordion title="¿Puedo enviar fuera de la ventana de servicio de atención al cliente de 24 horas?">
    Sí, para notificaciones elegibles de Utility con Direct Send. Tu WABA debe tener acceso, el cliente debe esperar el mensaje y el contenido debe cumplir con los requisitos de Utility. Los mensajes de servicio de formato libre comunes siguen requiriendo una ventana de servicio abierta.
  </Accordion>

  <Accordion title="¿Por qué un mensaje puede tener éxito antes de que aparezca su plantilla generada?">
    La generación y sincronización de plantillas son asíncronas y pueden finalizar después de que se envíe el mensaje. Una vez completado, selecciona la WABA correcta y utiliza el filtro **Auto generated** .
  </Accordion>

  <Accordion title="¿Cómo se limpian las plantillas generadas que no se usan?">
    Meta elimina después de 24 horas las plantillas generadas que nunca se hayan utilizado para enviar. Las plantillas utilizadas anteriormente se pueden archivar tras un periodo de inactividad. No necesitas eliminarlas manualmente.
  </Accordion>

  <Accordion title="¿Establecer utility garantiza que Meta aceptará la categoría?">
    No. Meta evalúa el contenido real. Elimina el lenguaje promocional de las notificaciones de Utility y utiliza el proceso de revisión si un mensaje genuino de Utility se marca incorrectamente.
  </Accordion>

  <Accordion title="¿Cómo se factura Direct Send?">
    Los mensajes de Utility siguen las mismas reglas de precios para mensajes de Utility que las plantillas de Utility creadas manualmente. Consulta [Precios de WhatsApp](/es/documentation/whatsapp-business-platform/pricing-limits-and-quality/whatsapp-pricing).
  </Accordion>
</AccordionGroup>


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