Quick start
npm installcp .dev.vars.example .dev.varsnpm run dev
For Zalo, set ZALO_BOT_SECRET_TOKEN in .dev.vars. Generic providers can still use WEBHOOK_SECRET.
Cloudflare Pages + Qwik City
This repo is now a Qwik app with a Cloudflare adapter and a POST endpoint pattern at /api/[provider]/webhook. Use it as the thin receiver layer in front of queues, APIs, or provider-specific business logic.
npm installcp .dev.vars.example .dev.varsnpm run devFor Zalo, set ZALO_BOT_SECRET_TOKEN in .dev.vars. Generic providers can still use WEBHOOK_SECRET.
GET /workspace overviewGET /api/zalo/webhookreturns the endpoint contract for a providerPOST /api/zalo/webhookvalidates Zalo's secret-token header and event payloadcurl -X POST http://localhost:5173/api/zalo/webhook \
-H "content-type: application/json" \
-H "x-bot-api-secret-token: change-me" \
-d '{"ok":true,"result":{"event_name":"message.text.received","message":{"text":"Xin chao"}}}'