Lewati ke konten

WebSocket

messaging-websocket adalah provider messaging berbasis jawaban yang dihasilkan dari build-answer.json. Ini berguna saat client mempertahankan sesi WebSocket live dengan Greentic dan bertukar frame JSON, bukan menggunakan platform chat bernama.

Saat ini mendukung:

  • Validasi koneksi tanpa auth, bearer-token auth, atau query-token auth
  • Memetakan frame teks masuk yang berisi objek JSON menjadi event yang dinormalisasi
  • Membuat frame teks keluar dari payload pesan
  • Menormalisasi event lifecycle untuk open, close, dan error

Frame biner ditunda dalam implementasi provider saat ini.

  1. Tambahkan pack provider

    Pilih messaging-websocket dengan gtc wizard atau tambahkan pack ke bundle dari katalog provider messaging.

  2. Konfigurasikan kebijakan koneksi

    Gunakan jawaban setup yang dihasilkan untuk pack yang terpasang. Konfigurasi umum mencakup metadata tenant/team dan auth opsional.

  3. Jalankan setup

    Terminal window
    gtc setup ./my-bundle
  4. Mulai runtime

    Terminal window
    gtc start ./my-bundle

Frame masuk harus berupa frame teks yang berisi objek JSON. Provider memetakannya menjadi event seperti:

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

Event lifecycle dinormalisasi dengan nilai kind seperti websocket.open, websocket.close, dan websocket.error.

Pesan keluar memerlukan session_id dan payload objek. Pesan tersebut dikonversi menjadi frame teks:

{
"session_id": "session-1",
"opcode": "text",
"data": "{\"message\":\"hello\"}"
}
ArahProtokol dan portTujuan
MasukWSS 443 ke GreenticClient WebSocket browser atau service di produksi
Masuk, pengembangan lokalWS pada port runtime/tester lokalPengujian lokal sebelum terminasi TLS/tunnel
KeluarWS atau WSS ke endpoint yang dikonfigurasi saat digunakan oleh integrasi host/runtimeFrame keluar yang dibuat provider

Gunakan tester lokal:

Terminal window
./scripts/test_ws.sh

Halaman tester memiliki tombol terpisah untuk pemetaan frame masuk, pembuatan frame keluar, dan normalisasi event lifecycle, serta menampilkan status lulus/gagal yang jelas.