Docs

Webhooks y eventos

Recibe mensajes, estados y eventos de WhatsApp en tiempo real en tu URL, con metadata para enrutarlos en tu sistema.

Configurar la URL

PUT /instances/{id}

curl -X PUT https://api.zapzapapi.com/api/v1/instances/{id} \
  -H "Content-Type: application/json" \
  -H "x-api-key: TU_API_KEY" \
  -H "x-api-secret: TU_API_SECRET" \
  -d '{"webhook_url":"https://mysite.com/webhook","metadata":{"cliente":"123"}}'

Recibir los eventos

Cada mensaje recibido o cambio de estado llega como un POST a tu URL. Responde 2xx rápido:

Node.js (Express)

// Handler mínimo en Node.js (Express)
app.post("/webhook", (req, res) => {
  res.sendStatus(200);          // responde 2xx rápido
  const event = req.body;       // mensaje recibido, estado, etc.
  // procesa fuera del camino de la respuesta (cola, worker, etc.)
});

Preguntas frecuentes

¿Cómo recibo mensajes de WhatsApp por webhook?

Configura la webhook_url de la instancia con un PUT a /api/v1/instances/{id}. Desde ahí, cada mensaje recibido, estado de entrega y evento llega como un POST a tu URL, por HTTPS.

¿Qué es el metadata del webhook?

Es un JSON libre que asocias a la instancia (por ejemplo el ID del cliente o el plan). Se incluye automáticamente en los webhooks que recibes, lo que facilita enrutar el evento en tu sistema.

¿Cómo debo responder al webhook?

Responde 2xx lo más rápido posible y haz el trabajo pesado fuera del camino de la respuesta (cola o worker). Un webhook que tarda demasiado en responder se trata como problemático.

¿Necesito HTTPS?

Sí. La webhook_url debe ser HTTPS y estar accesible desde internet para que ZapZap pueda entregar los eventos.

Empieza ahora

Crea tu cuenta, conecta un número en minutos y prueba la API con calentamiento y anti-bloqueo. R$15 por número activo/mes, prepago, sin permanencia.