Cara Mengatasi Device WhatsApp yang Sering Terputus

Device WhatsApp yang sering terputus dapat menghentikan proses pengiriman dan penerimaan pesan melalui API. Kondisi ini berbeda dengan logout karena session device masih dapat tetap tersedia dan koneksi bisa kembali tanpa pairing ulang.

Masalah biasanya terlihat ketika status device berubah berulang kali dari CONNECTED menjadi DISCONNECTED, kemudian kembali terhubung beberapa saat kemudian.

Cara Mengatasi Device WhatsApp yang Sering Terputus

Bedakan Device Terputus dan Logout

Sebelum memperbaiki masalah, pastikan kondisi yang terjadi memang disconnect.

Contoh device terputus:

CONNECTED
↓
DISCONNECTED
↓
CONNECTED
`

Pada kondisi ini, session masih dapat digunakan dan device dapat terhubung kembali.

Sedangkan logout biasanya memiliki alur:

CONNECTED
↓
LOGGED OUT
↓
Pairing ulang
↓
CONNECTED

Jika device hanya sering terputus, jangan langsung melakukan scan QR berulang kali.

Fokus pemeriksaan sebaiknya diarahkan ke koneksi server, proses aplikasi, session, jaringan, dan konfigurasi device.

1. Periksa Status Device

Langkah pertama adalah melihat status device ketika koneksi terputus.

Whapi menyediakan status device melalui API sehingga aplikasi dapat memeriksa kondisi koneksi tanpa hanya mengandalkan kegagalan request pengiriman.

Catat perubahan status seperti:

CONNECTED
DISCONNECTED
CONNECTED
DISCONNECTED

Jika perubahan terjadi berulang, simpan waktu setiap event.

Contoh:

10:00:01 CONNECTED
10:15:22 DISCONNECTED
10:15:27 CONNECTED
10:48:10 DISCONNECTED
10:48:15 CONNECTED

Dari data tersebut dapat diketahui apakah disconnect terjadi sesekali atau terus berulang dalam interval tertentu.

2. Periksa Koneksi Internet Server

Server membutuhkan koneksi internet yang stabil untuk mempertahankan komunikasi dengan layanan WhatsApp.

Periksa koneksi dasar server:

ping 1.1.1.1

Kemudian periksa DNS:

nslookup google.com

Jika koneksi mengalami packet loss, latency tinggi, atau DNS bermasalah, koneksi device dapat ikut terganggu.

Masalah jaringan dapat berasal dari:

  • koneksi provider server,
  • firewall,
  • routing,
  • DNS,
  • proxy,
  • atau aturan outbound connection.

Jangan hanya memastikan server masih dapat membuka website. Periksa kestabilan koneksi selama device aktif.

3. Periksa Penggunaan RAM

RAM yang hampir penuh dapat membuat proses WhatsApp API tidak stabil.

Periksa penggunaan RAM:

free -h

Untuk melihat proses yang menggunakan banyak memory:

top

atau:

htop

Perhatikan apakah penggunaan RAM meningkat terus:

RAM 70%
↓
RAM 80%
↓
RAM 90%
↓
RAM 100%
↓
Process berhenti
↓
Device disconnected

Jika pola tersebut terjadi, masalah koneksi kemungkinan merupakan efek dari proses aplikasi yang dihentikan oleh sistem.

Periksa juga jumlah device aktif karena semakin banyak device yang berjalan pada server, semakin besar kebutuhan resource.

4. Pastikan Process API Tetap Berjalan

Jika process API berhenti sesaat, koneksi device juga dapat terputus.

Pada server Linux, periksa service:

systemctl status nama-service

Jika menggunakan PM2:

pm2 status

Kemudian lihat log:

pm2 logs

Cari pesan seperti:

process exited
uncaught exception
out of memory
connection closed
restart

Jika process restart setiap beberapa menit, perbaiki penyebab restart terlebih dahulu.

Restart otomatis memang dapat membuat service kembali aktif, tetapi tidak menyelesaikan masalah jika process terus crash.

5. Periksa Apakah Server Sering Restart

Server restart dapat memutus seluruh device yang sedang aktif.

Contohnya:

Server aktif
↓
10 device CONNECTED
↓
Server restart
↓
Semua device DISCONNECTED
↓
Service aktif kembali
↓
Device reconnect

Jika semua device terputus pada waktu yang sama, periksa aktivitas server.

Cari:

  • reboot,
  • kernel error,
  • maintenance,
  • perubahan konfigurasi,
  • deploy,
  • restart Docker,
  • atau restart service.

Jika hanya satu device yang terputus sedangkan device lain tetap normal, kemungkinan masalah tidak berada pada server secara keseluruhan.

6. Periksa Session Device

Session yang tidak tersimpan dengan baik dapat membuat proses reconnect bermasalah.

Pastikan data session tidak hilang ketika:

  • aplikasi restart,
  • server reboot,
  • container restart,
  • deploy,
  • atau process manager menjalankan ulang aplikasi.

Struktur sederhana:

Application
    ↓
Session Storage
    ↓
Device

Session sebaiknya menggunakan storage yang tetap tersedia setelah proses aplikasi berhenti.

Jika session hanya berada di memory, restart process dapat menyebabkan aplikasi kehilangan informasi yang dibutuhkan untuk mempertahankan koneksi.

7. Periksa Docker Volume

Jika aplikasi dijalankan menggunakan Docker, pastikan session menggunakan volume persisten.

Tanpa volume:

Container
↓
Session tersimpan di container
↓
Container dihapus
↓
Session hilang

Dengan volume:

Container
↓
Session
↓
Persistent Volume
↓
Container restart
↓
Session tetap tersedia

Contoh konfigurasi konsep:

volumes:
  - whatsapp_sessions:/app/sessions

Lokasi /app/sessions harus disesuaikan dengan direktori session aplikasi.

8. Periksa Proxy

Jika device menggunakan proxy, periksa kestabilan proxy.

Periksa:

  • host,
  • port,
  • username,
  • password,
  • latency,
  • timeout,
  • dan koneksi proxy.

Jika hanya device yang menggunakan proxy tertentu yang sering disconnect, bandingkan dengan device lain.

Contoh:

Device 01 → Proxy A → sering disconnect
Device 02 → Proxy B → normal
Device 03 → Proxy C → normal

Pola tersebut menunjukkan bahwa Proxy A layak diperiksa lebih lanjut.

Jangan mengganti semua konfigurasi proxy sekaligus karena perubahan tersebut dapat menyulitkan pencarian sumber masalah.

9. Periksa Firewall dan Outbound Connection

Firewall server dapat memengaruhi koneksi keluar.

Periksa apakah terdapat aturan yang:

  • memblokir koneksi tertentu,
  • memutus koneksi idle,
  • membatasi port,
  • atau membatasi traffic keluar.

Jika menggunakan cloud server, periksa juga firewall pada panel provider.

Pastikan perubahan firewall tidak dilakukan tanpa mencatat konfigurasi sebelumnya.

10. Periksa Timeout

Timeout yang terlalu pendek dapat menyebabkan aplikasi menganggap koneksi gagal sebelum proses selesai.

Misalnya aplikasi memiliki timeout:

5 detik

sementara koneksi membutuhkan waktu lebih lama.

Aplikasi kemudian menganggap:

Request timeout
↓
Connection dianggap gagal

Gunakan timeout yang sesuai dengan karakteristik server dan jaringan.

Namun jangan menaikkan timeout secara berlebihan tanpa mengetahui penyebab keterlambatan.

Timeout yang terlalu panjang juga dapat membuat koneksi bermasalah sulit terdeteksi.

11. Periksa Log Saat Disconnect Terjadi

Log harus diperiksa beberapa saat sebelum dan sesudah device terputus.

Contoh:

14:20:01 Device CONNECTED
14:25:10 Message sent
14:25:12 Network warning
14:25:15 Connection closed
14:25:16 Device DISCONNECTED
14:25:22 Device CONNECTED

Dari urutan tersebut, pemeriksaan dapat diarahkan ke network warning.

Jika log menunjukkan:

14:25:10 Process restart
14:25:11 Device DISCONNECTED
14:25:20 Device CONNECTED

maka pemeriksaan lebih tepat diarahkan ke process aplikasi.

Jangan hanya mengambil log:

Device DISCONNECTED

Cari event yang muncul tepat sebelum disconnect.

12. Pantau Status Device melalui Webhook

Webhook dapat digunakan untuk mencatat perubahan status secara otomatis.

Contoh receiver:

app.post('/webhook/whapi', (req, res) => {
    const payload = req.body;

    console.log('Webhook event:', payload);

    // Simpan event status device

    res.sendStatus(200);
});

Simpan data seperti:

device_id
event
status
timestamp

Contoh riwayat:

device-001
17:00 CONNECTED
17:32 DISCONNECTED
17:33 CONNECTED
18:10 DISCONNECTED
18:11 CONNECTED

Riwayat tersebut dapat digunakan untuk menghitung frekuensi disconnect.

13. Cari Pola Disconnect

Device yang terputus sekali belum tentu mengalami masalah serius.

Masalah lebih jelas jika terdapat pola:

Setiap 10 menit
↓
DISCONNECTED
↓
5 detik kemudian
↓
CONNECTED

Atau:

Setiap server restart
↓
Semua device disconnect

Atau:

Device tertentu
↓
Disconnect lebih sering
↓
Device lain normal

Setiap pola membutuhkan pemeriksaan yang berbeda.

Karena itu, monitoring status lebih berguna daripada hanya melihat kondisi device saat ini.

14. Bandingkan Beberapa Device

Jika server menjalankan beberapa device, gunakan device lain sebagai pembanding.

Contoh:

Device Kondisi
Device 01 Sering disconnect
Device 02 Normal
Device 03 Normal
Device 04 Normal

Jika hanya Device 01 yang bermasalah, periksa konfigurasi device tersebut.

Sebaliknya:

Device Kondisi
Device 01 Disconnect
Device 02 Disconnect
Device 03 Disconnect
Device 04 Disconnect

Jika semuanya terputus pada waktu yang sama, periksa server atau koneksi global.

15. Jangan Langsung Scan QR

Scan QR digunakan untuk menghubungkan device, bukan untuk memperbaiki koneksi server yang tidak stabil.

Jika device hanya mengalami:

CONNECTED
↓
DISCONNECTED
↓
CONNECTED

maka scan QR tidak diperlukan.

Scan QR berulang kali justru dapat membuat troubleshooting lebih sulit karena kondisi session berubah selama pemeriksaan.

Gunakan pairing ulang hanya ketika device memang membutuhkan proses pairing kembali.

16. Periksa Deployment

Jika device mulai sering disconnect setelah deployment, bandingkan konfigurasi sebelum dan sesudah deployment.

Periksa:

Environment variable
Session storage
Docker volume
Proxy
Firewall
Dependency
Process manager

Contoh:

Sebelum deploy → device stabil
↓
Deploy versi baru
↓
Device sering disconnect

Versi baru perlu diperiksa sebelum melakukan perubahan lain pada server.

17. Pastikan Service Tidak Kehabisan Resource

Selain RAM, periksa resource lain seperti:

  • CPU,
  • disk,
  • network,
  • file descriptor,
  • dan jumlah process.

CPU yang terlalu tinggi:

CPU 100%
↓
Process lambat
↓
Connection timeout
↓
Device disconnected

Disk yang penuh juga dapat menyebabkan aplikasi gagal menulis log, database, atau session.

Periksa:

df -h

Jika disk hampir penuh, bersihkan data yang tidak diperlukan sesuai kebijakan penyimpanan aplikasi.

18. Buat Monitoring Sederhana

Untuk sistem dengan banyak device, buat tabel monitoring:

Device Status Last Connected Last Disconnect Frekuensi
device-001 CONNECTED 17:50 17:20 2
device-002 CONNECTED 17:51 15:10 1
device-003 DISCONNECTED 16:30 17:45 5

Data tersebut membantu menemukan device yang paling sering bermasalah.

Monitoring juga dapat digunakan untuk membuat notifikasi ketika:

Device disconnect
↓
Tidak reconnect dalam X menit
↓
Kirim alert

Dengan begitu, masalah dapat diketahui sebelum pengiriman pesan bisnis terganggu terlalu lama.

19. Urutan Troubleshooting yang Disarankan

Gunakan urutan berikut agar pemeriksaan tidak melebar:

1. Cek status device
        ↓
2. Cek waktu disconnect
        ↓
3. Bandingkan dengan device lain
        ↓
4. Cek process aplikasi
        ↓
5. Cek RAM dan CPU
        ↓
6. Cek restart server
        ↓
7. Cek session storage
        ↓
8. Cek jaringan
        ↓
9. Cek proxy
        ↓
10. Cek firewall
        ↓
11. Cek log
        ↓
12. Pantau reconnect

Jika disconnect hanya terjadi pada satu device, mulai dari konfigurasi device.

Jika semua device terputus bersamaan, mulai dari server, network, atau service.

20. Checklist Device WhatsApp Sering Terputus

Gunakan checklist berikut sebagai panduan penanganan masalah (troubleshooting step-by-step) ketika koneksi nomor WhatsApp API/bot sering terputus atau disconnect secara tiba-tiba dari server.

  • [ ] Status device sudah diperiksa
  • [ ] Disconnect dibedakan dari logout
  • [ ] Waktu disconnect dicatat
  • [ ] Device lain digunakan sebagai pembanding
  • [ ] Server tidak sering restart
  • [ ] Process API tidak sering crash
  • [ ] RAM mencukupi
  • [ ] CPU tidak terus-menerus penuh
  • [ ] Disk tidak penuh
  • [ ] Session tersimpan secara persisten
  • [ ] Docker volume sudah benar jika digunakan
  • [ ] Koneksi internet stabil
  • [ ] Proxy stabil jika digunakan
  • [ ] Firewall tidak memutus koneksi
  • [ ] Timeout sudah sesuai
  • [ ] Log sebelum disconnect sudah diperiksa
  • [ ] Status device dipantau melalui webhook
  • [ ] Pairing ulang tidak dilakukan tanpa pemeriksaan

Kesimpulan

Cara mengatasi device WhatsApp yang sering terputus dimulai dengan menentukan apakah masalah berasal dari device, aplikasi, server, session, atau jaringan.

Jika hanya satu device yang sering disconnect, periksa konfigurasi dan koneksi device tersebut. Jika semua device terputus bersamaan, periksa server, process aplikasi, jaringan, dan deployment.

Hindari langsung melakukan scan QR setiap kali device terputus. Selama session masih valid dan device dapat reconnect, masalah lebih tepat dicari pada kestabilan koneksi dan server.

Untuk sistem dengan banyak device, simpan riwayat perubahan status melalui webhook agar frekuensi disconnect, waktu kejadian, dan pola koneksi dapat dianalisis secara otomatis.

Scroll to Top