RC Studio WhatsApp Coexistence para Odoo

← El conector

WhatsApp Coexistence API — la guía completa

WhatsApp para Odoo Community sobre la Cloud API de Meta. Conserva el número que ya usas en el celular, responde desde una bandeja en Odoo y envía cotizaciones, facturas y entregas desde cualquier registro. Funciona en Community 17, 18, 19 y 20 sin nada de Enterprise.

Odoo Community, on-premise. Odoo Online (SaaS) no acepta módulos de terceros. La instancia tiene que ser accesible desde internet por HTTPS, porque Meta entrega los mensajes entrantes a un webhook en tu propio dominio. No hace falta nada de Enterprise: ni la app nativa de WhatsApp ni suscripción de Enterprise. También corre sobre Enterprise, pero está hecho para Community.

Una conexión WABA API no necesita Tech Provider: basta tu propia app de desarrollador de Meta, y nada transita por RC Studio.

Conserva el número en el celular. Súmale Odoo.

La vía normal a la Cloud API de WhatsApp te pide renunciar al número: una vez migrado, deja de funcionar en la app WhatsApp Business del celular. Coexistence es la respuesta oficial de Meta, y este módulo la trae a Odoo Community. Escaneas un código QR y, desde ese momento, el mismo número funciona en los dos sitios: tu equipo sigue respondiendo desde el celular y Odoo lo ve todo.

La bandeja de WhatsApp en Odoo Community
La bandeja de WhatsApp en Odoo Community

Qué incluye

  • Coexistence, o una conexión WABA API. Conecta el número de tu app WhatsApp Business por código QR, o una conexión WABA API con tu propia app de Meta. Varios números en una base de datos, cada uno con sus operadores y sus compañías.
  • Una bandeja hecha para responder. Filtros de búsqueda, no leídos, míos y cerrados, selector por número, actualización en vivo, ticks de entrega, multimedia, respuestas citadas, reacciones, asignación, y los mensajes que tu equipo envía desde el celular reflejados en el mismo hilo.
  • Documentos desde cualquier registro. Una acción Enviar por WhatsApp en contactos, cotizaciones, facturas, entregas, oportunidades, tareas, eventos, citas, órdenes de compra y de PdV. La plantilla se rellena con el registro y el informe PDF viaja como cabecera del documento.
  • Plantillas sincronizadas con Meta. Cabecera, cuerpo, pie y botones tal como los define Meta. Cada marcador se asigna a un campo del registro, a un valor fijo, a un valor que se pide al enviar o al enlace del portal. Una biblioteca de ejemplos para las apps que tengas instaladas.
  • Envíos automáticos. Una acción de servidor Enviar plantilla de WhatsApp que disparas desde cualquier regla de automatización.
  • Roles, baja y reintentos. Los operadores solo ven los números que tienen asignados. Un cliente que responde STOP queda en la lista negra. Los envíos fallidos se reintentan, y cada mensaje conserva su estado y su código de error de Meta. Nunca se borra nada.

Un recorrido en cinco pantallas

Varios números en una bandeja, el icono que los distingue, el filtro por número y una plantilla enviada desde una cotización.

Una bandeja para todos tus números: la insignia de cada avatar dice a qué número escribió el cliente
Una bandeja para todos tus números: la insignia de cada avatar dice a qué número escribió el cliente
Filtrada al número de ventas: solo sus conversaciones, con el icono verde
Filtrada al número de ventas: solo sus conversaciones, con el icono verde
Filtrada al número de soporte: los mismos clientes, sus propios hilos, el icono azul
Filtrada al número de soporte: los mismos clientes, sus propios hilos, el icono azul
Cada número de empresa tiene su icono, sus operadores y sus plantillas
Cada número de empresa tiene su icono, sus operadores y sus plantillas
Enviar por WhatsApp desde una cotización, con el PDF adjunto
Enviar por WhatsApp desde una cotización, con el PDF adjunto

Requisitos

RequisitoDetalle
AlojamientoOdoo Community 17.0, 18.0, 19.0 o 20.0, on-premise. No disponible en Odoo Online.
URL pública HTTPSMeta entrega los mensajes entrantes a un webhook en tu dominio.
Conexión con MetaUna de las dos opciones de abajo, no las dos. Cada número usa una; una base de datos puede mezclarlas.
Opción A · CoexistenceUna app de Tech Provider aprobada por Meta para WhatsApp Business App Onboarding: la de RC Studio (clave de licencia), la tuya o la de un tercero. El número debe llevar al menos 7 días activo en la app WhatsApp Business, en una cuenta de empresa, Android 2.24.17+ o iOS 24.17+. Con el servicio de RC Studio no necesitas app de desarrollador propia; sí la necesitas si eres tu propio Tech Provider.
Opción B · Conexión WABA APITu propia app de desarrollador de Meta con el producto WhatsApp, una cuenta de WhatsApp Business y un número registrado en la Cloud API. Sin Tech Provider ni licencia; el número deja de funcionar en la app del celular.
Dependencias Pythonphonenumbers y requests.
Dependencias de OdooSolo Conversaciones, Validación de números de teléfono y Reglas de automatización, todas de Community. No hace falta ningún otro módulo de pago.
Notas de voz (opcional)Nada en el servidor para Chrome, Edge y Firefox: graban en Opus y la bandeja lo empaqueta como el mensaje de voz OGG/Opus que WhatsApp reproduce como nota de voz. Safari no puede grabar Opus, así que los operadores en Safari necesitan ffmpeg instalado en el servidor de Odoo; sin él, el botón del micrófono lo explica. Nada más depende de ffmpeg.

Dos formas de tener permiso para usar Coexistence

WhatsApp Coexistence se activa a través del Embedded Signup de Meta, que solo funciona con una app registrada ante Meta como Tech Provider y aprobada para la función WhatsApp Business App Onboarding. Una app de desarrollador normal no puede hacerlo. Hay dos formas de cumplir ese requisito:

Con una licencia de RC Studio. Compras una clave de licencia, la pegas en Odoo y conectas escaneando un código QR. Nada que registrar en Meta, sin revisión de app, sin listas de dominios. La licencia se factura aparte de este módulo y no está incluida en su compra.

Con tu propia app de Tech Provider, o la de un tercero. Este módulo funciona con cualquiera de ellas. Introduces el App ID, el App Secret y el Login Configuration ID que te da tu proveedor, y la conexión corre por su app de Meta en lugar de la de RC Studio. Esas credenciales las emite ese proveedor, no RC Studio. RC Studio no puede obtenerlas por ti y no se hace responsable si tu proveedor no te las entrega, las revoca, cobra aparte por ellas o no ha sido aprobado por Meta para la función WhatsApp Business App Onboarding. Confirma con tu proveedor que recibirás un App ID, un App Secret y una Login Configuration de coexistence antes de comprar este módulo.

Instalar el módulo

  • Asegúrate de que los paquetes Python phonenumbers y requests están disponibles para Odoo. Ambos forman parte del requirements.txt de Odoo, así que una instalación estándar ya los tiene; Odoo se niega a instalar el módulo si faltan (un módulo de Odoo no puede ejecutar pip por ti). Si hace falta, instálalos en el entorno en que corre Odoo y reinícialo.
  • Descomprime el módulo en tu carpeta de addons y reinicia el servicio de Odoo.
  • Ajustes → Aplicaciones → Actualizar lista de aplicaciones, busca «WhatsApp» e instala WhatsApp Coexistence API.
  • Da a tus usuarios el permiso WhatsApp / Operador o Gerente.

Modo A · Coexistence con licencia de RC Studio (recomendado)

Toda la configuración es: pegar la clave, pulsar Conectar, escanear el QR. Nada que registrar en Meta, sin revisión de app y sin dominios que autorizar, porque el diálogo de Facebook corre en la propia página de RC Studio.

Las tres pantallas que ves de verdad, en modo licencia

Paso 1: la página de Odoo con las instrucciones y el botón
Paso 1: la página de Odoo con las instrucciones y el botón
Paso 2: la ventana de RC Studio
Paso 2: la ventana de RC Studio
Paso 3: el diálogo de Meta
Paso 3: el diálogo de Meta

Meta permite una sola sincronización de contactos y una sola de historial por onboarding. Si fallan, la única forma de repetirlas es desconectar el número y volver a conectarlo con un QR nuevo.

Modo B · Coexistence con tu propia app de Tech Provider

Funciona con tu propia app o con la de cualquier otro proveedor. En ambos casos la app debe estar aprobada por Meta para la función WhatsApp Business App Onboarding, y el App ID, el App Secret y el Login Configuration ID te los entrega ese proveedor. RC Studio no puede obtenerlos y no se hace responsable si el proveedor no los entrega.

  • Elige Coexistence y Tu propia app de Tech Provider de Meta.
  • Rellena App ID, App Secret y Login Configuration ID de tu app.
  • Añade tu dominio de Odoo a la app de Meta, en Dominios de la app y Dominios permitidos para el SDK de JavaScript. Este paso no tiene API y hay que hacerlo a mano por cada dominio.
  • Pulsa Conectar por Coexistence y sigue con el QR.

En el modo B no hay ventana de RC Studio: el diálogo de Facebook se abre directamente desde tu propia página de Odoo, sobre tu propia app.

Modo C · Conexión WABA API

Sin Tech Provider. En tu app de desarrollador de Meta con el producto WhatsApp, copia el App ID, el App Secret, el WhatsApp Business Account ID, el Phone Number ID y un Access Token permanente (un token de usuario del sistema con los permisos de WhatsApp) en el número, elige Conexión WABA API (Cloud API) y pulsa Probar conexión.

Un número con conexión WABA API
Un número con conexión WABA API

Webhook

Cada número tiene su propia Callback URL y su Verify Token en la pestaña Webhook. En modo coexistence, Odoo los registra en Meta como parte de la conexión del número. Con una conexión WABA API, o pulsas Suscribir webhook para que Odoo los registre en la cuenta de WhatsApp Business, o los pegas a mano en la app de Meta en WhatsApp → Configuración → Webhooks y te suscribes a los campos messages y message_template_status_update. Las entregas se comprueban contra la firma de Meta (tu App Secret) o, en modo licencia, contra la URL secreta que solo Meta y tu Odoo conocen.

Plantillas

Pulsa Sincronizar plantillas en un número conectado para importar las plantillas aprobadas en Meta, o Cargar plantillas de ejemplo para obtener borradores para las apps que tengas instaladas (cotización enviada, pedido confirmado, factura disponible, entrega en camino, inscripción a evento, recordatorio de cita, recibo, orden de compra, seguimientos de oportunidad y de tarea). Revisa un borrador, asigna sus marcadores en la pestaña Marcadores y pulsa Enviar a Meta; Odoo se entera del resultado de la revisión por el webhook.

Marcadores de una plantilla asignados a campos
Marcadores de una plantilla asignados a campos

Roles

RolQué ve y qué hace
OperadorLa bandeja, las conversaciones de los números en los que figura (un número sin operadores queda abierto a todos), la acción Enviar por WhatsApp. Plantillas en solo lectura.
GerenteNúmeros y sus credenciales, plantillas, el registro de mensajes, los ajustes y todas las conversaciones.

La bandeja

WhatsApp → Bandeja. Conversaciones a la izquierda, la actividad más reciente primero, con buscador, los filtros Todas / No leídas / Mías / Cerradas y, cuando hay más de un número, un selector. El hilo a la derecha: responde con texto, emoji y adjuntos, cita un mensaje y ve los ticks de entrega.

Sin nada escrito, el botón Enviar se convierte en micrófono: púlsalo para grabar una nota de voz; el cliente la recibe como mensaje de voz, con el icono del micrófono y tu foto de perfil, reproducido desde la burbuja y no como archivo descargable. Lo único que ningún emisor por API puede añadir es la forma de onda, que solo calcula el teléfono que graba. Chrome, Edge y Firefox no necesitan nada instalado; en Safari el servidor debe tener ffmpeg. Las notas de voz que envía el cliente se reproducen en el hilo.

Los mensajes nuevos llegan en vivo; el icono de WhatsApp en la barra superior muestra cuántas conversaciones esperan. Asignarme y Cerrar mantienen la lista limpia; el contacto y los documentos desde los que se escribió al cliente están a un clic.

La bandeja
La bandeja

Una conversación por cliente y número

Todo lo que escribe un cliente y todo lo que le envías, desde la bandeja, desde una cotización o desde una automatización, cae en el mismo hilo de ese número de empresa. El contacto se empareja por número de teléfono; si el cliente escribe a dos de tus números, son dos hilos a propósito, distinguidos por el icono del número. En modo coexistence, las respuestas que tu equipo envía desde el celular aparecen en el hilo marcadas como «desde el celular».

Varios números, una bandeja

Da a cada número de empresa un icono en su formulario. El icono aparece como insignia en cada conversación de ese número, así que un hilo de ventas y uno de soporte con el mismo cliente se distinguen de un vistazo. El selector en la parte superior de la lista muestra todos los números o solo uno, y los operadores solo ven los números en los que figuran.

Bandeja filtrada al número de ventas
Bandeja filtrada al número de ventas
Bandeja filtrada al número de soporte
Bandeja filtrada al número de soporte
Los números de empresa con sus iconos
Los números de empresa con sus iconos

Enviar un documento

En un contacto, una cotización, una factura, una entrega, una oportunidad, una tarea, una inscripción a evento, una cita, una orden de compra o un recibo, abre el menú Acción y elige Enviar por WhatsApp; el mismo atajo está junto a cada campo de teléfono. Elige el número y la plantilla, rellena lo que la plantilla pida, revisa la vista previa y envía. El informe PDF de la plantilla va como documento, y queda una nota en el chatter del registro con enlace a la conversación. Desde una vista de lista, selecciona varios registros y la misma acción envía a todos.

Enviar por WhatsApp desde una cotización
Enviar por WhatsApp desde una cotización

Envíos automáticos

En Ajustes → Técnico → Reglas de automatización, añade una acción de tipo Enviar plantilla de WhatsApp y elige la plantilla. Cada registro que cumpla la regla recibe su mensaje, rellenado con el registro, sin que nadie haga clic.

La ventana de 24 horas y la baja

Veinticuatro horas después del último mensaje del cliente, WhatsApp solo permite plantillas aprobadas. El redactor lo indica y ofrece Enviar una plantilla, que reabre la conversación. Si un cliente responde STOP, UNSUBSCRIBE o BAJA (la lista la cambias en Ajustes), el número pasa a la lista negra y no se le envía nada más hasta que se quite.

Estados y reintentos

WhatsApp → Registro de mensajes conserva cada mensaje con su estado: en cola, enviado, entregado, leído o fallido, con el código de error de Meta cuando lo hay. Los fallos temporales los reintenta un cron cada cinco minutos; los definitivos se pueden reenviar desde la lista. Los mensajes nunca se purgan: el registro y las conversaciones son tu historial.

El registro de mensajes
El registro de mensajes

Preguntas frecuentes

¿Necesito ser Tech Provider de Meta? Solo para coexistence. El Embedded Signup de Meta para la app WhatsApp Business funciona a través de una app de Tech Provider aprobada para WhatsApp Business App Onboarding. O usas la app de RC Studio con una clave de licencia, o te registras tú como Tech Provider, o usas otro proveedor que te entregue el App ID, el App Secret y la Login Configuration. Una conexión WABA API no necesita nada de esto: basta tu propia app de desarrollador de Meta.

¿Funciona en Odoo Online (SaaS) o en Odoo.sh? Odoo Online no acepta módulos de terceros, así que no. Este módulo está pensado para Odoo Community on-premise. Depende solo de módulos de Community, así que también se instala en un proyecto de Odoo.sh; el soporte de Odoo.sh, sin embargo, no forma parte de lo que probamos.

¿El celular sigue funcionando después de conectar? Sí, eso es lo que significa coexistence. El número sigue activo en la app WhatsApp Business; Odoo recibe todo por la Cloud API y también puede enviar. Los mensajes enviados desde el celular se reflejan en Odoo.

¿Dónde viven las conversaciones? ¿Interviene Conversaciones (Discuss)? En los modelos propios de conversación y mensaje del módulo, mostrados en su propia bandeja. Discuss no se usa para los hilos de WhatsApp.

¿Mis datos pasan por RC Studio? No. En las tres modalidades los mensajes viajan directamente entre Meta y tu Odoo. Con una licencia de RC Studio, nuestro servicio interviene únicamente al dar de alta cada número: canjea la autorización de Meta por el token de acceso, se lo entrega a tu Odoo y registra en Meta la dirección de tu Odoo como destino de las entregas. Desde ese momento Meta entrega cada mensaje directamente a tu instancia y el envío sale de tu Odoo a Meta con tu propio token. RC Studio no recibe ni almacena contenido de mensajes; solo conserva una copia cifrada del token y los datos de conexión del número hasta que lo desconectas.

¿Qué cobra Meta por los mensajes? Meta factura por mensaje entregado. Los mensajes de plantilla se cobran a una tarifa que depende de la categoría (marketing, utilidad, autenticación) y del país del cliente. Desde el 1 de octubre de 2026 Meta cobra también las respuestas libres que envías dentro de la ventana de 24 horas (las que tu equipo escribe en la bandeja), a la misma tarifa que los mensajes de utilidad y autenticación en ese país; hasta entonces son gratis. Recibir mensajes sigue siendo gratis. Las tarifas exactas están en la página de precios de Meta. RC Studio no cobra por mensaje.

¿Puedo enviar un PDF? ¿Una ubicación? ¿Una nota de audio? Desde la bandeja, dentro de la ventana de 24 horas: texto, imágenes, vídeos, audio, documentos y respuestas citadas. Desde un registro: una plantilla cuya cabecera de documento sea el informe PDF del registro, o un archivo fijo. Ubicaciones, stickers, reacciones y tarjetas de contacto se reciben y se muestran; las ubicaciones salientes solo son posibles como cabecera de plantilla.

¿Varios números, varias compañías? Sí. Cada número de empresa tiene sus propios operadores y compañías permitidas, sus propias plantillas y sus propias conversaciones. Los operadores solo ven los números en los que figuran.

¿Qué versiones de Odoo se soportan y en qué idiomas está la interfaz? Odoo Community 17.0, 18.0, 19.0 y 20.0; cada versión se compra por separado en la tienda de Odoo. La interfaz viene en inglés, español, portugués, italiano, francés, alemán y árabe.

¿Incluye soporte? Sí, para cualquiera que compre el módulo. Los errores se corrigen sin coste; las funciones nuevas y la configuración del lado de Meta se cotizan aparte.

Soporte

El soporte está incluido para cualquiera que compre el módulo. La instalación, la configuración del lado de Meta y la licencia de Tech Provider de RC Studio se pueden contratar por separado. Usa la página de soporte de este módulo en Odoo Apps para todo lo relacionado con tu compra: nos llega directamente y mantiene el hilo unido a tu licencia.

Tránsito de datos: los mensajes y los archivos viajan directamente entre tu instancia de Odoo y la Cloud API de Meta, con cualquier modalidad de conexión. Con licencia de RC Studio, el servicio de Tech Provider de RC Studio interviene únicamente al dar de alta el número: emite el token de acceso de Meta y registra la dirección de tu Odoo como destino de las entregas. RC Studio no recibe ni almacena contenido de mensajes. Política de privacidad.

WhatsApp es una marca de Meta Platforms, Inc. RC Studio no está afiliado a Meta ni respaldado ni patrocinado por Meta. Este módulo se publica bajo la Odoo Proprietary License v1.0 (OPL-1).

Conecta tu número sin sacarlo del celular

Tu equipo sigue atendiendo desde la app de siempre y cada conversación queda en Odoo.

Planes