GoWeBaKnowledge Center

THE UNIFIED PLATFORM BIBLE — ADDENDUM 09

WebaCom · WebaCall — Guardado de medios y videollamadas — Julio 2026

Versión: 1.0
Fecha: 7 de julio de 2026
Autor: Alain Bessette, CFO/Product Owner, ABI Conglomerate
Dominio: GoWeBa.com
Estado: Addendum estratégico oficial — Especificación vinculante
Restricciones: CERO pérdida de datos · CERO force-reset · CERO interrupción de servicio


⚠️ AVISO CRÍTICO
Este addendum tiene la MISMA autoridad que la Parte 1, la Parte 2 y todos los addendums anteriores.
Todas las funciones descritas están desplegadas en producción y guardadas como checkpoints.
No se realizaron modificaciones de esquema incompatibles.

📋 TABLA DE CONTENIDOS

  1. Resumen
  2. Fase I-5g — Guardar medios en WebaDrive
  3. Fase J — WebaCall con Jitsi Meet
  4. Arquitectura técnica
  5. Archivos principales modificados
  6. Hoja de ruta — Evolución hacia Twilio

<a id="overview"></a>

SECCIÓN 1: RESUMEN

Este addendum documenta dos nuevas funciones principales entregadas el 7 de julio de 2026, fortaleciendo el módulo WebaCom (mensajería de equipo):

FunciónFaseDescripción
Guardado de medios → WebaDriveI-5gTodo contenido compartido en WebaCom (fotos, videos, audio, archivos) se puede guardar en WebaDrive con un clic
WebaCall (Jitsi Meet)JLlamadas de audio y video integradas en las conversaciones (DM + canales) vía Jitsi Meet

Principios de diseño

  • Cero descarga: Guardar en WebaDrive usa copia S3 intra-bucket (sin descarga/re-subida)
  • Determinismo: Las salas Jitsi se generan a partir de un hash SHA-256 del ID de conversación
  • Trilingüe: Todas las interfaces soportan francés, inglés y español
  • Sin cambios de esquema: Ambas funciones usan campos existentes (contentType, metadata Json)

<a id="save-to-drive"></a>

SECCIÓN 2: FASE I-5g — GUARDAR MEDIOS EN WEBADRIVE

2.1 Problema resuelto

Los usuarios comparten regularmente fotos, videos, mensajes de voz y archivos en WebaCom. Antes de esta fase, estos medios quedaban confinados en la conversación sin posibilidad de organizarlos en WebaDrive.

2.2 Solución implementada

Un botón "Guardar" aparece en cada tipo de medio compartido en las conversaciones WebaCom. Con un clic, el archivo se copia en una carpeta del sistema "WebaCom" creada automáticamente en el WebaDrive del usuario.

2.3 Funciones detalladas

2.3.1 API Backend

Ruta: POST /api/webacom/media/save-to-drive

  • Autenticación requerida
  • Creación automática de la carpeta del sistema "WebaCom"
  • Copia S3 intra-bucket — sin transferencia de red
  • Detección de duplicados
  • Creación de registro FileAsset con trazabilidad

2.3.2 Interfaz de usuario

El botón de guardar aparece en cuatro tipos de contenido:

Tipo de contenidoPosición del botón
ImágenesBotón pill debajo del nombre de archivo
ArchivosBotón pill debajo del nombre de archivo
VideosBotón pill junto a "Transcribir"
AudioBotón pill junto a "Transcribir"

3 estados visuales: Guardar → Guardando... → Guardado ✓


<a id="webacall"></a>

SECCIÓN 3: FASE J — WEBACALL CON JITSI MEET

3.1 Problema resuelto

Los miembros de una organización se comunican vía WebaCom pero no tenían forma integrada de iniciar una llamada de voz o video directamente desde una conversación.

3.2 Solución implementada

WebaCall integra Jitsi Meet directamente en WebaCom. Dos botones de llamada (audio + video) aparecen en el encabezado de cada conversación.

3.3 Funciones detalladas

3.3.1 Botones de llamada

BotónIconoAcción
Llamada de audioPhone (azul)Inicia una llamada de audio Jitsi
VideollamadaVideo (verde)Inicia una videollamada Jitsi
  • Disponible en DM (1-a-1) y Canales (grupo)
  • Soporte inter-organizaciones
  • Abre Jitsi Meet en una nueva pestaña

3.3.2 API Backend

Ruta: POST /api/webacom/conversations/[id]/call

  • Nombre de sala determinístico: SHA-256(conversationId)"GoWeBa-{hash12}"
  • Crea mensaje con contentType = 'call' y metadatos completos
  • URL: https://meet.jit.si/GoWeBa-{hash12}

3.3.3 Tarjeta de llamada en mensajes

  • Icono circular (verde para video / azul para audio)
  • Título + "Iniciado por [nombre]"
  • Botón "Unirse" con enlace a Jitsi

3.3.4 Capacidades de Jitsi Meet

FunciónSoportado
Llamadas 1-a-1
Llamadas grupales
Compartir pantalla
Cifrado
Grabación❌ (viene con Twilio)
Transcripción❌ (viene con Twilio)

<a id="architecture"></a>

SECCIÓN 4: ARQUITECTURA TÉCNICA

  • Sin cambios de esquema — Usa contentType String y metadata Json existentes
  • Todas las APIs requieren autenticación
  • Soporte de conversaciones inter-organizaciones

<a id="files"></a>

SECCIÓN 5: ARCHIVOS PRINCIPALES MODIFICADOS

ArchivoAcciónDescripción
lib/storage.tsModificadocopyObjectInS3(), headObject()
app/api/webacom/media/save-to-drive/route.tsNuevoAPI guardar en WebaDrive
app/api/webacom/conversations/[id]/call/route.tsNuevoAPI iniciar llamada Jitsi
app/(app)/webacom/webacom-client.tsxModificadoBotones guardar + botones llamada + tarjeta llamada

<a id="roadmap"></a>

SECCIÓN 6: HOJA DE RUTA — EVOLUCIÓN HACIA TWILIO

WebaCall usa actualmente Jitsi Meet (servidores públicos gratuitos). La evolución hacia Twilio añadirá:

  • Grabación de llamadas → WebaDrive
  • Transcripción automática (reutiliza pipeline I-5a)
  • Traducción automática
  • Historial completo de llamadas
  • Números de teléfono PSTN

GoWeBa ya usa Twilio para telefonía/SMS y SendGrid para emails.


📝 HISTORIAL DE VERSIONES

VersiónFechaCambios
1.07 de julio de 2026Versión inicial — Fase I-5g + Fase J

Fin del Addendum 09 — WebaCom · WebaCall — Julio 2026

© 2024–2026 GOWEBA INC. — Make it Simple, Make it Possible, Make it Real.