import express from 'express';
import { LoceZap } from 'loce-zap-sdk';
const app = express();
app.use(express.json({ verify: (req, _res, buf) => { (req as any).rawBody = buf; } }));
const zap = new LoceZap({ apiKey: process.env.LOCE_ZAP_API_KEY! });
app.post('/webhooks/loce-zap', (req, res) => {
const rawBody = (req as any).rawBody ?? JSON.stringify(req.body);
if (!zap.webhooks.verifySignature({ headers: req.headers as any, rawBody })) {
return res.status(401).json({ error: 'invalid signature' });
}
const event = zap.webhooks.parseEvent(rawBody);
if (event.type === 'SESSION-CONNECTED') {
console.log('[Webhook] sessão conectada');
}
res.status(200).send('OK');
});