Saltar al contenido principal
Meta Direct Send permite a las empresas aptas enviar mensajes de Utilidad enviando el contenido completo. Meta gestiona la correspondencia y la generación de plantillas en segundo plano. 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.

Cómo funciona Direct Send

Direct Send utiliza plantillas en segundo plano. Envías el texto terminado o el contenido interactivo admitido en lugar de crear una plantilla antes de enviar. Meta compara el contenido de tu mensaje con una plantilla existente. Si no hay coincidencias, 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, «Su pedido A123456 ha sido enviado» y «Su pedido B789012 ha sido enviado» comparten la misma estructura. Las notificaciones posteriores pueden reutilizar una plantilla generada coincidente. Las plantillas generadas conservan información sobre categoría, calidad y rendimiento. Esto te permite identificar qué contenido está funcionando bien o causando problemas de entrega, aunque no hayas creado la plantilla tú mismo.

Funciones admitidas y límites

Idoneidad y alcance del envío

Las carteras comerciales con un límite de mensajes de 100 000 o ilimitado suelen ser aptas para Direct Send de Utilidad. Conecta tu WABA y tu número de teléfono comercial a YCloud. En Meta WhatsApp Manager → Plantillas de mensajes, comprueba 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 con YCloud para verificar la idoneidad. 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 permiso 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 trabajo de Utilidad.

Longitud del mensaje y botones

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 siguen aplicándose. Usa encabezados de texto para solicitudes personalizadas de Direct Send interactive.

Tiempo de vida de entrega (TTL)

ttlSeconds establece cuánto tiempo puede permanecer un mensaje apto para entrega. Si no se puede entregar dentro de ese período, se descarta. Un mensaje entregado no se elimina cuando expira su TTL. El valor predeterminado y el rango personalizado permitido son diferentes. Para una actualización de entrega que solo es útil durante 30 minutos, establece ttlSeconds: 1800; no lo dejes en el valor predeterminado.

Compatibilidad de idiomas

Direct Send admite idiomas de plantillas de WhatsApp excepto: Usa un idioma admitido para los flujos de trabajo de Direct Send.

Tipos de mensajes admitidos

Los siguientes formatos cubren notificaciones de texto, enlaces y respuestas de clientes a través de YCloud. Un botón de URL abre un sitio web. Un botón de respuesta envía la respuesta seleccionada de vuelta a tu empresa, para que tu aplicación pueda continuar con el flujo de trabajo.

Gestionar respuestas de botones de respuesta

Aunque envíes 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:
Usa button.payload para identificar la acción y context.id para correlacionar la respuesta con el wamid del mensaje original. No leas esta respuesta desde interactive.button_reply, que es el formato habitual de botones de respuesta de formato libre.

Enviar a través de YCloud

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

1. Elige el modo de envío

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

2. Construye la solicitud

Estos ejemplos envían el contenido completo de forma síncrona. También puedes usar un envío en cola. Sustituye los marcadores de posición del número de teléfono y la URL de ejemplo antes de enviar.

3. Rastrear la entrega

Guarda el id del mensaje devuelto, tu externalId y el wamid cuando esté disponible. Recibe actualizaciones a través de whatsapp.message.updated o consulta 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 es un comprobante de entrega. Para errores de envío síncrono, inspecciona error.whatsappApiError cuando esté presente. Para mensajes en cola, revisa las actualizaciones de estado posteriores. Si se agota el tiempo de espera de una solicitud, concilia el mensaje original antes de reintentarlo.

Asignar un nombre a una plantilla de Direct Send de utilidad

Define templateName cuando quieras 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 debes configurar useDirectSend: true o category: "utility".
El nombre distingue entre mayúsculas y minúsculas. Usa 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 estándar existente de WhatsApp, incluida una plantilla rechazada. YCloud comprueba esto antes de realizar una llamada síncrona al proveedor o antes de aceptar un mensaje en cola. Las plantillas eliminadas no reservan el nombre, y puedes reutilizar un nombre que Meta haya generado previamente para Direct Send. Si una plantilla habitual ya usa el nombre, la API devuelve HTTP 400 con el objetivo templateName y el mensaje A template with the same name already exists. Elige otro nombre antes de volver a intentarlo. templateName no es compatible con Authentication Direct Send. Para un mensaje en cola de Direct Send de utilidad, YCloud devuelve el error de validación sin devolver un ID de mensaje y, en caso contrario, reenvía el nombre a Meta sin guardarlo en el registro del mensaje. YCloud ignora este campo para los mensajes que no usan Direct Send.

Ver plantillas generadas por Direct Send en YCloud

  1. Abre WhatsApp Manager → Templates en la consola de YCloud.
  2. Selecciona la WABA utilizada para enviar el mensaje.
  3. Establece Creator → Auto generated. Usa Category → Utility para filtrar la lista por plantillas de utilidad.
  4. Comprueba el nombre, la categoría, el idioma, el estado y la fecha de última actualización de la plantilla. Haz clic en su nombre o en Insights para abrir su vista previa y los detalles de rendimiento.
Filtro de creador configurado en Auto generated en Templates

Set Creator to Auto generated. This test WABA has no matching generated templates.

Los nombres de las plantillas generadas a partir del contenido suelen empezar por auto_generated. Utiliza el filtro Auto generated para identificarlas en lugar de basarte únicamente en sus nombres. La página de estadísticas muestra la vista previa del mensaje y los datos disponibles de entrega, fallos, lecturas e interacciones para el periodo seleccionado. Consulta tanto el estado como el contenido de la plantilla al investigar una advertencia o una plantilla pausada. Las plantillas generadas no se pueden editar ni eliminar manualmente. Para modificar la notificación, cambia el contenido en tu solicitud de envío; luego, Meta buscará una plantilla coincidente o generará una nueva para ese contenido.

Directrices de integridad y contenido

Mantén el contenido de Utility específico y sin fines promocionales

Los mensajes de Utility deben responder a una acción esperada del cliente o proporcionar información esencial que cumpla los requisitos. Especifica con claridad el pedido, la cita, la cuenta o la transacción correspondiente. Cambiar category por utility no altera el significado del contenido. Meta sigue evaluando las plantillas generadas tras el envío. Puedes comprobar un caso de uso sustancialmente diferente con una muestra de mensaje antes de enviarlo.

Comprueba 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 ningún mensaje al cliente. Esta comprobación es opcional; no necesitas llamarla para cada mensaje ni antes de usar Direct Send. Para un nuevo caso de uso de Utility, recomendamos comprobar tres o cuatro muestras representativas, una por solicitud. Sustituye WABA_ID por el ID de tu cuenta de WhatsApp Business y define YCLOUD_API_KEY en tu entorno. Utiliza datos de cliente ficticios en la muestra:
Ejemplo de respuesta:
Comprueba category antes de utilizar el contenido en una solicitud de Direct Send de Utility. Si Meta detecta MARKETING o AUTHENTICATION, revisa el contenido o utiliza el flujo de mensajería adecuado. Para una muestra con botones, envía los campos type y interactive del ejemplo de envío anterior; omite los campos de destinatario y de envío.

Distingue 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 con el error de Meta 132015. Busca la plantilla afectada en YCloud, revisa su contenido y estado, y soluciona la causa antes de reanudar esa notificación. El uso indebido reiterado de categorías puede restringir Direct Send para toda la WABA: Sigue las indicaciones del aviso de la cuenta para conocer la restricción activa y su fecha de vencimiento. La revisión favorable de una plantilla no levanta automáticamente una restricción a nivel de cuenta.

Recibe notificaciones de YCloud

Suscríbete a whatsapp.template.correct_category_detection mediante tu webhook endpoint si deseas recibir notificaciones de detección de categorías. No es una respuesta a messageSamples ni se activa para cada mensaje. En el objeto whatsappTemplate del evento, compara previousCategory con category. Por ejemplo, previousCategory: "UTILITY" y category: "MARKETING" indican que Meta identificó contenido de marketing en una plantilla de Direct Send de Utility. Revisa el contenido antes de volver a enviar mensajes similares. Utiliza whatsapp.message.updated para rastrear la entrega por separado. Campos pertinentes de un evento de restricción de cuenta de YCloud:
Usa el WABA ID para pausar el flujo de trabajo afectado. Lee violationType para conocer el motivo y restrictions[].expiration para su vencimiento, cuando se proporcione. Para consultar los tipos de infracción específicos de Direct Send y las cargas útiles de advertencia, restricción y recuperación, consulta el Webhook para restricción de cuenta de Meta.

Solicitar una revisión de una decisión de categoría

Si consideras que el contenido se marcó incorrectamente, abre Meta Business Support Home → Cuenta de WhatsApp → Actualizaciones de plantillas de Direct Send → Disponibles para revisión. Selecciona las plantillas afectadas y elige Solicitar revisión. Envía la solicitud en un plazo de 60 días a partir de la notificación. Cada plantilla marcada se puede revisar una vez. Haz un seguimiento del resultado como En revisión, Revertido o Sin cambios. 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.

Extensión de YCloud: reutilizar plantillas de Utility existentes

YCloud añade la conversión de plantillas sobre Meta Direct Send. Usa esta extensión cuando tu integración ya envíe nombres y parámetros de plantillas. YCloud completa las variables y convierte los componentes compatibles en contenido de mensaje completo, luego envía ese contenido a Meta Direct Send para su coincidencia o generación. Esta conversión la proporciona YCloud; no es un paso en el proceso de coincidencia y generación de Direct Send de Meta. template.name selecciona la plantilla existente para convertir. El campo opcional templateName descrito anteriormente nombra una plantilla de Direct Send y no selecciona la plantilla utilizada para la conversión.

Convertir una plantilla de Utility existente

Usa una plantilla de Utility existente en tu WABA. Establece type: "template" e useDirectSend: true. Proporciona 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 a continuación. YCloud no requiere el estado APPROVED para esta conversión. Si la plantilla tiene un encabezado de imagen, confirma que Meta haya habilitado Direct Send con encabezado de imagen para tu WABA antes de usarla. Esto requiere un acceso independiente de Meta. Para este ejemplo, usa 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:
La respuesta contiene el contenido convertido. Para este ejemplo, type se convierte en text, y la variable de la plantilla pasa a ser el ID de pedido suministrado:
Una respuesta accepted no confirma la entrega. Almacena el id del mensaje y realiza un seguimiento de los eventos whatsapp.message.updated. Revisa los límites de conversión que aparecen a continuación antes de reutilizar una plantilla con encabezados o botones. Si YCloud devuelve WHATSAPP_DIRECT_SEND_UNSUPPORTED_COMPONENT, comprueba el encabezado, los botones y las variables sin resolver de la plantilla con respecto a los límites indicados a continuación. Si el WABA no puede usar Direct Send, comprueba su idoneidad antes de reintentarlo o envía una plantilla de Utility aprobada a través del flujo de trabajo habitual de plantillas.

Establecer el tiempo de vida del mensaje de conversión

Para la conversión de plantillas, un valor ttlSeconds en la solicitud tiene prioridad sobre el TTL de la plantilla. Si lo omites, YCloud hereda un TTL de plantilla positivo de hasta 43200 segundos. Un TTL de plantilla inferior a 30 segundos no supera la validación, así que anúlalo 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.

Límites de conversión de plantillas

Se aplican los siguientes límites a la conversión que realiza YCloud de una plantilla de Utility existente a contenido de Direct Send: No combines botones de CTA con 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 no resueltas devuelven HTTP 400 con el código WHATSAPP_DIRECT_SEND_UNSUPPORTED_COMPONENT.

Preguntas frecuentes sobre Direct Send

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 Direct Send de Utility; no selecciona una plantilla existente.
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.
Sí, para notificaciones elegibles de Direct Send de Utility. Tu WABA debe tener acceso, el cliente debe esperar el mensaje y el contenido debe cumplir con los requisitos de Utility. Los mensajes ordinarios de atención al cliente con formato libre aún requieren una ventana de atención abierta.
La generación y sincronización de plantillas son asíncronas y pueden completarse después de que se envíe el mensaje. Una vez completado, selecciona la WABA correcta y usa el filtro Auto generated .
Meta elimina después de 24 horas las plantillas generadas que nunca se hayan utilizado para envíos. Las plantillas utilizadas anteriormente se pueden archivar tras un periodo de inactividad. No necesitas eliminarlas manualmente.
No. Meta evalúa el contenido real. Elimina el lenguaje promocional de las notificaciones de Utility y usa el proceso de revisión si un mensaje genuino de Utility se clasifica incorrectamente.
Los mensajes de Utility siguen las mismas reglas de precios de mensajes de Utility que las plantillas de Utility creadas manualmente. Consulta WhatsApp pricing.