{"id":656,"date":"2026-10-29T13:10:54","date_gmt":"2026-10-29T13:10:54","guid":{"rendered":"https:\/\/vectalk.com.br\/blog\/migrar-a-api-oficial-de-whatsapp\/"},"modified":"2026-10-29T13:11:14","modified_gmt":"2026-10-29T13:11:14","slug":"migrar-a-api-oficial-de-whatsapp","status":"publish","type":"post","link":"https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/","title":{"rendered":"C\u00f3mo migrar de una API no oficial (Evolution API, Baileys, WPPConnect) a la API oficial de WhatsApp"},"content":{"rendered":"\n<p><em>Actualizado el 29\/10\/2026<\/em><\/p>\n\n\n\n<p>Migrar a la API oficial de WhatsApp significa cambiar la sesi\u00f3n de WhatsApp Web, abierta con c\u00f3digo QR, por un n\u00famero registrado en la Cloud API de Meta, al que se accede con un token y llamadas HTTP. El n\u00famero tiene que salir de la app (o conectarse por coexistencia, si est\u00e1 en la app WhatsApp Business), los mensajes fuera de la ventana de 24 horas pasan a requerir plantillas aprobadas y los webhooks adoptan el formato de Meta. El mayor trabajo suele estar en el c\u00f3digo que recibe los eventos y en las reglas de env\u00edo, no en el env\u00edo en s\u00ed.<\/p>\n\n\n\n<p>Esta gu\u00eda es para quien tiene una integraci\u00f3n funcionando con Baileys, WPPConnect o el modo Baileys de Evolution API y quiere pasar a la API oficial de WhatsApp sin detener la operaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Por qu\u00e9 migrar: el riesgo real de las API no oficiales<\/h2>\n\n\n\n<p>Las bibliotecas no oficiales controlan una sesi\u00f3n de WhatsApp Web. Para WhatsApp, eso es acceso automatizado no autorizado. Las <a href=\"https:\/\/www.whatsapp.com\/legal\/terms-of-service\" target=\"_blank\" rel=\"noreferrer noopener\">Condiciones del servicio<\/a> proh\u00edben acceder o usar el servicio &#8220;por medios automatizados&#8221; sin autorizaci\u00f3n e incluyen los mensajes masivos y los mensajes autom\u00e1ticos entre los usos no permitidos. La comparaci\u00f3n completa est\u00e1 en <a href=\"https:\/\/vectalk.com.br\/blog\/es\/api-oficial-vs-api-no-oficial-whatsapp\/\">API oficial vs. API no oficial de WhatsApp<\/a>.<\/p>\n\n\n\n<p>Quien ya oper\u00f3 con este modelo conoce las consecuencias:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Bloqueo del n\u00famero<\/strong>, a veces sin relaci\u00f3n clara con el volumen. Un n\u00famero bloqueado tiene que pasar por una apelaci\u00f3n antes de poder registrarse de nuevo, tambi\u00e9n en la Cloud API, seg\u00fan la <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/business-phone-numbers\/phone-numbers\" target=\"_blank\" rel=\"noreferrer noopener\">documentaci\u00f3n de n\u00fameros<\/a>.<\/li>\n\n\n<li><strong>Fallas despu\u00e9s de actualizaciones de WhatsApp<\/strong>, que obligan a actualizar la biblioteca a las apuradas.<\/li>\n\n\n<li><strong>Sesiones que se caen<\/strong> y piden escanear el QR otra vez, muchas veces por alguien con el celular en la mano.<\/li>\n\n\n<li><strong>Ning\u00fan soporte de Meta<\/strong> cuando algo sale mal.<\/li>\n\n<\/ul>\n\n\n\n<p>En la API oficial, el bloqueo por &#8220;usar la herramienta equivocada&#8221; deja de existir. Lo que pasa a importar es la calidad: los bloqueos y denuncias de los destinatarios afectan la calificaci\u00f3n del n\u00famero y los l\u00edmites de env\u00edo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 cambia al migrar<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Aspecto<\/th><th>API no oficial<\/th><th>API oficial (Cloud API)<\/th><\/tr><\/thead><tbody><tr><td>Conexi\u00f3n<\/td><td>C\u00f3digo QR y sesi\u00f3n guardada en el servidor<\/td><td>Token de acceso; n\u00famero registrado en Meta<\/td><\/tr><tr><td>Env\u00edo fuera de una conversaci\u00f3n activa<\/td><td>Mensaje libre<\/td><td>Solo plantilla aprobada<\/td><\/tr><tr><td>Respuesta al cliente<\/td><td>Libre, en cualquier momento<\/td><td>Libre dentro de la ventana de 24 h; despu\u00e9s, plantilla<\/td><\/tr><tr><td>Identificador del contacto<\/td><td>JID (<code>5584999999999@s.whatsapp.net<\/code>)<\/td><td><code>wa_id<\/code> (<code>5584999999999<\/code>) y, desde abril de 2026, el BSUID (<code>user_id<\/code>)<\/td><\/tr><tr><td>Identificador del mensaje<\/td><td>ID de la biblioteca<\/td><td><code>wamid.\u2026<\/code><\/td><\/tr><tr><td>Eventos<\/td><td>Formato propio (ej.: <code>messages.upsert<\/code>)<\/td><td>Webhook de Meta: <code>entry[].changes[].value<\/code><\/td><\/tr><tr><td>Multimedia recibida<\/td><td>Archivo o base64 en el evento<\/td><td><code>media_id<\/code>; el archivo se descarga con otra llamada<\/td><\/tr><tr><td>Grupos<\/td><td>Acceso amplio<\/td><td>API de Grupos con l\u00edmites (8 participantes, exige cuenta comercial oficial)<\/td><\/tr><tr><td>Costo<\/td><td>Sin cobro de Meta<\/td><td>Cobro por mensaje entregado<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Los l\u00edmites de la API de Grupos est\u00e1n en la <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/groups\" target=\"_blank\" rel=\"noreferrer noopener\">documentaci\u00f3n de grupos de Meta<\/a>: los grupos exigen una cuenta comercial oficial, admiten hasta 8 participantes y no est\u00e1n disponibles para n\u00fameros conectados por coexistencia. Si tu flujo depende de grupos grandes, listas de difusi\u00f3n o de leer los estados de los contactos, revisa este punto antes que cualquier otro, porque la API oficial no replica esos usos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Paso a paso de la migraci\u00f3n<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Haz el inventario de lo que hace la integraci\u00f3n actual<\/h3>\n\n\n\n<p>Enumera cada flujo y clasif\u00edcalo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Respuesta a mensajes del cliente<\/strong> (atenci\u00f3n, chatbot): sigue igual, dentro de la ventana de 24 horas.<\/li>\n\n\n<li><strong>Mensajes iniciados por la empresa<\/strong> (recordatorios, avisos de cobro, avisos de entrega, campa\u00f1as): se convierten en plantillas.<\/li>\n\n\n<li><strong>Funciones sin equivalente<\/strong> (grupos grandes, listas de difusi\u00f3n, estados): necesitan otra soluci\u00f3n.<\/li>\n\n<\/ul>\n\n\n\n<p>Esa lista se convierte en tu lista de plantillas y muestra d\u00f3nde va a cambiar tu producto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Prepara la cuenta en Meta<\/h3>\n\n\n\n<p>Necesitas un portfolio comercial (antes Business Manager), de preferencia verificado, y un m\u00e9todo de pago en la cuenta de mensajes, o un proveedor que te facture y cubra los cobros de Meta. La verificaci\u00f3n influye en los <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/messaging-limits\" target=\"_blank\" rel=\"noreferrer noopener\">l\u00edmites de mensajes<\/a>: los portfolios nuevos empiezan con 250 destinatarios \u00fanicos por 24 horas m\u00f3viles fuera de la ventana de atenci\u00f3n, compartidos por todos los n\u00fameros del portfolio, y la verificaci\u00f3n es uno de los caminos para llegar a 2.000. La <a href=\"https:\/\/vectalk.com.br\/blog\/es\/api-oficial-de-whatsapp\/\">gu\u00eda completa de la API oficial de WhatsApp<\/a> detalla los requisitos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Decide qu\u00e9 hacer con el n\u00famero<\/h3>\n\n\n\n<p>Es el punto m\u00e1s delicado. Hay tres caminos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>N\u00famero en la app WhatsApp Business<\/strong>: puedes conectarlo a la API y seguir usando la app, mediante la coexistencia. Requisitos y limitaciones en <a href=\"https:\/\/vectalk.com.br\/blog\/es\/coexistencia-api-whatsapp\/\">Coexistencia en la API de WhatsApp<\/a>.<\/li>\n\n\n<li><strong>N\u00famero en WhatsApp com\u00fan (Messenger)<\/strong>: hay que eliminar la cuenta de la app antes de registrar el n\u00famero en la Cloud API. El historial del tel\u00e9fono no pasa a la API.<\/li>\n\n\n<li><strong>N\u00famero nuevo<\/strong>: permite migrar en paralelo. Activas el n\u00famero oficial, migras los flujos de a poco y apagas el anterior despu\u00e9s.<\/li>\n\n<\/ol>\n\n\n\n<p>Si el n\u00famero ya est\u00e1 en la API oficial con otro proveedor, nada de esto aplica: Meta no admite migrar un n\u00famero de un socio a otro en el nuevo modelo de cuentas, disponible de forma general desde el 23\/09\/2026. En su lugar, compartes tu cuenta de WhatsApp con el nuevo proveedor, como se explica en <a href=\"https:\/\/vectalk.com.br\/blog\/es\/cambiar-proveedor-api-whatsapp\/\">c\u00f3mo cambiar de proveedor de la API de WhatsApp<\/a>.<\/p>\n\n\n\n<p>Si tu n\u00famero actual ya fue bloqueado, solo podr\u00e1 registrarse despu\u00e9s de ser reactivado mediante el proceso de apelaci\u00f3n.<\/p>\n\n\n\n<p>Al desconectar la sesi\u00f3n no oficial, cierra la biblioteca antes de registrar el n\u00famero en Meta. Dos conexiones intentando usar el mismo n\u00famero generan errores dif\u00edciles de diagnosticar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Crea y aprueba las plantillas<\/h3>\n\n\n\n<p>Para cada mensaje iniciado por la empresa, crea una plantilla con la categor\u00eda correcta: utilidad para avisos ligados a una transacci\u00f3n o cuenta, autenticaci\u00f3n para c\u00f3digos, marketing para promociones. Meta la revisa y puede recategorizarla. En Vectalk, se crea con el endpoint de <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/templates\/create\">plantillas<\/a> usando un token de instancia:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"name\": \"recordatorio_cita\",\n  \"language\": \"es\",\n  \"category\": \"UTILITY\",\n  \"components\": [\n    {\n      \"type\": \"BODY\",\n      \"text\": \"Hola {{1}}, tu cita est\u00e1 agendada para el {{2}}. Responde 1 para confirmar.\",\n      \"example\": { \"body_text\": [[\"Mar\u00eda\", \"22\/10 a las 14 h\"]] }\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<p>La plantilla queda con estado <code>PENDING<\/code> hasta su aprobaci\u00f3n. Empieza por aqu\u00ed, porque es la etapa que depende de terceros.<\/p>\n\n\n\n<p>Si vas a enviar marketing, ten en cuenta una fecha: la Cloud API (<code>\/messages<\/code>) deja de enviar mensajes de marketing el 13\/10\/2027, y las cuentas de mensajes creadas a partir del 13\/04\/2027 ya no pueden enviarlos por ah\u00ed. El camino es la <a href=\"https:\/\/vectalk.com.br\/blog\/es\/marketing-messages-api-whatsapp-es\/\">Marketing Messages API<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Cambia la capa de env\u00edo<\/h3>\n\n\n\n<p>En la API no oficial, el env\u00edo es una llamada a una funci\u00f3n de la biblioteca. En la oficial, es un <code>POST<\/code> HTTP. Un env\u00edo t\u00edpico con Baileys:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-js\">\/\/ Antes (Baileys)\nawait sock.sendMessage('5584999999999@s.whatsapp.net', { text: 'Pedido confirmado' })<\/code><\/pre>\n\n\n\n<p>Pasa a ser:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-js\">\/\/ Despu\u00e9s (API oficial v\u00eda Vectalk)\nconst res = await fetch('https:\/\/apis.vectalk.com.br\/api\/messages', {\n  method: 'POST',\n  headers: {\n    Authorization: `Bearer ${process.env.VECTALK_TOKEN}`,\n    'Content-Type': 'application\/json',\n  },\n  body: JSON.stringify({\n    messaging_product: 'whatsapp',\n    to: '5584999999999',\n    type: 'text',\n    text: { body: 'Pedido confirmado' },\n  }),\n})\nconst data = await res.json()\nconst wamid = data.messages[0].id \/\/ gu\u00e1rdalo para cruzarlo con los estados<\/code><\/pre>\n\n\n\n<p>El n\u00famero va en formato E.164 sin el <code>+<\/code>. Guarda el <code>wa_id<\/code> que la API devuelve en <code>contacts[0].wa_id<\/code> y \u00fasalo como clave del contacto, en lugar de reconstruir el n\u00famero a partir de lo que escribi\u00f3 el usuario. Prev\u00e9 tambi\u00e9n el BSUID: cuando un cliente adopta un nombre de usuario de WhatsApp, el n\u00famero de tel\u00e9fono puede dejar de llegar en los webhooks, as\u00ed que el modelo de contacto debe aceptar tambi\u00e9n <code>user_id<\/code>. M\u00e1s en <a href=\"https:\/\/vectalk.com.br\/blog\/es\/nombres-de-usuario-whatsapp-bsuid\/\">nombres de usuario de WhatsApp y BSUID<\/a>.<\/p>\n\n\n\n<p>Antes de enviar un mensaje libre, el c\u00f3digo necesita saber si la ventana de 24 horas est\u00e1 abierta. Una forma simple es registrar la hora del \u00faltimo mensaje recibido de cada contacto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-js\">function ventanaAbierta(ultimoMensajeDelCliente) {\n  const VEINTICUATRO_HORAS = 24 * 60 * 60 * 1000\n  return Date.now() - ultimoMensajeDelCliente.getTime() &lt; VEINTICUATRO_HORAS\n}\n\nconst payload = ventanaAbierta(contacto.ultimoMensajeEn)\n  ? { type: 'text', text: { body: texto } }\n  : { type: 'template', template: { name: 'retomar_atencion', language: { code: 'es' } } }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">6. Reescribe la recepci\u00f3n de eventos (webhooks)<\/h3>\n\n\n\n<p>Aqu\u00ed suele estar la mayor parte del trabajo. En lugar de eventos como <code>messages.upsert<\/code>, recibes un <code>POST<\/code> con la estructura de Meta, en la que mensajes y estados llegan dentro de <code>entry[].changes[].value<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"object\": \"whatsapp_business_account\",\n  \"entry\": [{\n    \"id\": \"WABA_ID\",\n    \"changes\": [{\n      \"field\": \"messages\",\n      \"value\": {\n        \"messaging_product\": \"whatsapp\",\n        \"metadata\": { \"display_phone_number\": \"558430000000\", \"phone_number_id\": \"PHONE_NUMBER_ID\" },\n        \"contacts\": [{ \"profile\": { \"name\": \"Jo\u00e3o\" }, \"wa_id\": \"5584988888888\", \"user_id\": \"BR.13491208655302741918\" }],\n        \"messages\": [{\n          \"from\": \"5584988888888\",\n          \"from_user_id\": \"BR.13491208655302741918\",\n          \"id\": \"wamid.HBgL...\",\n          \"timestamp\": \"1760000000\",\n          \"type\": \"text\",\n          \"text\": { \"body\": \"Quiero reprogramar\" }\n        }]\n      }\n    }]\n  }]\n}<\/code><\/pre>\n\n\n\n<p>Tres cambios que merecen atenci\u00f3n:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Los estados llegan por separado.<\/strong> <code>sent<\/code>, <code>delivered<\/code>, <code>read<\/code> y <code>failed<\/code> vienen en <code>value.statuses[]<\/code>, con referencia al <code>wamid<\/code> que guardaste al enviar.<\/li>\n\n\n<li><strong>La multimedia llega por referencia.<\/strong> Una imagen recibida trae <code>image.id<\/code>; para descargar el archivo, usa los endpoints de <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/media\/download\">multimedia<\/a>.<\/li>\n\n\n<li><strong>Los eventos pueden llegar repetidos.<\/strong> Meta reintenta durante hasta siete d\u00edas cuando tu endpoint no responde 200, y eso puede duplicar notificaciones. Deduplica por el <code>id<\/code> del mensaje.<\/li>\n\n<\/ul>\n\n\n\n<p>En Vectalk, el webhook se registra por API y puedes tener varias URL por instancia. Los detalles est\u00e1n en la p\u00e1gina de <a href=\"https:\/\/docs.vectalk.com.br\/concepts\/webhooks\">webhooks de la documentaci\u00f3n<\/a>. Para ejemplos completos de servidor, idempotencia y colas, consulta <a href=\"https:\/\/vectalk.com.br\/blog\/es\/webhooks-api-whatsapp\/\">Webhooks de la API de WhatsApp: gu\u00eda pr\u00e1ctica<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Opera en paralelo y haz el corte<\/h3>\n\n\n\n<p>Si elegiste un n\u00famero nuevo, mant\u00e9n los dos durante un tiempo. Pasa primero los flujos de respuesta (que no dependen de plantillas) y despu\u00e9s los de notificaci\u00f3n. Sigue las tasas de entrega y de falla con los webhooks de estado. Cuando las cifras est\u00e9n estables, apaga la sesi\u00f3n anterior.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Checklist de migraci\u00f3n<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u00cdtem<\/th><th>\u00bfListo?<\/th><\/tr><\/thead><tbody><tr><td>Inventario de flujos: respuesta, iniciados por la empresa, sin equivalente<\/td><td>\u2610<\/td><\/tr><tr><td>Portfolio comercial creado y verificaci\u00f3n solicitada<\/td><td>\u2610<\/td><\/tr><tr><td>M\u00e9todo de pago en la cuenta de mensajes, o facturaci\u00f3n a trav\u00e9s del proveedor<\/td><td>\u2610<\/td><\/tr><tr><td>Decisi\u00f3n sobre el n\u00famero: coexistencia, eliminaci\u00f3n de la app o n\u00famero nuevo<\/td><td>\u2610<\/td><\/tr><tr><td>Nombre visible aprobado<\/td><td>\u2610<\/td><\/tr><tr><td>Plantillas creadas por categor\u00eda y aprobadas<\/td><td>\u2610<\/td><\/tr><tr><td>Base de contactos con registro de opt-in<\/td><td>\u2610<\/td><\/tr><tr><td>Env\u00edo reescrito a <code>POST \/messages<\/code> con <code>wamid<\/code> guardado<\/td><td>\u2610<\/td><\/tr><tr><td>Env\u00edos de marketing planificados para la Marketing Messages API<\/td><td>\u2610<\/td><\/tr><tr><td>Control de la ventana de 24 horas antes de mensajes libres<\/td><td>\u2610<\/td><\/tr><tr><td>Modelo de contacto preparado para <code>wa_id<\/code> y BSUID<\/td><td>\u2610<\/td><\/tr><tr><td>Webhook con respuesta 200 r\u00e1pida, cola y deduplicaci\u00f3n<\/td><td>\u2610<\/td><\/tr><tr><td>Manejo de estados <code>failed<\/code> y c\u00f3digos de error<\/td><td>\u2610<\/td><\/tr><tr><td>Descarga de multimedia por <code>media_id<\/code><\/td><td>\u2610<\/td><\/tr><tr><td>Sesi\u00f3n no oficial cerrada antes de registrar el n\u00famero<\/td><td>\u2610<\/td><\/tr><tr><td>Monitoreo de calidad y del l\u00edmite de mensajes<\/td><td>\u2610<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Consentimiento: el punto que muchas migraciones olvidan<\/h2>\n\n\n\n<p>Con la API no oficial, muchas bases de contactos se armaron sin registro de permiso. La <a href=\"https:\/\/business.whatsapp.com\/policy\" target=\"_blank\" rel=\"noreferrer noopener\">Pol\u00edtica de mensajer\u00eda de WhatsApp Business<\/a> solo permite contactar a quien te dio su n\u00famero y acept\u00f3 (opt-in) recibir mensajes, y exige respetar las solicitudes de baja. Antes de enviar la primera plantilla de marketing, separa los contactos con consentimiento registrado. Escribirle a una base fr\u00eda es la forma m\u00e1s r\u00e1pida de hundir la calidad de un n\u00famero reci\u00e9n migrado. Si tus contactos est\u00e1n en Brasil, tambi\u00e9n aplica la LGPD (la ley general de protecci\u00f3n de datos de Brasil); esto no es asesor\u00eda legal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo entra Vectalk en la migraci\u00f3n<\/h2>\n\n\n\n<p>Vectalk es un proxy gestionado de la WhatsApp Cloud API. Conectas el n\u00famero mediante el registro insertado (Embedded Signup) de Meta, recibes un token de Vectalk y usas los mismos payloads de la documentaci\u00f3n de Meta, cambiando solo la URL base y el token. Con un token de organizaci\u00f3n, una sola credencial accede a todas las cuentas conectadas; basta enviar el <code>phone_number_id<\/code> en el cuerpo de la solicitud. Eso ayuda a quien migra varios n\u00fameros de clientes al mismo tiempo. El cobro es una mensualidad m\u00e1s un saldo prepago: Vectalk coloca su propia l\u00ednea de cr\u00e9dito en el n\u00famero, cada mensaje entregado se descuenta del saldo y no necesitas registrar una tarjeta en Meta. Vectalk tambi\u00e9n ofrece coexistencia.<\/p>\n\n\n\n<p>Para empezar, crea tu cuenta en <a href=\"https:\/\/apps.vectalk.com.br\/register\">apps.vectalk.com.br\/register<\/a> y sigue la <a href=\"https:\/\/docs.vectalk.com.br\/quickstart\">gu\u00eda r\u00e1pida<\/a>, que pide una cuenta comercial de Meta verificada para conectar mediante el registro insertado. Las dudas de cuenta se resuelven en el <a href=\"https:\/\/vectalk.com.br\/ajuda.html\">Centro de Ayuda<\/a> (en portugu\u00e9s) o por <a href=\"https:\/\/vectalk.com.br\/contato.html\">contacto<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuedo migrar sin perder el n\u00famero?<\/h3>\n\n\n\n<p>S\u00ed, en dos escenarios. Si el n\u00famero est\u00e1 en la app WhatsApp Business, la coexistencia lo conecta a la API sin sacarlo de la app. Si est\u00e1 en WhatsApp com\u00fan, eliminas la cuenta de la app y registras el n\u00famero en la Cloud API; el n\u00famero sigue siendo tuyo, pero el historial del tel\u00e9fono no pasa a la API.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfEl historial de conversaciones se migra?<\/h3>\n\n\n\n<p>En la migraci\u00f3n tradicional, no. Con la coexistencia, Meta permite sincronizar hasta seis meses de conversaciones individuales si la empresa autoriza compartirlas, y la sincronizaci\u00f3n debe hacerse dentro de las 24 horas posteriores a la integraci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfEvolution API no es ya oficial?<\/h3>\n\n\n\n<p>Evolution API ofrece m\u00e1s de un tipo de integraci\u00f3n. El modo basado en Baileys usa WhatsApp Web y no es oficial. Cuando se configura con la Cloud API de Meta, pasa a usar la API oficial. Lo que determina el riesgo es el canal, no el nombre del proyecto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfVoy a pagar por mensajes que hoy son gratis?<\/h3>\n\n\n\n<p>S\u00ed. En la API oficial, Meta cobra por mensaje entregado, seg\u00fan la categor\u00eda y el pa\u00eds del destinatario. Cada n\u00famero tiene 1.000 mensajes de servicio entregados gratis al mes; desde el 01\/10\/2026 se cobran las plantillas de utilidad enviadas dentro de la ventana de atenci\u00f3n; y la ventana de punto de entrada gratuito que abren los anuncios Click-to-WhatsApp puede quedar abierta hasta 7 d\u00edas (las plantillas de utilidad enviadas dentro de ella siguen siendo gratis). Para destinatarios en Brasil, las tarifas desde el 01\/10\/2026 son R$ 0,3217 para marketing y R$ 0,0350 para utilidad, autenticaci\u00f3n y servicio (R$ es el real brasile\u00f1o); detalles en <a href=\"https:\/\/vectalk.com.br\/blog\/es\/precio-api-whatsapp-brasil\/\">precio de la API de WhatsApp en Brasil<\/a>. Para otros mercados, consulta el <a href=\"https:\/\/vectalk.com.br\/blog\/es\/precio-api-whatsapp-por-pais\/\">precio de la API de WhatsApp por pa\u00eds<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuedo seguir usando grupos?<\/h3>\n\n\n\n<p>Con l\u00edmites. La API de Grupos de Meta exige una cuenta comercial oficial, admite hasta 8 participantes por grupo y no est\u00e1 disponible para n\u00fameros en coexistencia. Los grupos grandes y las comunidades siguen fuera del alcance de la API.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Fuentes oficiales consultadas el 29\/10\/2026:<\/strong> <a href=\"https:\/\/www.whatsapp.com\/legal\/terms-of-service\" target=\"_blank\" rel=\"noreferrer noopener\">Condiciones del servicio de WhatsApp<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/business-phone-numbers\/phone-numbers\" target=\"_blank\" rel=\"noreferrer noopener\">N\u00fameros de tel\u00e9fono comerciales<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/messaging-limits\" target=\"_blank\" rel=\"noreferrer noopener\">L\u00edmites de mensajes<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/webhooks\/overview\" target=\"_blank\" rel=\"noreferrer noopener\">Webhooks<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/groups\" target=\"_blank\" rel=\"noreferrer noopener\">API de Grupos<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/account-model-evolution\/\" target=\"_blank\" rel=\"noreferrer noopener\">Evoluci\u00f3n del modelo de cuentas<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/marketing-messages\/overview\" target=\"_blank\" rel=\"noreferrer noopener\">Marketing Messages API<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/business-scoped-user-ids\" target=\"_blank\" rel=\"noreferrer noopener\">ID de usuario en el \u00e1mbito de la empresa (BSUID)<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\" target=\"_blank\" rel=\"noreferrer noopener\">Precios<\/a>, <a href=\"https:\/\/business.whatsapp.com\/policy\" target=\"_blank\" rel=\"noreferrer noopener\">Pol\u00edtica de mensajer\u00eda de WhatsApp Business<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pasar de Baileys, WPPConnect o Evolution API a la API oficial de WhatsApp: qu\u00e9 cambia en el n\u00famero, las plantillas, el env\u00edo y los webhooks, con checklist de migraci\u00f3n.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[12],"tags":[],"class_list":["post-656","post","type-post","status-publish","format-standard","hentry","category-uncategorized-es"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Migrar a la API oficial de WhatsApp: paso a paso | Vectalk<\/title>\n<meta name=\"description\" content=\"C\u00f3mo migrar de Evolution API, Baileys o WPPConnect a la API oficial de WhatsApp: riesgos, cambios en el c\u00f3digo, webhooks, plantillas y checklist.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Migrar a la API oficial de WhatsApp: paso a paso | Vectalk\" \/>\n<meta property=\"og:description\" content=\"C\u00f3mo migrar de Evolution API, Baileys o WPPConnect a la API oficial de WhatsApp: riesgos, cambios en el c\u00f3digo, webhooks, plantillas y checklist.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Vectalk\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-29T13:10:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-29T13:11:14+00:00\" \/>\n<meta name=\"author\" content=\"wanderleyfcunha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"wanderleyfcunha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/migrar-a-api-oficial-de-whatsapp\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/migrar-a-api-oficial-de-whatsapp\\\/\"},\"author\":{\"name\":\"wanderleyfcunha\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"headline\":\"C\u00f3mo migrar de una API no oficial (Evolution API, Baileys, WPPConnect) a la API oficial de WhatsApp\",\"datePublished\":\"2026-10-29T13:10:54+00:00\",\"dateModified\":\"2026-10-29T13:11:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/migrar-a-api-oficial-de-whatsapp\\\/\"},\"wordCount\":2339,\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/migrar-a-api-oficial-de-whatsapp\\\/\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/migrar-a-api-oficial-de-whatsapp\\\/\",\"name\":\"Migrar a la API oficial de WhatsApp: paso a paso | Vectalk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-29T13:10:54+00:00\",\"dateModified\":\"2026-10-29T13:11:14+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"description\":\"C\u00f3mo migrar de Evolution API, Baileys o WPPConnect a la API oficial de WhatsApp: riesgos, cambios en el c\u00f3digo, webhooks, plantillas y checklist.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/migrar-a-api-oficial-de-whatsapp\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/migrar-a-api-oficial-de-whatsapp\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/es\\\/migrar-a-api-oficial-de-whatsapp\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C\u00f3mo migrar de una API no oficial (Evolution API, Baileys, WPPConnect) a la API oficial de WhatsApp\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\",\"name\":\"Blog Vectalk\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\",\"name\":\"wanderleyfcunha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"caption\":\"wanderleyfcunha\"},\"sameAs\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Migrar a la API oficial de WhatsApp: paso a paso | Vectalk","description":"C\u00f3mo migrar de Evolution API, Baileys o WPPConnect a la API oficial de WhatsApp: riesgos, cambios en el c\u00f3digo, webhooks, plantillas y checklist.","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:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/","og_locale":"en_US","og_type":"article","og_title":"Migrar a la API oficial de WhatsApp: paso a paso | Vectalk","og_description":"C\u00f3mo migrar de Evolution API, Baileys o WPPConnect a la API oficial de WhatsApp: riesgos, cambios en el c\u00f3digo, webhooks, plantillas y checklist.","og_url":"https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/","og_site_name":"Blog Vectalk","article_published_time":"2026-10-29T13:10:54+00:00","article_modified_time":"2026-10-29T13:11:14+00:00","author":"wanderleyfcunha","twitter_card":"summary_large_image","twitter_misc":{"Written by":"wanderleyfcunha","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/#article","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/"},"author":{"name":"wanderleyfcunha","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"headline":"C\u00f3mo migrar de una API no oficial (Evolution API, Baileys, WPPConnect) a la API oficial de WhatsApp","datePublished":"2026-10-29T13:10:54+00:00","dateModified":"2026-10-29T13:11:14+00:00","mainEntityOfPage":{"@id":"https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/"},"wordCount":2339,"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/","url":"https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/","name":"Migrar a la API oficial de WhatsApp: paso a paso | Vectalk","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/#website"},"datePublished":"2026-10-29T13:10:54+00:00","dateModified":"2026-10-29T13:11:14+00:00","author":{"@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"description":"C\u00f3mo migrar de Evolution API, Baileys o WPPConnect a la API oficial de WhatsApp: riesgos, cambios en el c\u00f3digo, webhooks, plantillas y checklist.","breadcrumb":{"@id":"https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vectalk.com.br\/blog\/es\/migrar-a-api-oficial-de-whatsapp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vectalk.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"C\u00f3mo migrar de una API no oficial (Evolution API, Baileys, WPPConnect) a la API oficial de WhatsApp"}]},{"@type":"WebSite","@id":"https:\/\/vectalk.com.br\/blog\/#website","url":"https:\/\/vectalk.com.br\/blog\/","name":"Blog Vectalk","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vectalk.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b","name":"wanderleyfcunha","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","caption":"wanderleyfcunha"},"sameAs":["https:\/\/vectalk.com.br\/blog"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/656","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/comments?post=656"}],"version-history":[{"count":1,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/656\/revisions"}],"predecessor-version":[{"id":658,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/656\/revisions\/658"}],"wp:attachment":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/media?parent=656"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/categories?post=656"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/tags?post=656"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}