Get up and running in minutes with our step-by-step guide.
Verify the API is accessible and all services are running.
curl https://your-domain.com/api/healthSet up webhook URLs in your third-party dashboards.
# WhatsApp (Meta Developer Dashboard)
https://<your-convex-deployment>.convex.site/whatsapp-webhook
# Stripe (Stripe Dashboard)
https://your-domain.com/api/webhooks/stripe
# Clerk (Clerk Dashboard)
https://your-domain.com/api/webhooks/clerkConfigure your secrets for signature verification.
# WhatsApp
# Configure these in Convex env vars (not Vercel app server)
WHATSAPP_WEBHOOK_VERIFY_TOKEN=your_token
META_APP_SECRET=your_secret
# Stripe
STRIPE_WEBHOOK_SECRET=whsec_xxx
# Clerk
CLERK_WEBHOOK_SECRET=svix_xxxExpected response when all services are healthy.
{
"status": "healthy",
"timestamp": "2026-01-15T10:30:00.000Z",
"services": {
"convex": { "status": "healthy" },
"whatsapp": { "status": "healthy" },
"openrouter": { "status": "healthy" },
"stripe": { "status": "healthy" }
}
}Stripe and Clerk webhooks on the app server. WhatsApp webhook is hosted directly on Convex.
Health checks, checkout sessions, and data exports.
Secure your integrations with proper authentication.
Meta signs all webhook payloads using HMAC-SHA256 with your App Secret.
const crypto = require('crypto');
function verifySignature(payload, signature, appSecret) {
const expected = 'sha256=' + crypto
.createHmac('sha256', appSecret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}Understand our rate limiting policies to build reliable integrations.
| Endpoint | Limit | Period | Auth |
|---|---|---|---|
| /api/health | Unlimited | - | None |
| /api/checkout/create-session | 10 requests | Per minute | Session |
| /api/export/data | 10 requests | Per hour | Session |
| /api/export/guests | 50 requests | Per hour | Session |
| /api/webhooks/{stripe,clerk} | Unlimited | - | Signature |
Access the complete API documentation in our repository.
Medimos o tráfego de forma anônima, sem cookies e sem gravação de sessão, para entender quais conteúdos e CTAs ajudam anfitriões a chegar ao produto. Ao permitir, usamos cookies e o pixel de anúncios para medições mais precisas. Você pode recusar sem perder nenhuma função.