OmniStream Docs
  • Panduan Pengguna
  • Developer
  • API Reference
Pengenalan
Memulai
Agent
    Inbox AgentMembuka PercakapanMengirim Pesan TeksMengirim MediaQuick RepliesCatatan InternalTransfer PercakapanManajemen Kontak
Supervisor
Admin
Integrasi
FAQ
Agent

Mengirim Pesan Teks

Mengirim Pesan Teks

Halaman ini membahas cara mengirim balasan teks dari kotak input di panel chat. Alur pengiriman sama untuk ketiga channel (WhatsApp, Instagram DM, dan Email), tetapi ada perbedaan kecil yang perlu Anda perhatikan — terutama soal messaging window dan format yang didukung.

Rute frontend: /inbox (kotak input di bawah panel chat)

Kotak input pesan

Ringkasan

Kotak input pesan menampilkan textarea multi-baris di bagian bawah panel chat. Di kiri textarea terdapat tombol untuk:

  • Paperclip — lampirkan media (lihat Mengirim media)
  • Zap — buka daftar quick reply (lihat Quick replies)
  • Smile — buka picker emoji
  • Clock — jadwalkan pesan untuk dikirim di waktu tertentu
  • LayoutTemplate — kirim template WhatsApp (jika channel = WhatsApp)

Di kanan terdapat tombol Send yang akan aktif setelah Anda mengetik sesuatu atau melampirkan media.

Langkah-langkah mengirim pesan

  1. Buka percakapan dari inbox (lihat Membuka percakapan).
  2. Klik kotak input di bagian bawah.
  3. Ketik isi balasan. Tekan Shift + Enter untuk baris baru, Enter untuk mengirim.
  4. (Opsional) Klik ikon Smile untuk menambahkan emoji.
  5. Klik tombol Send (atau tekan Enter) untuk mengirim.

Backend akan memanggil POST /api/conversations/{id}/messages dengan body:

Code
{ "type": "text", "text": "Halo, ada yang bisa dibantu?" }

Alur internal

Pesan tidak langsung dikirim ke Meta/SMTP. Secara internal:

  1. api-gateway menerima permintaan, memvalidasi JWT agent, lalu menyimpan pesan ke MongoDB dengan status pending.
  2. api-gateway menulis job ke satu topik Kafka channel.outbound.job dengan payload OutboundMessageJob { channel: "whatsapp" | "messenger" | "instagram" | "email", ... }.
  3. message-sender (satu binary) mengonsumsi channel.outbound.job, membaca field channel pada job, lalu memanggil Meta Graph API atau SMTP via modul per saluran (whatsapp.rs / messenger.rs / instagram.rs / email.rs).
  4. Setelah sukses, status pesan diubah ke sent, kemudian delivered dan read melalui webhook status dari Meta.
  5. Setiap perubahan status disiarkan ke browser melalui channel Redis pub/sub conversation_updates dan WebSocket.

Agent tidak perlu me-refresh; status akan memperbarui diri sendiri di bubble pesan.

Format yang didukung per channel

FiturWhatsAppInstagram DMEmail
Teks biasaYaYaYa
EmojiYaYaYa
Pemformatan *bold* / _italic_ / ~strike~Ya (WhatsApp markdown)TidakTidak (gunakan HTML)
Baris baruYaYaYa
Link previewOtomatisOtomatisBergantung klien email
Panjang maksimum~4096 karakter~1000 karakterTidak ada batas praktis

Untuk email, Anda juga dapat mengirim HTML dengan menyertakan field html di body permintaan. Frontend v1 tetap menggunakan plain text untuk kesederhanaan.

Messaging window (WhatsApp dan Instagram)

Meta mewajibkan 24-hour messaging window: Anda hanya dapat mengirim pesan teks bebas jika pelanggan mengirim pesan dalam 24 jam terakhir. Setelah window tertutup:

  • Kotak input teks akan dinonaktifkan.
  • Tombol Template tetap aktif — Anda dapat memilih template yang sudah disetujui (lihat WA Templates).

Sistem OmniStream menampilkan sisa waktu window di header percakapan dalam bentuk badge 2h 15m left sehingga Anda dapat memprioritaskan respons yang akan segera kedaluwarsa.

Menjadwalkan pesan

Klik ikon Clock di kiri textarea untuk membuka form penjadwalan:

  1. Pilih tanggal dan jam kirim.
  2. Ketik isi pesan.
  3. Klik Schedule.

Frontend akan memanggil POST /api/scheduled-messages dengan body yang berisi conversation_id, send_at, dan body. Scheduler di api-gateway akan memeriksa antrean tiap 30 detik dan memindahkannya ke topik channel.outbound.* bila waktu kirim tiba.

Catatan: Pesan terjadwal tetap tunduk pada messaging window. Jika window tertutup saat waktu kirim tiba, pesan akan gagal dan Anda akan melihat status failed.

Langkah kerja khas

  1. Buka percakapan dari inbox.
  2. Ketik balasan singkat dan jelas.
  3. (Opsional) Gunakan quick reply /salam atau /terimakasih untuk balasan standar.
  4. Klik Send.
  5. Pantau status pesan di bubble — sent → delivered → read.

Baca selanjutnya: Mengirim media.

Last modified on June 8, 2026
Membuka PercakapanMengirim Media
On this page
  • Ringkasan
  • Langkah-langkah mengirim pesan
  • Alur internal
  • Format yang didukung per channel
  • Messaging window (WhatsApp dan Instagram)
  • Menjadwalkan pesan
  • Langkah kerja khas
JSON