OmniStream Docs
  • Panduan Pengguna
  • Developer
  • API Reference
Pengenalan
Memulai
Agent
Supervisor
Admin
Integrasi
FAQ
Panduan Pengguna

FAQ

FAQ — Pertanyaan yang Sering Diajukan

Daftar pertanyaan umum yang sering ditanyakan oleh pengguna baru dan tim integrasi. Jika pertanyaan Anda tidak terjawab di sini, buka halaman panduan yang relevan atau konsultasikan dengan admin workspace Anda.

Umum

Apa itu OmniStream?

Platform CRM omnichannel self-hosted yang menyatukan WhatsApp, Instagram, dan Email ke satu inbox dengan real-time messaging, manajemen agent, dan analitik. Selengkapnya di Apa itu OmniStream.

Apakah OmniStream berbayar?

OmniStream di-release dengan lisensi open-source. Tidak ada biaya lisensi. Namun Anda tetap perlu membayar:

  • Biaya Meta WhatsApp Cloud API per conversation (sesuai tarif Meta).
  • Biaya VPS/server untuk menjalankan stack.
  • Biaya SMTP provider (jika menggunakan SendGrid/Mailgun).

Apakah datanya aman?

Ya — semua data (kontak, percakapan, pesan) tersimpan di database yang Anda kendalikan sendiri. Tidak ada data yang dikirim ke control-plane SaaS. Pastikan Anda:

  • Mengaktifkan HTTPS (Let's Encrypt) untuk semua endpoint publik.
  • Mengganti JWT_SECRET dan password default.
  • Memasang firewall yang membatasi akses ke port backend (API Gateway 3000, Webhook Ingestor 3001, WS Server 3002). Hanya API Gateway dan Webhook Ingestor yang perlu terekspos ke internet publik; WS Server cukup di jaringan internal/reverse proxy.
  • Melakukan backup berkala PostgreSQL dan MongoDB.

Autentikasi & Akses

Saya lupa password. Bagaimana cara reset?

Minta admin workspace Anda untuk mereset password lewat /user-management. Di v1 tidak ada self-service password reset via email — fitur ini direncanakan untuk v1.1.

Berapa lama token JWT berlaku?

Default 24 jam sejak login. Setelah kedaluwarsa, Anda akan diminta login ulang. Waktu kedaluwarsa dapat diubah via environment variable JWT_EXPIRY_HOURS di api-gateway.

Bisakah saya login di dua perangkat sekaligus?

Ya — JWT adalah stateless, jadi Anda dapat login di browser desktop dan mobile secara bersamaan. Kedua sesi akan menerima event WebSocket secara independen.

Mengapa saya tidak bisa melihat halaman Dashboard?

Halaman Dashboard hanya tersedia untuk peran Supervisor dan Admin. Agent reguler tidak memiliki akses. Lihat Peran pengguna untuk matriks akses lengkap.

Channel

Channel apa saja yang didukung?

Di v1: WhatsApp (via Meta Cloud API), Instagram DM (via Meta Messaging API), dan Email (via SMTP + inbound webhook).

Apakah Facebook Messenger didukung?

Integrasi Messenger sedang dikembangkan (commit ad0b868 di branch feat/whatsapp-embedded-signup), tetapi belum didokumentasikan secara resmi di v1. Akan dirilis di v1.1. Lihat SCOPE.md.

Apakah Telegram/Line/WeChat didukung?

Tidak di v1. OmniStream didesain untuk mudah menambahkan channel baru (tambahkan route webhook baru di webhook-ingestor, parser pesan di chat-engine, dan handler outbound di message-sender), tetapi belum ada rencana konkret untuk Telegram/Line/WeChat.

Kenapa pesan WhatsApp keluar saya gagal dengan error "message window closed"?

Meta membatasi pesan bebas hanya dalam 24 jam setelah pesan terakhir pelanggan. Setelah window tertutup, Anda harus menggunakan template WhatsApp yang disetujui. Lihat WA Templates.

Berapa batas ukuran media per channel?

ChannelGambarDokumenVideoAudio
WhatsApp5 MB100 MB16 MB16 MB
Instagram8 MB—25 MB—
Email10 MB per file (maks total 25 MB per pesan)samasamasama

Detail di Mengirim media.

SLA & Kinerja

Bagaimana SLA dihitung?

SLA mengukur dua metrik:

  1. First Response Time (FRT) — waktu dari pesan inbound pertama hingga agent membalas.
  2. Resolution Time — waktu dari percakapan dibuka hingga status resolved.

Kebijakan dapat dibuat per channel dan/atau per divisi. Pencocokan kebijakan mengikuti prioritas channel+division > division-only > channel-only > default. Detail di Kebijakan SLA.

Apa yang terjadi saat SLA dilanggar?

Scheduler di api-gateway mengecek antrean setiap 30 detik. Saat sebuah percakapan melampaui threshold FRT atau resolusi, sistem:

  1. Mencatat breach di tabel sla_breach_logs.
  2. Mem-publish event ke channel Redis sla_breaches.
  3. WebSocket meneruskan event ke supervisor via notifikasi real-time.

Supervisor dapat melihat daftar breach di Pemantauan SLA.

Ada rate limit?

Ya — 60 request per menit per IP (tower_governor). Jika Anda melampaui limit, API akan mengembalikan HTTP 429 Too Many Requests. Untuk integrasi yang membutuhkan throughput lebih tinggi, hubungi admin Anda untuk tuning konfigurasi rate limiter.

Integrasi developer

Bagaimana cara akses REST API?

Gunakan API Reference di bagian Developer & API → API Reference. Setiap endpoint memiliki tombol Try it untuk menguji langsung dari browser. Authentication via Authorization: Bearer <JWT> header. Lihat Quickstart developer.

Apa yang dikirim ke outgoing webhook saya?

OmniStream mem-publish 6 jenis event:

  • message.received
  • message.sent
  • message.status
  • conversation.created
  • conversation.resolved
  • conversation.assigned

Setiap payload disign dengan HMAC-SHA256 di header X-Omnistream-Signature. Detail di Outgoing webhook.

Bagaimana cara subscribe ke WebSocket?

TerminalCode
wscat -c "ws://localhost:3002/ws?token=<JWT>"

Server akan mengirimkan event real-time untuk percakapan yang relevan dengan peran Anda. Lihat WebSocket koneksi.

Troubleshoot

Pesan masuk tidak muncul di inbox

  1. Cek apakah webhook-ingestor menerima webhook:
    TerminalCode
    docker compose logs -f webhook-ingestor
  2. Cek apakah message masuk ke Kafka (satu topik untuk semua saluran, filter lewat field channel pada payload):
    TerminalCode
    docker compose exec redpanda rpk topic consume channel.inbound.raw
  3. Cek apakah chat-engine memproses (satu binary menangani semua channel):
    TerminalCode
    docker compose logs -f chat-engine
  4. Cek apakah Redis menerima event:
    TerminalCode
    docker compose exec redis redis-cli SUBSCRIBE conversation_updates

Pesan keluar stuck di status pending

Berarti message-sender tidak memproses job. Cek logsnya:

TerminalCode
docker compose logs -f message-sender

Penyebab umum:

  • Kredensial Meta salah atau kedaluwarsa.
  • Network error ke Meta Graph API.
  • Messaging window tertutup (lihat pertanyaan di atas).

Frontend tidak bisa konek ke backend

  • Pastikan backend berjalan: docker compose ps.
  • Cek .env di frontend dan pastikan VITE_API_URL menunjuk ke http://localhost:3000.
  • Cek browser console untuk error CORS. Di development backend menggunakan CorsLayer::permissive() — jika masih gagal, error bisa dari service worker yang cached.

Migrasi database gagal saat container api-gateway start

Migrasi dijalankan otomatis oleh omni-common via sqlx::migrate!. Jika gagal:

  1. Cek logs: docker compose logs api-gateway.
  2. Pastikan DATABASE_URL bisa diakses dari container.
  3. Pastikan user PostgreSQL punya privilege CREATE.
  4. Jangan menghapus folder migrations/ — ini adalah source of truth.

Lainnya

Di mana saya bisa melapor bug atau meminta fitur?

Buat issue di repository GitHub OmniStream, atau hubungi maintainer workspace Anda. Untuk bug keamanan, JANGAN buat issue publik — hubungi langsung via email privat.

Apakah OmniStream mendukung multi-tenant/multi-workspace?

Saat ini belum. Plan multi-tenant ada di .omc/plans/2026-03-25-saas-multi-tenancy.md tetapi di luar scope v1.

Bagaimana cara backup data saya?

Lakukan pg_dump untuk PostgreSQL dan mongodump untuk MongoDB secara berkala (minimal harian). Juga backup folder media di MinIO. Runbook lengkap di Self-hosting.


Tidak menemukan jawaban? Cek navigasi Panduan Pengguna di sidebar, atau buka bagian Developer & API untuk detail teknis.

Last modified on June 8, 2026
WhatsApp Templates
On this page
  • Umum
    • Apa itu OmniStream?
    • Apakah OmniStream berbayar?
    • Apakah datanya aman?
  • Autentikasi & Akses
    • Saya lupa password. Bagaimana cara reset?
    • Berapa lama token JWT berlaku?
    • Bisakah saya login di dua perangkat sekaligus?
    • Mengapa saya tidak bisa melihat halaman Dashboard?
  • Channel
    • Channel apa saja yang didukung?
    • Apakah Facebook Messenger didukung?
    • Apakah Telegram/Line/WeChat didukung?
    • Kenapa pesan WhatsApp keluar saya gagal dengan error "message window closed"?
    • Berapa batas ukuran media per channel?
  • SLA & Kinerja
    • Bagaimana SLA dihitung?
    • Apa yang terjadi saat SLA dilanggar?
    • Ada rate limit?
  • Integrasi developer
    • Bagaimana cara akses REST API?
    • Apa yang dikirim ke outgoing webhook saya?
    • Bagaimana cara subscribe ke WebSocket?
  • Troubleshoot
    • Pesan masuk tidak muncul di inbox
    • Pesan keluar stuck di status pending
    • Frontend tidak bisa konek ke backend
    • Migrasi database gagal saat container api-gateway start
  • Lainnya
    • Di mana saya bisa melapor bug atau meminta fitur?
    • Apakah OmniStream mendukung multi-tenant/multi-workspace?
    • Bagaimana cara backup data saya?