Autentikasi API

Semua request ke API Conexchat harus menggunakan API Key yang bisa kamu buat di menu Settings → API Keys. Sertakan di header setiap request.

Base URL
curl -X GET https://api.conexchat.com/api/numbers \ -H "X-API-Key: wc_live_your_key_here" \ -H "Content-Type: application/json"

Kirim Pesan Teks

Kirim satu pesan teks ke nomor WA tujuan.

POST /api/messages/send API Key
Request Body
Parameter Tipe Wajib Keterangan
sessionId string required ID sesi WhatsApp pengirim
to string required Nomor penerima (628xxx, tanpa +)
message string required Teks pesan
# Request curl -X POST https://api.conexchat.com/api/messages/send \ -H "X-API-Key: wc_live_xxx" \ -H "Content-Type: application/json" \ -d '{"sessionId":"my-session","to":"628123456789","message":"Halo!"}' # Response { "success": true, "data": { "messageId": "msg_abc123", "status": "sent", "timestamp": "2026-06-20T06:00:00.000Z" } }
POST /api/messages/send-media API Key
Parameter Tipe Wajib Keterangan
sessionId string required ID sesi pengirim
to string required Nomor penerima
base64 string required Data media dalam format base64
mimetype string required Mimetype file (contoh: image/jpeg)
filename string opsional Nama file dokumen
caption string opsional Caption untuk media
curl -X POST https://api.conexchat.com/api/messages/send-media \ -H "X-API-Key: wc_live_xxx" \ -d '{"sessionId":"s1","to":"628xx","base64":"iVBOR...","mimetype":"image/jpeg","caption":"Promo!"}'

Blast Massal

Kirim pesan ke banyak nomor sekaligus. Pesan dikerjakan di background dengan jeda antar-kirim untuk menghindari ban.

POST /api/messages/bulk API Key
Parameter Tipe Wajib Keterangan
sessionId string required ID sesi pengirim
recipients array required Array nomor penerima
message string required Teks pesan
delay number opsional Jeda antar pesan (ms, default 1000)
curl -X POST https://api.conexchat.com/api/messages/bulk \ -H "X-API-Key: wc_live_xxx" \ -d '{"sessionId":"s1","recipients":["628111","628222"],"message":"Promo!"}' # Response { "success": true, "data": { "jobId": "bulk_abc", "total": 2 } }

Riwayat Pesan

GET /api/reports/messages API Key
Query Param Tipe Keterangan
sessionId string Filter per sesi
type string incoming | outgoing
limit number Jumlah (default 50, max 200)
page number Halaman

List Sesi

GET /api/numbers API Key
# Response { "success": true, "data": { "sessions": [ { "_id": "...", "sessionId": "user-session-1", "phoneNumber": "628123456789", "label": "CS Utama", "status": "connected" } ] } }

Get QR Code Sesi

GET /api/numbers/:sessionId/qr API Key
# Response { "success": true, "data": { "qr": "data:image/png;base64,...", "status": "connecting" } }

Webhook Format

Atur Webhook URL di setiap sesi pada halaman Nomor WA. Setiap pesan masuk akan di-POST ke URL tersebut.

# Contoh payload webhook pesan masuk (POST ke webhookUrl kamu) { "event": "message.received", "sessionId": "my-session", "data": { "from": "628123456789", "to": "628987654321", "body": "Halo, saya ingin bertanya...", "timestamp": "2026-06-20T06:00:00.000Z", "messageId": "wamid.xxx" } } # Session events { "event": "session.connected", "sessionId": "my-session", "data": { "phoneNumber": "628xxx", "status": "connected" } }

Spam Filter API

POST /api/spam/block API Key
Parameter Tipe Wajib Keterangan
phone string required Nomor yang diblokir
sessionId string opsional Blokir per sesi, kosong = semua
reason string opsional Keterangan
GET /api/spam/blocklist API Key

Mendapatkan daftar nomor yang diblokir.