D
API Reference

API Reference

Daftar endpoint engine-whatsapp — /api/* (semua public, tanpa auth) + /files (static). Endpoint session, messaging, group, notification. Webhook keluar ke backend Dazo.

engine-whatsapp menyajikan 14 endpoint di /api (semua public, tanpa auth) plus GET /files/:filename (static).

Base URL

HTTP routes dipasang di /api. Local default: http://localhost:5002/api.

Autentikasi

KategoriAuthCatatan
/api/*❌ Tidak ada authSemua endpoint public — keamanan wajib di perimeter
/files/:filename❌ publicStatic file serving

Response envelope

Semua endpoint lewat helper sendSuccess / sendError:

jsonc
// Sukses
{ "success": true,  "message": "...", "data": { } }

// Gagal
{ "success": false, "message": "...", "error": { } }  // `error` disembunyikan saat APP_ENV=production

Grup endpoint

GrupHalamanEndpoint
SessionSession APIPOST /api/new, GET /api/qrcode, GET /api/logout, GET /api/device-info
MessagingMessaging APIPOST /api/send-message, POST /api/send-media, POST /api/send-location, POST /api/send-broadcast
GroupGroup APIPOST /api/group/create, GET /api/group/info, POST /api/group/participants
NotificationNotification APIPOST /api/push-notif, POST /api/update-chatlist, POST /api/update-teamchat, POST /api/submit-pixel
WebhookWebhook ReferencePOST {WEBHOOK_URL}/callback_message (keluar ke backend)

Daftar endpoint lengkap

EndpointMethodAuthGrup
/api/newPOST❌Session
/api/qrcodeGET❌Session
/api/logoutGET❌Session
/api/device-infoGET❌Session
/api/send-messagePOST❌Messaging
/api/send-mediaPOST❌Messaging
/api/send-locationPOST❌Messaging
/api/send-broadcastPOST❌Messaging
/api/group/createPOST❌Group
/api/group/infoGET❌Group
/api/group/participantsPOST❌Group
/api/push-notifPOST❌Notification
/api/update-chatlistPOST❌Notification
/api/update-teamchatPOST❌Notification
/api/submit-pixelPOST❌Notification
/files/:filenameGET❌Static

Catatan

  • /api/logout memakai GET, bukan DELETE — komentar di SessionController.ts menyebut DELETE, itu keliru
  • Tidak ada versioning (/v1/) — semua route langsung di /api
  • POST /api/send-message mewajibkan pesan_id, role, data — ketiganya diteruskan ke payload Socket.IO
  • sendContact sudah diimplementasi di MessageController tapi tidak didaftarkan di router — tidak dapat diakses
  • Socket.IO server di port yang sama (5002), CORS * — lihat Realtime Events

Webhook keluar

Engine mengirim POST {WEBHOOK_URL}/callback_message ke backend Dazo untuk:

KejadianField reportPayload
Pesan masukfalsePesan baru dari WhatsApp
Update status pesantrueStatus ACK (pending/sent/delivered/viewed/played)

Detail payload di Webhook Reference.

Langkah berikutnya