SocialHook
Dokumentation/Schnellstart
Erste Schritte

Schnellstart-Anleitung

Bringe SocialHook in 5 Minuten live. Verbinde dein erstes Meta-Plattformkonto und empfange Webhooks mit wenigen Zeilen Code.

Geschätzte Zeit: 5 Minuten
1

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.

2

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.

Facebook: verbinde eine Seite, die du verwaltest
Instagram: erfordert ein Instagram-Business-Konto
WhatsApp: erfordert eine WhatsApp-Business-Nummer
3

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:

shell
npx ngrok http 3000
4

Signaturverifizierung einrichten

Jedes Payload vor der Verarbeitung verifizieren

Jede Zustellung enthält einen X-SocialHook-Signature Header. Verifiziere diesen, bevor du ein Payload verarbeitest:

node.js
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)
})
5

Eingehende Ereignisse verarbeiten

Webhook-Payloads parsen und darauf reagieren

Nach der Verifizierung das JSON-Payload parsen und nach dem event Feld weiterleiten:

node.js
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 200
Wichtig: Gib immer sofort einen 200-Status zurück. Wenn dein Server länger als 10 Sekunden für die Antwort braucht, behandelt SocialHook die Zustellung als fehlgeschlagen und wiederholt sie.

Du 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.