{"id":2196,"date":"2026-09-30T13:10:59","date_gmt":"2026-09-30T13:10:59","guid":{"rendered":"https:\/\/360dialog.com\/blog\/?p=2196"},"modified":"2026-10-01T09:06:57","modified_gmt":"2026-10-01T09:06:57","slug":"whatsapp-flows-formularios-en-el-chat","status":"publish","type":"post","link":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/","title":{"rendered":"WhatsApp Flows: c\u00f3mo crear formularios y recopilar datos dentro de WhatsApp"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>WhatsApp Flows es una funci\u00f3n de la Cloud API que te permite crear formularios de varias pantallas directamente dentro de una conversaci\u00f3n de WhatsApp.<\/strong> Los usuarios completan campos de texto, men\u00fas desplegables y selectores de fecha con unos toques, sin salir del chat, y tu sistema recibe los datos recopilados como JSON estructurado. Meta describe los Flows como una forma de crear interacciones estructuradas para la mensajer\u00eda empresarial, en tareas como la generaci\u00f3n de leads y las recomendaciones de productos.[1] Si desarrollas sobre la <a href=\"https:\/\/360dialog.com\/blog\/es\/whatsapp-cloud-api-o-business-api\/\">WhatsApp Cloud API<\/a>, los Flows te dan una forma nativa de recopilar datos estructurados en el mismo momento de la conversaci\u00f3n. Un Flow se abre cuando un usuario toca un bot\u00f3n de llamada a la acci\u00f3n en un mensaje interactivo o en un mensaje de plantilla (el tipo de mensaje aprobado previamente que una empresa puede enviar en cualquier momento), y el formulario se ejecuta dentro de WhatsApp.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 id=\"puntos-clave\" class=\"wp-block-heading\">Puntos clave<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Los Flows requieren la WhatsApp Cloud API y una cuenta de WhatsApp Business (WABA). Meta est\u00e1 dividiendo la WABA en dos cuentas: una WhatsApp account, que contiene tu n\u00famero de tel\u00e9fono de empresa, y una Messaging account, que contiene tus plantillas y la facturaci\u00f3n.<\/li>\n\n\n\n<li>Un Flow sin endpoint de datos (una URL en tu servidor a la que el Flow llama para obtener datos en vivo) recopila las respuestas del formulario y las env\u00eda cuando el usuario termina. Un Flow con endpoint intercambia datos con tu servidor en tiempo real.<\/li>\n\n\n\n<li>Un Flow puede tener hasta 100 pantallas, pero Meta recomienda que cada tarea tome menos de 5 minutos y que cada pantalla se centre en una sola tarea.<\/li>\n\n\n\n<li>Los Flows que intercambian datos con tu servidor necesitan un par de claves RSA de 2048 bits, con la clave p\u00fablica firmada a trav\u00e9s del endpoint de cifrado que ofrece 360Dialog.<\/li>\n\n\n\n<li>El costo de un Flow es el costo del mensaje que lo lleva. <a href=\"https:\/\/360dialog.com\/blog\/es\/cobro-mensajes-servicio-whatsapp-octubre-2026\/\">A partir del 1 de octubre de 2026<\/a>, Meta tambi\u00e9n cobra las respuestas enviadas dentro de la ventana de atenci\u00f3n al cliente de 24 horas, el per\u00edodo posterior al \u00faltimo mensaje de un usuario en el que puedes responder sin plantilla.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div style=\"background:#DEF080;color:#092F32;border-radius:24px 0 24px 0;padding:24px 28px;margin:32px 0;\">\n<p style=\"margin:0;\">\u00bfQuieres crear tu primer Flow? <strong>360Dialog<\/strong> ofrece acceso a la Cloud API, gesti\u00f3n de claves de cifrado y la infraestructura para crear e implementar Flows, con un precio por n\u00famero al mes y sin recargo sobre las tarifas de Meta. <a href=\"https:\/\/360dialog.com\/es\/whatsapp-api\" style=\"color:#0D6367;text-decoration:underline;\"><strong>Obtener acceso a la API<\/strong><\/a>.<\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 id=\"que-son-los-whatsapp-flows-y-como-funcionan\" class=\"wp-block-heading\">\u00bfQu\u00e9 son los WhatsApp Flows y c\u00f3mo funcionan?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WhatsApp Flows es un marco de interacciones estructuradas integrado en la WhatsApp Business Platform que permite a las empresas definir formularios de varias pantallas con una definici\u00f3n JSON, mostrarlos de forma nativa dentro de WhatsApp y recibir las respuestas de los usuarios como payloads JSON estructurados mediante un webhook. El usuario nunca sale del chat. Los Flows se componen de pantallas (cada pantalla es un nodo en una m\u00e1quina de estados), componentes (los elementos de la interfaz de cada pantalla) y acciones (la l\u00f3gica que pasa de una pantalla a otra o env\u00eda los datos).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un Flow comienza cuando un usuario toca un bot\u00f3n de llamada a la acci\u00f3n asociado a un mensaje interactivo (tipo <code>\"flow\"<\/code>) o a un mensaje de plantilla (tipo de bot\u00f3n <code>FLOW<\/code>). El bot\u00f3n abre la primera pantalla, que contiene el dise\u00f1o, los componentes y la l\u00f3gica de navegaci\u00f3n definidos en tu Flow JSON. El usuario completa los campos y avanza por las pantallas. En la pantalla final, la acci\u00f3n <code>complete<\/code> env\u00eda a tu sistema los campos listados en su payload, como un payload JSON que llega mediante un webhook.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La diferencia principal frente a otros m\u00e9todos de recopilaci\u00f3n de datos en WhatsApp:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>M\u00e9todo<\/th><th>Estructura de datos<\/th><th>Experiencia del usuario<\/th><th>Ideal para<\/th><\/tr><\/thead><tbody><tr><td>WhatsApp Flows<\/td><td>Payload JSON estructurado<\/td><td>Pantallas de formulario que se completan con toques dentro del chat<\/td><td>Captaci\u00f3n de leads, reservas, encuestas, formularios de pedido<\/td><\/tr><tr><td>Respuestas r\u00e1pidas de plantilla<\/td><td>Selecci\u00f3n de un solo bot\u00f3n<\/td><td>El usuario toca una opci\u00f3n predefinida<\/td><td>Confirmaciones, opt-ins (consentimiento para recibir mensajes), enrutamiento simple<\/td><\/tr><tr><td>Recopilaci\u00f3n de texto libre<\/td><td>Texto no estructurado<\/td><td>El usuario escribe respuestas abiertas<\/td><td>Comentarios abiertos, conversaciones de soporte<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los Flows resuelven un problema concreto: recopilar datos estructurados de usuarios que ya est\u00e1n en una conversaci\u00f3n de WhatsApp. Si necesitas un nombre, un correo electr\u00f3nico, una fecha y una preferencia en una sola interacci\u00f3n, los Flows te permiten recopilar los cuatro en un solo formulario que se completa con unos toques. La recopilaci\u00f3n de texto libre requiere varias rondas de mensajes y l\u00f3gica de an\u00e1lisis en tu backend para extraer los mismos campos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Si necesitas un n\u00famero de la Cloud API para empezar a crear Flows, puedes <a href=\"https:\/\/360dialog.com\/es\/whatsapp-api\">obtener acceso a la API<\/a> a trav\u00e9s de 360Dialog.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 id=\"flows-estaticos-o-dinamicos-que-tipo-necesitas\" class=\"wp-block-heading\">Flows est\u00e1ticos o din\u00e1micos: \u00bfqu\u00e9 tipo necesitas?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La diferencia pr\u00e1ctica es si tu Flow se conecta a un endpoint de datos. Un Flow sin endpoint de datos define todo su contenido en el Flow JSON y recopila localmente lo que ingresa el usuario. Un Flow con endpoint de datos env\u00eda solicitudes cifradas a tu servidor durante la ejecuci\u00f3n y recibe los datos que completan la siguiente pantalla. Las dos etiquetas describen formas de manejar los datos que determinan cu\u00e1nta infraestructura de backend necesitas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sin endpoint de datos:<\/strong> El Flow JSON define cada pantalla, componente y ruta de navegaci\u00f3n en el momento del dise\u00f1o. Lo que ingresa el usuario se recopila localmente y se env\u00eda como payload JSON cuando el Flow termina. Este enfoque funciona para formularios de captaci\u00f3n de leads, encuestas de opini\u00f3n y formularios de registro en los que todos los campos se conocen de antemano. Las acciones principales son <code>navigate<\/code> (para pasar de una pantalla a otra) y <code>complete<\/code> (para terminar el Flow y devolver los datos). No interviene ning\u00fan servidor hasta que el env\u00edo final llega mediante webhook.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Con endpoint de datos:<\/strong> El Flow env\u00eda solicitudes POST cifradas a tu endpoint HTTPS durante la ejecuci\u00f3n mediante la acci\u00f3n <code>data_exchange<\/code>.[2][4] Tu servidor descifra la solicitud, procesa los datos y devuelve el contenido de la siguiente pantalla. Esto permite reservar citas con disponibilidad en vivo, mostrar cat\u00e1logos de productos con inventario en tiempo real o cualquier escenario en el que el contenido de la pantalla dependa de las selecciones anteriores del usuario o del estado de tu backend. Las solicitudes a tu endpoint agotan el tiempo de espera a los 10 segundos, y Meta recomienda que el <code>flow_token<\/code> venza a los 2 o 3 d\u00edas para que los usuarios tengan tiempo de interactuar.[6]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ambos enfoques usan la misma estructura de Flow JSON y los mismos componentes. La elecci\u00f3n depende de si tus pantallas necesitan datos de tu servidor durante la ejecuci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Para conectar las respuestas de tus Flows con las herramientas de automatizaci\u00f3n que ya usas, consulta c\u00f3mo funcionan las <a href=\"https:\/\/360dialog.com\/es\/integrations\">integraciones de WhatsApp<\/a> con 360Dialog.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 id=\"que-componentes-puedes-usar-en-un-flow\" class=\"wp-block-heading\">\u00bfQu\u00e9 componentes puedes usar en un Flow?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los Flows ofrecen m\u00e1s de 20 tipos de componentes, repartidos en las categor\u00edas de entrada, visualizaci\u00f3n, navegaci\u00f3n y condicionales. Cada pantalla admite hasta 50 componentes y usa un dise\u00f1o de una sola columna (SingleColumnLayout, un flexbox vertical).[3] Meta limita el contenido del Flow JSON a 10 MB.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Componentes de entrada principales:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>TextInput:<\/strong> Texto de una l\u00ednea, correo electr\u00f3nico, tel\u00e9fono, n\u00famero, contrase\u00f1a o c\u00f3digo de acceso. Admite validaci\u00f3n con expresiones regulares (v6.2 y posteriores). M\u00e1ximo de 80 caracteres de forma predeterminada.<\/li>\n\n\n\n<li><strong>TextArea:<\/strong> Entrada de texto de varias l\u00edneas, 600 caracteres de forma predeterminada.<\/li>\n\n\n\n<li><strong>Dropdown:<\/strong> Selecci\u00f3n \u00fanica entre hasta 200 opciones (100 con im\u00e1genes).<\/li>\n\n\n\n<li><strong>RadioButtonsGroup:<\/strong> Selecci\u00f3n \u00fanica entre hasta 20 opciones. Meta recomienda un Dropdown a partir de 8 opciones.<\/li>\n\n\n\n<li><strong>CheckboxGroup:<\/strong> Selecci\u00f3n m\u00faltiple entre hasta 20 opciones.<\/li>\n\n\n\n<li><strong>DatePicker:<\/strong> Selecci\u00f3n de fecha con un formato independiente de la zona horaria (v5.0 y posteriores).<\/li>\n\n\n\n<li><strong>CalendarPicker:<\/strong> Selecci\u00f3n de una fecha o de un rango de fechas (v6.1 y posteriores).<\/li>\n\n\n\n<li><strong>OptIn:<\/strong> Casilla de consentimiento, hasta 5 por pantalla.<\/li>\n\n\n\n<li><strong>ChipsSelector:<\/strong> Selector compacto de varias opciones, para 2 a 20 opciones (v6.3 y posteriores).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Los componentes de visualizaci\u00f3n incluyen TextHeading, TextSubheading, TextBody, TextCaption, RichText (v5.1 y posteriores, para textos m\u00e1s largos con formato markdown), Image (hasta 3 por pantalla) e ImageCarousel (v7.1 y posteriores).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los componentes de navegaci\u00f3n incluyen Footer (obligatorio en las pantallas terminales, m\u00e1ximo 35 caracteres), EmbeddedLink (hasta 2 por pantalla) y NavigationList (v6.2 y posteriores). Los componentes para subir archivos (DocumentPicker y PhotoPicker, v4.0 y posteriores) permiten a los usuarios adjuntar archivos directamente dentro del Flow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los componentes condicionales (<code>If<\/code> y <code>Switch<\/code>, disponibles desde la v4.0) te permiten mostrar u ocultar elementos seg\u00fan lo que ingresa el usuario o los valores de los datos, y los componentes <code>If<\/code> pueden anidarse hasta 3 niveles. La acci\u00f3n <code>update_data<\/code> (v6.0 y posteriores) permite actualizar la pantalla en tiempo real seg\u00fan las interacciones del usuario sin una ida y vuelta al servidor, algo \u00fatil para men\u00fas desplegables en cascada o campos calculados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para ver los pasos de configuraci\u00f3n en 360Dialog, consulta la <a href=\"https:\/\/docs.360dialog.com\/docs\/messaging\/flows\">documentaci\u00f3n de Flows en docs.360dialog.com<\/a>. La referencia completa de componentes est\u00e1 en la documentaci\u00f3n de componentes de Meta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 id=\"como-creas-un-flow-con-la-api-la-ruta-con-360dialog\" class=\"wp-block-heading\">\u00bfC\u00f3mo creas un Flow con la API? (La ruta con 360Dialog)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Crear un Flow con 360Dialog lleva cinco pasos: generar un par de claves RSA, subir tu clave p\u00fablica, escribir el Flow JSON, configurar el endpoint y enviar el Flow a los usuarios. Los pasos 1, 2 y 4 solo son necesarios para los Flows que intercambian datos con tu servidor, y Meta incluye el par de claves como parte de la configuraci\u00f3n del endpoint. WhatsApp Manager tambi\u00e9n tiene un Flows Builder con vista previa en vivo, y la ruta por API te permite gestionar el Flow JSON desde tus propios sistemas. En cualquier caso, un Flow puede tener hasta 100 pantallas.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Genera tu par de claves RSA.<\/strong> Crea un par de claves RSA de 2048 bits con OpenSSL:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>openssl genrsa -des3 -out private.pem 2048\nopenssl rsa -in private.pem -outform PEM -pubout -out public.pem<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Guarda la clave privada en un lugar seguro. La usar\u00e1s para descifrar los datos que lleguen de los Flows.<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Sube tu clave p\u00fablica a 360Dialog.<\/strong> Firma y sube la clave mediante nuestro endpoint de cifrado:[5]<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>POST https:\/\/waba-v2.360dialog.io\/whatsapp_business_encryption<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Env\u00eda la clave p\u00fablica completa (incluidos los marcadores BEGIN y END) como <code>business_public_key<\/code> en el cuerpo de la solicitud. El endpoint devuelve <code>{\"success\": true}<\/code> cuando la operaci\u00f3n sale bien. Puedes verificar el estado de la clave con una solicitud GET a la misma URL.<\/p>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Escribe el Flow JSON.<\/strong> Define tus pantallas, dise\u00f1os, componentes y acciones de navegaci\u00f3n. Como m\u00ednimo, el JSON requiere un campo <code>version<\/code> y un arreglo <code>screens<\/code>. Usa la versi\u00f3n de Flow JSON que Meta recomienda actualmente (7.3): las versiones hasta la 5.0 est\u00e1n congeladas y ya no se pueden publicar.[7] Cada pantalla tiene un <code>id<\/code>, un bloque <code>layout<\/code> y los campos opcionales <code>data<\/code> y <code>title<\/code>. Al menos una pantalla debe estar marcada como <code>terminal<\/code>, y cada pantalla terminal necesita un Footer. Para los Flows con endpoint, define tambi\u00e9n <code>data_api_version<\/code> (Meta recomienda <code>\"4.0\"<\/code>; <code>\"3.0\"<\/code> sigue siendo compatible) y un <code>routing_model<\/code> que indique qu\u00e9 pantallas pueden seguir a cu\u00e1les.<\/li>\n<\/ol>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>Configura tu endpoint de datos (solo Flows din\u00e1micos).<\/strong> Define el <code>endpoint_uri<\/code> mediante la Flows API. Tu endpoint debe aceptar solicitudes POST por HTTPS con un certificado TLS\/SSL v\u00e1lido. Todos los payloads se cifran con RSA de 2048 bits (OAEP-SHA256) para el intercambio de claves y con AES-128-GCM para el payload de datos. Valida las solicitudes entrantes con el encabezado <code>X-Hub-Signature-256<\/code> y el secreto de tu app. Tu endpoint tambi\u00e9n debe responder a los pings de verificaci\u00f3n de estado: <code>{\"action\": \"ping\"}<\/code> espera <code>{\"data\": {\"status\": \"active\"}}<\/code>.<\/li>\n<\/ol>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li><strong>Env\u00eda el Flow a los usuarios.<\/strong> Asocia el Flow a un mensaje interactivo (tipo <code>\"flow\"<\/code>) o a un mensaje de plantilla (tipo de bot\u00f3n <code>FLOW<\/code>). Un mensaje interactivo de Flow necesita <code>flow_message_version<\/code> con el valor <code>\"3\"<\/code>, el texto del bot\u00f3n en <code>flow_cta<\/code> y un <code>flow_id<\/code> o un <code>flow_name<\/code>.[8] El registro de cambios de Meta indica que <code>flow_token<\/code> es opcional; def\u00ednelo cuando necesites asociar cada respuesta a una sesi\u00f3n o a un usuario. Con <code>flow_action<\/code> en <code>\"navigate\"<\/code> (el valor predeterminado), <code>flow_action_payload<\/code> indica la primera pantalla y puede completar campos por adelantado cuando ya conoces datos del usuario por el contexto de la conversaci\u00f3n.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Como Official Meta Solution Partner, 360Dialog ofrece el endpoint de cifrado y la infraestructura de API que gestionan las claves de los Flows. La documentaci\u00f3n para desarrolladores de Meta incluye ejemplos de c\u00f3digo para descifrar los datos en el endpoint en Python, Node.js, PHP, Java, C# y Go.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Si todav\u00eda no usas la WhatsApp Business API, empieza por <a href=\"https:\/\/360dialog.com\/blog\/es\/como-conseguir-la-aprobacion-de-su-primera-waba\/\">conseguir la aprobaci\u00f3n de tu WhatsApp account<\/a> antes de crear Flows.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 id=\"tres-ejemplos-practicos-con-flow-json\" class=\"wp-block-heading\">Tres ejemplos pr\u00e1cticos con Flow JSON<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los siguientes ejemplos muestran la estructura JSON de tres casos de uso habituales. Cada uno usa la versi\u00f3n 7.3 de Flow JSON, la que Meta recomienda actualmente. La referencia completa de componentes y acciones est\u00e1 en la documentaci\u00f3n de Flow JSON de Meta.<\/p>\n\n\n\n<h3 id=\"formulario-de-captacion-de-leads-una-pantalla-sin-endpoint\" class=\"wp-block-heading\">Formulario de captaci\u00f3n de leads (una pantalla, sin endpoint)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un formulario m\u00ednimo de captaci\u00f3n de leads con un campo de nombre, un selector de inter\u00e9s y una casilla de consentimiento:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"version\": \"7.3\",\n  \"screens\": &#91;{\n    \"id\": \"LEAD_FORM\",\n    \"title\": \"Cont\u00e1ctanos\",\n    \"terminal\": true,\n    \"layout\": {\n      \"type\": \"SingleColumnLayout\",\n      \"children\": &#91;\n        {\"type\": \"TextInput\", \"name\": \"full_name\",\n         \"label\": \"Nombre completo\", \"required\": true,\n         \"input-type\": \"text\"},\n        {\"type\": \"RadioButtonsGroup\", \"name\": \"interest\",\n         \"label\": \"\u00c1rea de inter\u00e9s\", \"required\": true,\n         \"data-source\": &#91;\n           {\"id\": \"sales\", \"title\": \"Ventas\"},\n           {\"id\": \"support\", \"title\": \"Soporte\"},\n           {\"id\": \"partnership\", \"title\": \"Alianzas\"}\n        ]},\n        {\"type\": \"OptIn\", \"name\": \"consent\",\n         \"label\": \"Acepto recibir novedades\"},\n        {\"type\": \"Footer\", \"label\": \"Enviar\",\n         \"on-click-action\": {\n           \"name\": \"complete\",\n           \"payload\": {\n             \"full_name\": \"${form.full_name}\",\n             \"interest\": \"${form.interest}\",\n             \"consent\": \"${form.consent}\"\n           }\n        }}\n      ]\n    }\n  }]\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La acci\u00f3n <code>complete<\/code> del Footer termina el Flow y env\u00eda a tu webhook los campos listados en su payload, as\u00ed que incluye todos los campos que necesites. El webhook entrega un mensaje de tipo <code>\"interactive\"<\/code> con tipo interactivo <code>\"nfm_reply\"<\/code>, cuyo campo <code>response_json<\/code> es una cadena JSON que contiene el <code>flow_token<\/code> y los valores de esos campos.<\/p>\n\n\n\n<h3 id=\"formulario-de-opinion-dos-pantallas-sin-endpoint\" class=\"wp-block-heading\">Formulario de opini\u00f3n (dos pantallas, sin endpoint)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un formulario de opini\u00f3n de dos pantallas recopila una calificaci\u00f3n en la primera pantalla y comentarios opcionales en la segunda:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"version\": \"7.3\",\n  \"screens\": &#91;\n    {\n      \"id\": \"RATING\",\n      \"title\": \"Opini\u00f3n 1 de 2\",\n      \"layout\": {\n        \"type\": \"SingleColumnLayout\",\n        \"children\": &#91;\n          {\"type\": \"TextHeading\",\n           \"text\": \"\u00bfC\u00f3mo fue tu experiencia?\"},\n          {\"type\": \"RadioButtonsGroup\",\n           \"name\": \"rating\", \"label\": \"Calificaci\u00f3n\",\n           \"required\": true,\n           \"data-source\": &#91;\n             {\"id\": \"5\", \"title\": \"Excelente\"},\n             {\"id\": \"4\", \"title\": \"Buena\"},\n             {\"id\": \"3\", \"title\": \"Regular\"},\n             {\"id\": \"2\", \"title\": \"Mala\"}\n          ]},\n          {\"type\": \"Footer\", \"label\": \"Siguiente\",\n           \"on-click-action\": {\n             \"name\": \"navigate\",\n             \"next\": {\"type\": \"screen\", \"name\": \"COMMENTS\"},\n             \"payload\": {}\n          }}\n        ]\n      }\n    },\n    {\n      \"id\": \"COMMENTS\",\n      \"title\": \"Opini\u00f3n 2 de 2\",\n      \"terminal\": true,\n      \"layout\": {\n        \"type\": \"SingleColumnLayout\",\n        \"children\": &#91;\n          {\"type\": \"TextArea\", \"name\": \"comments\",\n           \"label\": \"Comentarios\",\n           \"required\": false},\n          {\"type\": \"Footer\", \"label\": \"Enviar\",\n           \"on-click-action\": {\n             \"name\": \"complete\",\n             \"payload\": {\n               \"rating\": \"${screen.RATING.form.rating}\",\n               \"comments\": \"${form.comments}\"\n             }\n          }}\n        ]\n      }\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La acci\u00f3n <code>navigate<\/code> lleva al usuario a la segunda pantalla con un payload vac\u00edo. A partir de Flow JSON v4.0, cualquier pantalla puede leer lo que se ingres\u00f3 en otra pantalla con la sintaxis global <code>${screen.RATING.form.rating}<\/code>, as\u00ed que la acci\u00f3n <code>complete<\/code> de la \u00faltima pantalla env\u00eda tanto la calificaci\u00f3n como los comentarios.<\/p>\n\n\n\n<h3 id=\"reserva-de-citas-dinamico-con-endpoint\" class=\"wp-block-heading\">Reserva de citas (din\u00e1mico, con endpoint)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un Flow din\u00e1mico usa la acci\u00f3n <code>data_exchange<\/code> para pedir a tu servidor los horarios disponibles y luego los muestra en una segunda pantalla:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"version\": \"7.3\",\n  \"data_api_version\": \"4.0\",\n  \"routing_model\": {\n    \"BOOKING\": &#91;\"SLOTS\"],\n    \"SLOTS\": &#91;]\n  },\n  \"screens\": &#91;\n    {\n      \"id\": \"BOOKING\",\n      \"title\": \"Agenda una cita\",\n      \"layout\": {\n        \"type\": \"SingleColumnLayout\",\n        \"children\": &#91;\n          {\"type\": \"DatePicker\", \"name\": \"date\",\n           \"label\": \"Selecciona una fecha\", \"required\": true},\n          {\"type\": \"Footer\",\n           \"label\": \"Ver disponibilidad\",\n           \"on-click-action\": {\n             \"name\": \"data_exchange\",\n             \"payload\": {\"date\": \"${form.date}\"}\n          }}\n        ]\n      }\n    },\n    {\n      \"id\": \"SLOTS\",\n      \"title\": \"Elige un horario\",\n      \"terminal\": true,\n      \"data\": {\n        \"available_slots\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"id\": {\"type\": \"string\"},\n              \"title\": {\"type\": \"string\"}\n            }\n          },\n          \"__example__\": &#91;\n            {\"id\": \"1\", \"title\": \"08:00\"},\n            {\"id\": \"2\", \"title\": \"09:00\"}\n          ]\n        }\n      },\n      \"layout\": {\n        \"type\": \"SingleColumnLayout\",\n        \"children\": &#91;\n          {\"type\": \"Dropdown\", \"name\": \"slot\",\n           \"label\": \"Horarios disponibles\", \"required\": true,\n           \"data-source\": \"${data.available_slots}\"},\n          {\"type\": \"Footer\", \"label\": \"Confirmar cita\",\n           \"on-click-action\": {\n             \"name\": \"complete\",\n             \"payload\": {\n               \"date\": \"${screen.BOOKING.form.date}\",\n               \"slot\": \"${form.slot}\"\n             }\n          }}\n        ]\n      }\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando el usuario selecciona una fecha y toca el Footer, el Flow env\u00eda a tu endpoint una solicitud POST cifrada con la fecha seleccionada. Tu servidor descifra la solicitud con tu clave privada RSA y AES-128-GCM, consulta los horarios disponibles y devuelve una respuesta cifrada con la siguiente pantalla (<code>\"screen\": \"SLOTS\"<\/code>) y un objeto <code>data<\/code> que contiene <code>available_slots<\/code>. El usuario elige un horario, y la acci\u00f3n <code>complete<\/code> env\u00eda la fecha y el horario a tu webhook. Env\u00eda este Flow con <code>flow_action<\/code> en <code>\"navigate\"<\/code> y la primera pantalla en <code>BOOKING<\/code>, para que abrir el Flow no llame a tu endpoint.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 id=\"como-disenas-un-flow-que-la-gente-termine\" class=\"wp-block-heading\">\u00bfC\u00f3mo dise\u00f1as un Flow que la gente termine?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Las buenas pr\u00e1cticas de Meta para los Flows se centran en que cada tarea sea breve y cada pantalla sencilla, para que los usuarios terminen lo que empezaron. Para medir tus propios resultados, el Flows Builder de WhatsApp Manager muestra estad\u00edsticas de interacci\u00f3n de los Flows publicados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las buenas pr\u00e1cticas documentadas por Meta:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dedica cada pantalla a una sola tarea y mant\u00e9n el Flow completo por debajo de 5 minutos.<\/li>\n\n\n\n<li>Escribe un texto de llamada a la acci\u00f3n que le diga al usuario exactamente qu\u00e9 pasa cuando lo toca. Mant\u00e9n corto el texto del bot\u00f3n: nuestra documentaci\u00f3n fija un l\u00edmite de 20 caracteres, sin emojis.<\/li>\n\n\n\n<li>Usa el componente adecuado para cada tipo de dato: DatePicker para fechas, Dropdown para 8 opciones o m\u00e1s, RadioButtonsGroup para elegir una sola entre menos opciones, CheckboxGroup para selecciones m\u00faltiples.<\/li>\n\n\n\n<li>Dise\u00f1a pensando en la cach\u00e9: cuando un usuario completa una pantalla y avanza, WhatsApp guarda en cach\u00e9 los datos de esa pantalla. Un usuario que sale pierde lo que ingres\u00f3 en la pantalla actual, as\u00ed que varias pantallas cortas ponen en riesgo menos datos que una sola pantalla larga.<\/li>\n\n\n\n<li>Termina los Flows de varios pasos con una pantalla de resumen para que el usuario revise todo antes de enviar.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Para ver c\u00f3mo encajan los Flows en tus procesos de mensajer\u00eda, consulta nuestra <a href=\"https:\/\/360dialog.com\/blog\/es\/automatizacion-de-whatsapp-conecta-tu-numero-a-cualquier-herramienta\/\">gu\u00eda de automatizaci\u00f3n de WhatsApp<\/a>.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 id=\"cuanto-cuestan-los-flows\" class=\"wp-block-heading\">\u00bfCu\u00e1nto cuestan los Flows?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Meta cobra por mensaje entregado, as\u00ed que el costo de un Flow es el costo del mensaje que lleva su bot\u00f3n.[9] Nuestros planes tienen un precio por n\u00famero al mes y no incluyen ning\u00fan cargo aparte por los Flows. Si env\u00edas el Flow dentro de un mensaje de plantilla, pagas la tarifa de la categor\u00eda de esa plantilla (marketing, utilidad o autenticaci\u00f3n), que var\u00eda seg\u00fan el pa\u00eds.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si env\u00edas el Flow como mensaje interactivo en respuesta a un usuario, sale dentro de la ventana de atenci\u00f3n al cliente de 24 horas. A partir del 1 de octubre de 2026, Meta cobra estas respuestas como mensajes de servicio, a la misma tarifa que los mensajes de utilidad y autenticaci\u00f3n en ese mercado, y tambi\u00e9n cobra las plantillas de utilidad enviadas dentro de la ventana.[10] Los mensajes de los usuarios, incluido un Flow enviado, no tienen costo. Para ver las tarifas vigentes por mensaje en cada pa\u00eds, consulta nuestra <a href=\"https:\/\/360dialog.com\/es\/pricing\">p\u00e1gina de precios<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si ofreces un SaaS o revendes servicios y quieres ofrecer Flows desde tus propios productos, puedes <a href=\"https:\/\/360dialog.com\/blog\/es\/como-integrar-whatsapp-en-su-saas\/\">integrar WhatsApp en tu SaaS<\/a> con nuestra Partner Platform, que aporta la infraestructura de API para implementaciones multi-cliente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Si quieres crear tu primer Flow, puedes <a href=\"https:\/\/360dialog.com\/es\/whatsapp-api\">obtener acceso a la API<\/a> a trav\u00e9s de 360Dialog y, si tu Flow usa un endpoint, seguir los pasos para configurar el par de claves en nuestra documentaci\u00f3n de Flows.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 id=\"preguntas-frecuentes\" class=\"wp-block-heading\">Preguntas frecuentes<\/h2>\n\n\n\n<h3 id=\"puedo-enviar-un-flow-dentro-de-un-mensaje-de-plantilla\" class=\"wp-block-heading\">\u00bfPuedo enviar un Flow dentro de un mensaje de plantilla?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed. Para asociar un Flow a un mensaje de plantilla, agregas un bot\u00f3n de tipo FLOW al crear la plantilla. El bot\u00f3n identifica el Flow por su ID o su nombre, e indica la primera pantalla cuando la acci\u00f3n del bot\u00f3n es navigate. Cuando el usuario toca el bot\u00f3n, el Flow se abre dentro del chat. La plantilla en s\u00ed pasa por el proceso est\u00e1ndar de <a href=\"https:\/\/360dialog.com\/blog\/es\/por-que-se-siguen-rechazando-sus-plantillas-de-whatsapp-y-como-corregir-el-patron\/\">aprobaci\u00f3n de plantillas de WhatsApp<\/a>, as\u00ed que aseg\u00farate de que el contenido de la plantilla y el prop\u00f3sito del Flow cumplan las pol\u00edticas de comercio y mensajer\u00eda de Meta.<\/p>\n\n\n\n<h3 id=\"que-necesitas-para-enviar-un-flow\" class=\"wp-block-heading\">\u00bfQu\u00e9 necesitas para enviar un Flow?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Necesitas un n\u00famero de tel\u00e9fono de empresa registrado en la WhatsApp Cloud API. Cualquier empresa puede empezar a crear Flows en WhatsApp Manager, y para publicarlos y enviarlos, Meta exige una empresa verificada y una calidad de mensajes alta.<\/p>\n\n\n\n<h3 id=\"puedo-probar-un-flow-antes-de-publicarlo\" class=\"wp-block-heading\">\u00bfPuedo probar un Flow antes de publicarlo?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed. El Flows Builder de WhatsApp Manager tiene una vista previa interactiva que se comporta como un dispositivo real y env\u00eda solicitudes reales a tu endpoint si el Flow tiene uno. Tambi\u00e9n puedes enviar el borrador a un tel\u00e9fono de prueba, desde la opci\u00f3n de env\u00edo del Builder o mediante la API con mode en draft. Los mensajes de borrador muestran un banner de advertencia en el dispositivo, y el tel\u00e9fono de prueba debe haberle escrito a tu n\u00famero en las \u00faltimas 24 horas. Los Flows creados desde noviembre de 2024 siguen siendo editables despu\u00e9s de publicarse, mediante la API o el Builder, y conservan el mismo ID de Flow.<\/p>\n\n\n\n<h3 id=\"que-pasa-con-los-datos-del-usuario-si-cierra-el-flow-a-mitad-de-camino\" class=\"wp-block-heading\">\u00bfQu\u00e9 pasa con los datos del usuario si cierra el Flow a mitad de camino?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WhatsApp guarda en cach\u00e9 los datos de una pantalla cuando el usuario la completa y pasa a la siguiente. Los datos ingresados en la pantalla actual, antes de que el usuario toque el bot\u00f3n del Footer, se pierden si sale. Por eso Meta recomienda dividir los formularios con varios campos en varias pantallas cortas, para que haya menos datos en riesgo si el usuario sale antes de terminar.<\/p>\n\n\n\n<h3 id=\"los-datos-estan-cifrados\" class=\"wp-block-heading\">\u00bfLos datos est\u00e1n cifrados?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed. Todos los datos que se intercambian entre el Flow y tu endpoint usan un intercambio de claves RSA de 2048 bits (OAEP-SHA256) combinado con cifrado AES-128-GCM del payload. La solicitud entrante contiene tres campos: encrypted_flow_data, encrypted_aes_key e initial_vector. Descifras la clave AES con tu clave privada RSA y luego descifras el payload con AES-GCM. Tu respuesta se cifra con la misma clave AES usando un vector de inicializaci\u00f3n invertido. La gu\u00eda completa de implementaci\u00f3n del cifrado, con ejemplos de c\u00f3digo en seis lenguajes, est\u00e1 en la documentaci\u00f3n para desarrolladores de Meta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 id=\"fuentes\" class=\"wp-block-heading\">Fuentes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">[1] Meta, &#8220;WhatsApp Flows,&#8221; developers.facebook.com\/docs\/whatsapp\/flows. Accessed September 29, 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2] Meta, &#8220;Flow JSON Reference,&#8221; developers.facebook.com\/docs\/whatsapp\/flows\/reference\/flowjson. Accessed September 29, 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[3] Meta, &#8220;Components Reference,&#8221; developers.facebook.com\/docs\/whatsapp\/flows\/reference\/components. Accessed September 29, 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[4] Meta, &#8220;Implementing Your Flow Endpoint,&#8221; developers.facebook.com\/docs\/whatsapp\/flows\/guides\/implementingyourflowendpoint. Accessed September 29, 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[5] 360Dialog, &#8220;Flows,&#8221; docs.360dialog.com\/docs\/messaging\/flows. Accessed September 29, 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[6] Meta, &#8220;Best Practices,&#8221; developers.facebook.com\/docs\/whatsapp\/flows\/guides\/bestpractices. Accessed September 29, 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[7] Meta, &#8220;Changelog,&#8221; developers.facebook.com\/docs\/whatsapp\/flows\/changelogs. Accessed September 29, 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[8] Meta, &#8220;Sending a Flow,&#8221; developers.facebook.com\/documentation\/business-messaging\/whatsapp\/flows\/guides\/sendingaflow. Accessed September 29, 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[9] Meta, &#8220;Pricing on the WhatsApp Business Platform,&#8221; developers.facebook.com\/docs\/whatsapp\/pricing. Accessed September 29, 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[10] Meta, &#8220;Upcoming Pricing Updates for Meta Business Agent, Service and Utility Messages,&#8221; developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\/non-template-messages. Accessed September 29, 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"inLanguage\": \"es\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfPuedo enviar un Flow dentro de un mensaje de plantilla?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"S\u00ed. Para asociar un Flow a un mensaje de plantilla, agregas un bot\u00f3n de tipo FLOW al crear la plantilla. El bot\u00f3n identifica el Flow por su ID o su nombre, e indica la primera pantalla cuando la acci\u00f3n del bot\u00f3n es navigate. Cuando el usuario toca el bot\u00f3n, el Flow se abre dentro del chat. La plantilla en s\u00ed pasa por el proceso est\u00e1ndar de aprobaci\u00f3n de plantillas de WhatsApp, as\u00ed que aseg\u00farate de que el contenido de la plantilla y el prop\u00f3sito del Flow cumplan las pol\u00edticas de comercio y mensajer\u00eda de Meta.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfQu\u00e9 necesitas para enviar un Flow?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Necesitas un n\u00famero de tel\u00e9fono de empresa registrado en la WhatsApp Cloud API. Cualquier empresa puede empezar a crear Flows en WhatsApp Manager, y para publicarlos y enviarlos, Meta exige una empresa verificada y una calidad de mensajes alta.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfPuedo probar un Flow antes de publicarlo?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"S\u00ed. El Flows Builder de WhatsApp Manager tiene una vista previa interactiva que se comporta como un dispositivo real y env\u00eda solicitudes reales a tu endpoint si el Flow tiene uno. Tambi\u00e9n puedes enviar el borrador a un tel\u00e9fono de prueba, desde la opci\u00f3n de env\u00edo del Builder o mediante la API con mode en draft. Los mensajes de borrador muestran un banner de advertencia en el dispositivo, y el tel\u00e9fono de prueba debe haberle escrito a tu n\u00famero en las \u00faltimas 24 horas. Los Flows creados desde noviembre de 2024 siguen siendo editables despu\u00e9s de publicarse, mediante la API o el Builder, y conservan el mismo ID de Flow.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfQu\u00e9 pasa con los datos del usuario si cierra el Flow a mitad de camino?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"WhatsApp guarda en cach\u00e9 los datos de una pantalla cuando el usuario la completa y pasa a la siguiente. Los datos ingresados en la pantalla actual, antes de que el usuario toque el bot\u00f3n del Footer, se pierden si sale. Por eso Meta recomienda dividir los formularios con varios campos en varias pantallas cortas, para que haya menos datos en riesgo si el usuario sale antes de terminar.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfLos datos est\u00e1n cifrados?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"S\u00ed. Todos los datos que se intercambian entre el Flow y tu endpoint usan un intercambio de claves RSA de 2048 bits (OAEP-SHA256) combinado con cifrado AES-128-GCM del payload. La solicitud entrante contiene tres campos: encrypted_flow_data, encrypted_aes_key e initial_vector. Descifras la clave AES con tu clave privada RSA y luego descifras el payload con AES-GCM. Tu respuesta se cifra con la misma clave AES usando un vector de inicializaci\u00f3n invertido. La gu\u00eda completa de implementaci\u00f3n del cifrado, con ejemplos de c\u00f3digo en seis lenguajes, est\u00e1 en la documentaci\u00f3n para desarrolladores de Meta.\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>WhatsApp Flows te permite crear formularios de varias pantallas dentro del chat. Aprende a armarlos con la Cloud API, ejemplos JSON y buenas pr\u00e1cticas.<\/p>\n","protected":false},"author":5,"featured_media":2210,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_360d_jsonld":"[{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"inLanguage\":\"es\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"\u00bfPuedo enviar un Flow dentro de un mensaje de plantilla?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"S\u00ed. Para asociar un Flow a un mensaje de plantilla, agregas un bot\u00f3n de tipo FLOW al crear la plantilla. El bot\u00f3n identifica el Flow por su ID o su nombre, e indica la primera pantalla cuando la acci\u00f3n del bot\u00f3n es navigate. Cuando el usuario toca el bot\u00f3n, el Flow se abre dentro del chat. La plantilla en s\u00ed pasa por el proceso est\u00e1ndar de aprobaci\u00f3n de plantillas de WhatsApp, as\u00ed que aseg\u00farate de que el contenido de la plantilla y el prop\u00f3sito del Flow cumplan las pol\u00edticas de comercio y mensajer\u00eda de Meta.\"}},{\"@type\":\"Question\",\"name\":\"\u00bfQu\u00e9 necesitas para enviar un Flow?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Necesitas un n\u00famero de tel\u00e9fono de empresa registrado en la WhatsApp Cloud API. Cualquier empresa puede empezar a crear Flows en WhatsApp Manager, y para publicarlos y enviarlos, Meta exige una empresa verificada y una calidad de mensajes alta.\"}},{\"@type\":\"Question\",\"name\":\"\u00bfPuedo probar un Flow antes de publicarlo?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"S\u00ed. El Flows Builder de WhatsApp Manager tiene una vista previa interactiva que se comporta como un dispositivo real y env\u00eda solicitudes reales a tu endpoint si el Flow tiene uno. Tambi\u00e9n puedes enviar el borrador a un tel\u00e9fono de prueba, desde la opci\u00f3n de env\u00edo del Builder o mediante la API con mode en draft. Los mensajes de borrador muestran un banner de advertencia en el dispositivo, y el tel\u00e9fono de prueba debe haberle escrito a tu n\u00famero en las \u00faltimas 24 horas. Los Flows creados desde noviembre de 2024 siguen siendo editables despu\u00e9s de publicarse, mediante la API o el Builder, y conservan el mismo ID de Flow.\"}},{\"@type\":\"Question\",\"name\":\"\u00bfQu\u00e9 pasa con los datos del usuario si cierra el Flow a mitad de camino?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"WhatsApp guarda en cach\u00e9 los datos de una pantalla cuando el usuario la completa y pasa a la siguiente. Los datos ingresados en la pantalla actual, antes de que el usuario toque el bot\u00f3n del Footer, se pierden si sale. Por eso Meta recomienda dividir los formularios con varios campos en varias pantallas cortas, para que haya menos datos en riesgo si el usuario sale antes de terminar.\"}},{\"@type\":\"Question\",\"name\":\"\u00bfLos datos est\u00e1n cifrados?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"S\u00ed. Todos los datos que se intercambian entre el Flow y tu endpoint usan un intercambio de claves RSA de 2048 bits (OAEP-SHA256) combinado con cifrado AES-128-GCM del payload. La solicitud entrante contiene tres campos: encrypted_flow_data, encrypted_aes_key e initial_vector. Descifras la clave AES con tu clave privada RSA y luego descifras el payload con AES-GCM. Tu respuesta se cifra con la misma clave AES usando un vector de inicializaci\u00f3n invertido. La gu\u00eda completa de implementaci\u00f3n del cifrado, con ejemplos de c\u00f3digo en seis lenguajes, est\u00e1 en la documentaci\u00f3n para desarrolladores de Meta.\"}}]}]","footnotes":""},"categories":[240],"tags":[278],"class_list":["post-2196","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-actualizaciones-de-producto","tag-automatizacion-de-whatsapp"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>WhatsApp Flows: formularios dentro del chat | 360Dialog<\/title>\n<meta name=\"description\" content=\"WhatsApp Flows te permite crear formularios de varias pantallas dentro del chat. Aprende a armarlos con la Cloud API, ejemplos JSON y buenas pr\u00e1cticas.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WhatsApp Flows: formularios dentro del chat | 360Dialog\" \/>\n<meta property=\"og:description\" content=\"WhatsApp Flows te permite crear formularios de varias pantallas dentro del chat. Aprende a armarlos con la Cloud API, ejemplos JSON y buenas pr\u00e1cticas.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog | 360Dialog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-30T13:10:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-01T09:06:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/360dialogblog.com\/wp-content\/uploads\/2026\/09\/whatsapp-flows-formularios-en-el-chat.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"360Dialog Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"360Dialog Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/\"},\"author\":{\"name\":\"360Dialog Team\",\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/#\\\/schema\\\/person\\\/672f939134088149fd9003ed45f243b8\"},\"headline\":\"WhatsApp Flows: c\u00f3mo crear formularios y recopilar datos dentro de WhatsApp\",\"datePublished\":\"2026-09-30T13:10:59+00:00\",\"dateModified\":\"2026-10-01T09:06:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/\"},\"wordCount\":3589,\"publisher\":{\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/360dialogblog.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/whatsapp-flows-formularios-en-el-chat.png\",\"keywords\":[\"Automatizaci\u00f3n de WhatsApp\"],\"articleSection\":[\"Actualizaciones de producto\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/\",\"url\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/\",\"name\":\"WhatsApp Flows: formularios dentro del chat | 360Dialog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/360dialogblog.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/whatsapp-flows-formularios-en-el-chat.png\",\"datePublished\":\"2026-09-30T13:10:59+00:00\",\"dateModified\":\"2026-10-01T09:06:57+00:00\",\"description\":\"WhatsApp Flows te permite crear formularios de varias pantallas dentro del chat. Aprende a armarlos con la Cloud API, ejemplos JSON y buenas pr\u00e1cticas.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/#primaryimage\",\"url\":\"https:\\\/\\\/360dialogblog.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/whatsapp-flows-formularios-en-el-chat.png\",\"contentUrl\":\"https:\\\/\\\/360dialogblog.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/whatsapp-flows-formularios-en-el-chat.png\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/whatsapp-flows-formularios-en-el-chat\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WhatsApp Flows: c\u00f3mo crear formularios y recopilar datos dentro de WhatsApp\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/\",\"name\":\"360Dialog\",\"description\":\"360Dialog Blog\",\"publisher\":{\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/#organization\",\"name\":\"360Dialog\",\"url\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/360dialogblog.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Logo-360Dialog.svg\",\"contentUrl\":\"https:\\\/\\\/360dialogblog.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Logo-360Dialog.svg\",\"width\":208,\"height\":42,\"caption\":\"360Dialog\"},\"image\":{\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/360dialog.com\\\/blog\\\/es\\\/#\\\/schema\\\/person\\\/672f939134088149fd9003ed45f243b8\",\"name\":\"360Dialog Team\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WhatsApp Flows: formularios dentro del chat | 360Dialog","description":"WhatsApp Flows te permite crear formularios de varias pantallas dentro del chat. Aprende a armarlos con la Cloud API, ejemplos JSON y buenas pr\u00e1cticas.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/","og_locale":"es_MX","og_type":"article","og_title":"WhatsApp Flows: formularios dentro del chat | 360Dialog","og_description":"WhatsApp Flows te permite crear formularios de varias pantallas dentro del chat. Aprende a armarlos con la Cloud API, ejemplos JSON y buenas pr\u00e1cticas.","og_url":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/","og_site_name":"Blog | 360Dialog","article_published_time":"2026-09-30T13:10:59+00:00","article_modified_time":"2026-10-01T09:06:57+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/360dialogblog.com\/wp-content\/uploads\/2026\/09\/whatsapp-flows-formularios-en-el-chat.png","type":"image\/png"}],"author":"360Dialog Team","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"360Dialog Team","Tiempo de lectura":"20 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/#article","isPartOf":{"@id":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/"},"author":{"name":"360Dialog Team","@id":"https:\/\/360dialog.com\/blog\/es\/#\/schema\/person\/672f939134088149fd9003ed45f243b8"},"headline":"WhatsApp Flows: c\u00f3mo crear formularios y recopilar datos dentro de WhatsApp","datePublished":"2026-09-30T13:10:59+00:00","dateModified":"2026-10-01T09:06:57+00:00","mainEntityOfPage":{"@id":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/"},"wordCount":3589,"publisher":{"@id":"https:\/\/360dialog.com\/blog\/es\/#organization"},"image":{"@id":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/#primaryimage"},"thumbnailUrl":"https:\/\/360dialogblog.com\/wp-content\/uploads\/2026\/09\/whatsapp-flows-formularios-en-el-chat.png","keywords":["Automatizaci\u00f3n de WhatsApp"],"articleSection":["Actualizaciones de producto"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/","url":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/","name":"WhatsApp Flows: formularios dentro del chat | 360Dialog","isPartOf":{"@id":"https:\/\/360dialog.com\/blog\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/#primaryimage"},"image":{"@id":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/#primaryimage"},"thumbnailUrl":"https:\/\/360dialogblog.com\/wp-content\/uploads\/2026\/09\/whatsapp-flows-formularios-en-el-chat.png","datePublished":"2026-09-30T13:10:59+00:00","dateModified":"2026-10-01T09:06:57+00:00","description":"WhatsApp Flows te permite crear formularios de varias pantallas dentro del chat. Aprende a armarlos con la Cloud API, ejemplos JSON y buenas pr\u00e1cticas.","breadcrumb":{"@id":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/#primaryimage","url":"https:\/\/360dialogblog.com\/wp-content\/uploads\/2026\/09\/whatsapp-flows-formularios-en-el-chat.png","contentUrl":"https:\/\/360dialogblog.com\/wp-content\/uploads\/2026\/09\/whatsapp-flows-formularios-en-el-chat.png","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/360dialog.com\/blog\/es\/whatsapp-flows-formularios-en-el-chat\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/360dialog.com\/blog\/es\/"},{"@type":"ListItem","position":2,"name":"WhatsApp Flows: c\u00f3mo crear formularios y recopilar datos dentro de WhatsApp"}]},{"@type":"WebSite","@id":"https:\/\/360dialog.com\/blog\/es\/#website","url":"https:\/\/360dialog.com\/blog\/es\/","name":"360Dialog","description":"360Dialog Blog","publisher":{"@id":"https:\/\/360dialog.com\/blog\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/360dialog.com\/blog\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/360dialog.com\/blog\/es\/#organization","name":"360Dialog","url":"https:\/\/360dialog.com\/blog\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/360dialog.com\/blog\/es\/#\/schema\/logo\/image\/","url":"https:\/\/360dialogblog.com\/wp-content\/uploads\/2026\/04\/Logo-360Dialog.svg","contentUrl":"https:\/\/360dialogblog.com\/wp-content\/uploads\/2026\/04\/Logo-360Dialog.svg","width":208,"height":42,"caption":"360Dialog"},"image":{"@id":"https:\/\/360dialog.com\/blog\/es\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/360dialog.com\/blog\/es\/#\/schema\/person\/672f939134088149fd9003ed45f243b8","name":"360Dialog Team"}]}},"_links":{"self":[{"href":"https:\/\/360dialog.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/360dialog.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/360dialog.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/360dialog.com\/blog\/es\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/360dialog.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2196"}],"version-history":[{"count":1,"href":"https:\/\/360dialog.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2196\/revisions"}],"predecessor-version":[{"id":2209,"href":"https:\/\/360dialog.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2196\/revisions\/2209"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/360dialog.com\/blog\/es\/wp-json\/wp\/v2\/media\/2210"}],"wp:attachment":[{"href":"https:\/\/360dialog.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=2196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/360dialog.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/360dialog.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}