3: Berichten ontvangen

De gateway levert elk binnenkomend bericht door een POST-verzoek te sturen naar een webhook route in je app. Je verifieert het gedeelde geheim en doet vervolgens wat je wilt met het bericht.

3.1: De webhook route

route both POST receive {
	$given = (string)($_SERVER['HTTP_SECRET'] ?? '')
	if ($this->secret === '' || !hash_equals($this->secret, $given)) return output(['error' => 'unauthorized'], code: 401)
	$data = json_decode((string)file_get_contents('php://input'), true) ?: []
	type_message::create(sender: (string)($data['from'] ?? ''), kind: (string)($data['type'] ?? 'text'), body: (string)($data['text'] ?? ''), ts: time())
	return output(['ok' => true])
}

Twee details zijn belangrijk:

3.2: Een bericht verwerken

Binnen de webhook heb je de volledige app beschikbaar. Log het (zoals hierboven), stuur automatisch een antwoord met de WhatsApp resource, route het naar een mens, of verspreid het via Phlo Realtime naar een live inbox. De demo logt naar een JSON-model en rendert een Inbox; het enige wat je hoeft te doen is de webhook van de gateway naar /receive te wijzen zodat berichten verschijnen.

We gebruiken essentiële cookies om deze site te laten werken. Met uw toestemming gebruiken we ook analytics om de site te verbeteren.