Setup & API Guide

How real KwikEngage data becomes dashboard numbers without storing full conversations.

Local preview mode: API is not reachable, showing built-in sample data.

Production Webhook URL

KwikEngage
https://bot.bubble-me.org/webhooks/kwikengage

KwikEngage should POST new WhatsApp events to this URL. The dashboard updates from stored counters and lightweight ticket rows.

Dashboard APIs

Numbers
GET /api/summary
GET /api/conversations
GET /api/tickets
GET /api/analytics/daily
GET /api/metrics/resolved-by?days=7
GET /api/metrics/storage-estimate

Data Saved vs Not Saved

Privacy
SavedNot Saved
Date, category, ticket ID, status, assigned_to, resolved_by, resolved_at, masked/hash phone, counters.Full WhatsApp conversation, customer message body, bot reply body, photos/videos, rating/feedback.

Local Test Commands

Copy
PORT=8090 ADMIN_SECRET=change_this_admin_secret CORS_ALLOW_ORIGIN=http://localhost:8090 go run ./cmd/server

curl -X POST http://localhost:8090/webhooks/kwikengage \
  -H "Content-Type: application/json" \
  -d '{"phone":"918766213073","customer_name":"Rohit","message":"Hi","careops_test":true}'

curl -X POST http://localhost:8090/api/tickets/resolve \
  -H "Content-Type: application/json" \
  -d '{"id":"DMG-1001","resolved_by":"Amit"}'
BubbleMe Bot Online
Webhook: /webhooks/kwikengage
Dashboard APIs: /api/summary, /api/tickets, /api/analytics/daily
Saved data: numbers only