Tool documentatie

Inkomende berichten via Webhook

Elk WhatsApp-bericht dat jij ontvangt, stuurt de gateway direct als JSON naar jouw URL. Real-time. Geen polling. Alle berichttypen inclusief media.

< 1s latency Retry-logica Alle berichttypes
Werking

Hoe webhooks werken

Stel één keer een webhook-URL in via de API of het dashboard. Daarna verloopt alles automatisch.

1

Klant stuurt een bericht

Een klant stuurt een WhatsApp-bericht (tekst, foto, document of locatie) naar jouw nummer.

2

Gateway verwerkt het bericht

De gateway ontvangt het bericht, converteert het naar een gestandaardiseerde JSON-structuur en bepaalt het type.

3

HTTP POST naar jouw URL

Binnen < 1 seconde stuurt de gateway een HTTP POST naar jouw geconfigureerde webhook-URL met de volledige payload.

4

Jouw systeem reageert

Retourneer HTTP 200 om ontvangst te bevestigen. De gateway herprobeert automatisch bij een fout of timeout.

Voorbeeld payload

JSON-structuur inkomend bericht

POST naar jouw webhook URL
webhook-payload.json
{
  "event": "message",
  "from": "31612345678",
  "name": "Jan de Vries",
  "body": "Ik wil een afspraak maken voor volgende week",
  "type": "text",
  "timestamp": "2026-06-20T14:30:00Z",
  "media_url": null,
  "gateway_id": "gw_7f2a9c"
}
PHP handler voorbeeld
webhook.php
<?php
// Verifieer webhook-handtekening
$secret  = 'jouw-webhook-secret';
$header  = $_SERVER['HTTP_X_WA_SECRET'] ?? '';
if (!hash_equals($secret, $header)) {
    http_response_code(401); exit;
}

// Verwerk inkomend bericht
$data = json_decode(file_get_contents('php://input'), true);
if ($data['event'] === 'message') {
    $from  = $data['from'];
    $tekst = $data['body'];
    // Sla op, stuur antwoord, trigger workflow...
    slaOpInDB($from, $tekst);
}
http_response_code(200);
Webhook registreren — cURL
register-webhook.sh
curl -X POST https://gateway.itlive.nl/gw/TOKEN/api/webhook \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://jouwserver.nl/webhook.php",
    "secret": "jouw-webhook-secret",
    "events": ["message", "status", "media"]
  }'

# Response
{ "ok": true, "webhook_id": "wh_8c3f1a", "status": "active" }
Retry-logica: Als jouw webhook niet binnen 10 seconden reageert of een HTTP-foutcode retourneert, herprobeert de gateway automatisch 3 keer met exponentiële vertraging (5s, 30s, 2 min).

Real-time levering

Bericht afgeleverd binnen < 1 seconde na ontvangst. Geen polling of langdurige verbindingen nodig.

Alle berichttypen

Tekst, afbeeldingen, video, audio, documenten en locaties — allemaal via dezelfde webhook-URL.

Handtekeningverificatie

Verifieer dat de POST echt van WA Gateway afkomt via de X-WA-Secret header.

Media via URL

Ontvangen mediabestanden zijn direct beschikbaar via een tijdelijke download-URL in de payload.

Begin met inkomende berichten

Activeer jouw webhook via het dashboard in minder dan 60 seconden.