Schnellstart-Anleitung
Bringe SocialHook in 5 Minuten live. Verbinde dein erstes Meta-Plattformkonto und empfange Webhooks mit wenigen Zeilen Code.
Erstelle dein SocialHook-Konto
Registriere dich auf socialhook.io — keine Kreditkarte erforderlich
Nach der Registrierung landest du in deinem Dashboard. Von hier aus kannst du deine Meta-Konten verbinden, deine Webhook-URL konfigurieren und Zustellungsprotokolle ansehen. Dein Konto enthält einen geheimen Schlüssel zum Signieren aller Webhook-Payloads.
Ein Meta-Plattformkonto verbinden
OAuth mit Facebook, Instagram oder WhatsApp
Klicke auf Verbinden neben der Plattform, die du verwenden möchtest. Du wirst zum Meta-OAuth-Flow weitergeleitet. SocialHook speichert dein Meta-Passwort nie.
Webhook-URL konfigurieren
Deinen Endpunkt einfügen und einen geheimen Schlüssel generieren
Gehe in deinem Dashboard zu Webhook-Einstellungen und füge die POST-Endpunkt-URL deines Servers ein. Generiere einen geheimen Schlüssel — damit verifizierst du Payload-Signaturen.
Für lokale Entwicklung verwende ngrok um deinen Localhost freizugeben:
npx ngrok http 3000
Signaturverifizierung einrichten
Jedes Payload vor der Verarbeitung verifizieren
Jede Zustellung enthält einen X-SocialHook-Signature Header. Verifiziere diesen, bevor du ein Payload verarbeitest:
const crypto = require('crypto')
function verifySignature(rawBody, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(rawBody)
.digest('hex')
return signature === expected
}
app.post('/webhook', express.raw({ type: '*/*' }), (req, res) => {
const sig = req.headers['x-socialhook-signature']
if (!verifySignature(req.body, sig, process.env.SOCIALHOOK_SECRET)) {
return res.status(401).send('Unauthorized')
}
const payload = JSON.parse(req.body)
// ... handle payload
res.sendStatus(200)
})Eingehende Ereignisse verarbeiten
Webhook-Payloads parsen und darauf reagieren
Nach der Verifizierung das JSON-Payload parsen und nach dem event Feld weiterleiten:
const { platform, event, message, from } = payload
switch (event) {
case 'message.received':
console.log(`[${platform}] Message from ${from}: ${message.body}`)
// Route to AI, CRM, n8n, etc.
await handleInboundMessage(payload)
break
case 'conversation.started':
// New conversation — create a CRM lead, send welcome message
await createLead({ platform, from, timestamp: payload.timestamp })
break
default:
console.log('Unhandled event:', event)
}
res.sendStatus(200) // Always respond 200Du bist live 🎉
Sende eine Testnachricht an deine verbundene WhatsApp-Nummer, Facebook-Seite oder dein Instagram-Konto. Du solltest eine Zustellung in deinen SocialHook-Dashboard-Protokollen sehen und ein POST trifft deinen Server innerhalb von 50ms.