Ir al contenido

WebSocket

messaging-websocket es un proveedor de mensajería controlado por respuestas y generado desde build-answer.json. Es útil cuando los clientes mantienen una sesión WebSocket activa con Greentic e intercambian frames JSON en lugar de usar una plataforma de chat con nombre.

Actualmente admite:

  • Validación de conexión sin autenticación, con token bearer o con token en la query
  • Mapear frames de texto entrantes con objetos JSON a eventos normalizados
  • Construir frames de texto salientes a partir de payloads de mensaje
  • Normalizar eventos de ciclo de vida para open, close y error

Los frames binarios quedan diferidos en la implementación actual del proveedor.

  1. Agrega el pack del proveedor

    Selecciona messaging-websocket con gtc wizard o agrega el pack al bundle desde el catálogo de proveedores de mensajería.

  2. Configura la política de conexión

    Usa las respuestas de configuración generadas para tu pack instalado. La configuración típica incluye metadatos de tenant/team y autenticación opcional.

  3. Ejecuta setup

    Ventana de terminal
    gtc setup ./my-bundle
  4. Inicia el runtime

    Ventana de terminal
    gtc start ./my-bundle

Los frames entrantes deben ser frames de texto que contengan un objeto JSON. El proveedor los mapea a eventos con esta forma:

{
"provider": "messaging-websocket",
"direction": "inbound",
"kind": "websocket.frame",
"session_id": "session-1",
"payload": {
"message": "hello"
},
"metadata": {
"tenant_id": "demo",
"team_id": "default"
}
}

Los eventos de ciclo de vida se normalizan con valores de kind como websocket.open, websocket.close y websocket.error.

Los mensajes salientes requieren un session_id y un payload de objeto. Se convierten en frames de texto:

{
"session_id": "session-1",
"opcode": "text",
"data": "{\"message\":\"hello\"}"
}
DirecciónProtocolo y puertoPropósito
EntranteWSS 443 hacia GreenticClientes WebSocket de navegador o servicio en producción
Entrante, desarrollo localWS en el puerto local del runtime/testerPruebas locales antes de la terminación TLS/túnel
SalienteWS o WSS hacia endpoints configurados cuando lo usa la integración host/runtimeFrames salientes construidos por el proveedor

Usa el tester local:

Ventana de terminal
./scripts/test_ws.sh

La página de pruebas tiene botones separados para mapeo de frames entrantes, generación de frames salientes y normalización de eventos de ciclo de vida, y muestra un estado claro de aprobado/error.