Zum Inhalt springen

API und Webhooks sicher nutzen.

SmartChat schützt jede Verbindung zu deinen Programmen und AI-Apps, damit die Daten deiner WhatsApp-Kontakte nur dort ankommen, wo du es erlaubst.

Einstellungen in SmartChat, Integrationen, API: drei Schlüssel mit Namen, nur Anfang und letzte vier Zeichen sichtbar, Datum der Erstellung, letzte Nutzung und Rechte

SmartChat speichert deinen Schlüssel nie im Klartext.

Den ganzen API-Schlüssel siehst du genau einmal, direkt nach dem Erstellen. SmartChat speichert davon nur einen Prüfwert, aus dem sich der Schlüssel nicht zurückrechnen lässt.

  1. 1

    Du legst fest, was er darf

    Jeder Schlüssel bekommt einen Namen und das Recht Nur lesen oder Lesen und schreiben. Mehr kann er nie.

    Fenster Neuen Schlüssel erstellen in SmartChat: Feld Name und die Wahl zwischen Nur lesen und Lesen und schreiben
  2. 2

    Du kopierst ihn ein einziges Mal

    Danach zeigt SmartChat nur noch den Anfang und die letzten vier Zeichen. Bei jeder Anfrage vergleicht SmartChat den Schlüssel mit dem gespeicherten Prüfwert.

    Authorization:
      Bearer DEIN_API_SCHLUESSEL
  3. 3

    Du sperrst ihn mit einem Klick

    Erzeugst du einen Schlüssel neu oder löschst ihn, funktioniert der alte sofort nicht mehr. Jede weitere Anfrage damit lehnt SmartChat ab.

    # Antwort 401
    "key": "apikey_widerrufen"

AI-Apps verbindest du nur mit deiner Zustimmung.

Eine AI-App verbindest du über MCP mit SmartChat. Du meldest dich dabei mit deinem SmartChat-Konto an und bestätigst die Rechte, einen Schlüssel kopierst du dafür nicht.

Einstellungen in SmartChat, Integrationen, MCP: Adresse des MCP-Servers mit Button Kopieren und drei Schritte bis zur Bestätigung der Rechte
  • Nur Admins verbinden

    Mitarbeiter können keine AI-App mit deinem Konto verbinden. Jede Verbindung gilt für genau ein Konto.

  • Rolle bei jeder Anfrage geprüft

    Wird ein Admin zum Mitarbeiter oder verlässt er dein Team, endet seine Verbindung mit der nächsten Anfrage.

  • Gestohlene Zugänge zwecklos

    Löst jemand einen schon benutzten Zugang ein zweites Mal ein, trennt SmartChat die ganze Verbindung.

Wiederholte Anfragen senden nicht doppelt.

Viele Programme wiederholen eine Anfrage, wenn die Antwort zu lange dauert. Sendet dein Programm einen Idempotency-Key mit, führt SmartChat die Anfrage nur einmal aus und gibt bei jeder Wiederholung dieselbe Antwort zurück.

Erste AnfrageWiederholungAnderer Inhalt
curl -X POST https://api.smartchat.marketing/v1/messages \
  -H "Authorization: Bearer DEIN_API_SCHLUESSEL" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: erinnerung-termin-4711" \
  -d '{"contact_id": "KONTAKT_ID", "text": "Bis morgen um 10 Uhr!"}'

# Antwort 201: die Nachricht geht raus
{ "ok": true, "message_id": "…" }
# Dieselbe Anfrage mit demselben Key, zum Beispiel nach einer Zeitüberschreitung

# Antwort: genau die Antwort der ersten Anfrage
Idempotent-Replayed: true
{ "ok": true, "message_id": "…" }

# Die Nachricht wird nicht noch einmal gesendet.
# Derselbe Key, aber ein anderer Text

# Antwort 422
{
  "error": {
    "key": "idempotency_key_mismatch",
    "message": "This Idempotency-Key was already used for a different request."
  }
}

Deine Webhooks sind geschützt.

Deine Automationen startet ein Programm nur über eine geheime Adresse, deine Website über einen eigenen Schlüssel. Meldungen von SmartChat an dein System tragen eine Signatur.

  • Automation Zahlungserinnerung in SmartChat mit dem Auslöser Webhook wird aufgerufen, einer Bedingung und der WhatsApp-Nachricht

    Geheime Adresse je Automation

    Nur wer die Adresse kennt, löst deine Automation aus. Sie gehört zu genau einer Automation in deinem Konto.

  • <script src="…"></script>
    <script>
      smartchatTrigger({
        "email": "{{email}}"
      });
    </script>

    Eigener Schlüssel für deine Website

    Auf deiner Website steht nie die geheime Adresse. Ruft ein Browser sie trotzdem auf, lehnt SmartChat ab.

  • 1. Aufruf
    → Die Automation läuft.
    
    2. Aufruf, gleiches Ereignis
    → Dieses Ereignis wurde
      bereits verarbeitet.

    Jedes Ereignis nur einmal

    Sendet ein Programm dasselbe Ereignis kurz danach noch einmal, erkennt SmartChat die Wiederholung und sendet nichts doppelt.

  • X-SmartChat-Event:
      contact.created
    X-SmartChat-Timestamp:
      1792400000
    X-SmartChat-Signature:
      v1=…

    Signierte Meldungen an dein System

    Jede Meldung von SmartChat trägt Zeitstempel und Signatur. So prüft dein System, dass sie wirklich von SmartChat kommt.

  • https://…  erlaubt
    http://…   abgelehnt

    Nur an sichere Adressen

    SmartChat sendet nur an https-Adressen im offenen Internet und folgt keiner Weiterleitung. Ist dein System nicht erreichbar, versucht SmartChat es später noch einmal.

Häufig gestellte Fragen zu API und Webhooks.

Kann SmartChat mir meinen API-Schlüssel noch einmal anzeigen?

Nein. SmartChat zeigt den ganzen Schlüssel nur direkt nach dem Erstellen und speichert danach nur einen Prüfwert. In der Liste stehen nur der Anfang und die letzten vier Zeichen. Geht ein Schlüssel verloren, erzeugst du ihn neu.

Was passiert, wenn ein API-Schlüssel in falsche Hände gerät?

Du erzeugst ihn in den Einstellungen unter Integrationen neu oder löschst ihn. Ab diesem Moment lehnt SmartChat jede Anfrage mit dem alten Schlüssel ab. Bei jedem Schlüssel siehst du außerdem, wann er zuletzt genutzt wurde.

Was darf ein API-Schlüssel?

Genau das, was du beim Erstellen wählst: Nur lesen oder Lesen und schreiben. Fragt ein Programm nach etwas, wofür dem Schlüssel das Recht fehlt, lehnt SmartChat die Anfrage ab.

Wer darf API-Schlüssel erstellen und AI-Apps verbinden?

Nur Admins deines Kontos. Mitarbeiter können weder Schlüssel erstellen noch eine AI-App verbinden. Wer seine Admin-Rolle verliert, verliert mit der nächsten Anfrage auch die AI-Apps, die er verbunden hat. Mehr dazu unter Team.

Kann ein Programm über die API an jede Nummer senden?

Nein. Auch über die API gehen Newsletter erst nach der Bestätigung raus. Wer sich mit STOP abgemeldet hat, bekommt nichts mehr, egal von welchem Programm die Anfrage kommt.

Was ist ein Idempotency-Key?

Ein frei wählbarer Text, den dein Programm im Kopf einer Anfrage mitsendet, zum Beispiel die Nummer einer Buchung. Kommt dieselbe Anfrage mit demselben Key noch einmal, führt SmartChat sie nicht erneut aus und gibt die erste Antwort zurück.

Was passiert, wenn mein Programm denselben Key für eine andere Anfrage nutzt?

SmartChat lehnt die zweite Anfrage ab, weil der Key schon zu einer anderen Anfrage gehört. Läuft die erste Anfrage noch, bittet SmartChat dein Programm, es gleich noch einmal zu versuchen.

Wie prüft mein System, dass eine Meldung wirklich von SmartChat kommt?

Beim Anlegen eines Webhook-Abos bekommst du ein Geheimnis. Damit berechnet dein System die Signatur aus Zeitstempel und Inhalt selbst und vergleicht sie mit dem Kopf X-SmartChat-Signature. Ist der Zeitstempel zu alt, verwirfst du die Meldung.

Was passiert, wenn mein System eine Meldung nicht annimmt?

SmartChat versucht es später noch einmal.

Speichert SmartChat die Inhalte der Meldungen an mein System?

Nein. SmartChat merkt sich nur, welche Meldung noch aussteht, und liest den Inhalt erst beim Senden. Ist ein Kontakt inzwischen gelöscht, geht über ihn nichts mehr raus. Vor jedem Senden prüft SmartChat außerdem, ob das Abo aktiv ist und der Schlüssel noch gilt.

Was mache ich, wenn die Webhook-Adresse einer Automation in falsche Hände gerät?

Du öffnest die Automation und erzeugst eine neue Adresse. Die alte funktioniert danach nicht mehr. Trage die neue Adresse in allen Programmen ein, die Ereignisse an SmartChat senden. Der Code auf deiner Website bleibt gleich.

Wo finde ich die technische Anleitung zur API?

Im API-Schnellstart. Was du mit der API alles machen kannst, steht unter API.

Verbinde deine Programme sicher mit SmartChat.

Gib deine Webseite ein. SmartChat AI baut dein WhatsApp-Marketing-System in 60 Sekunden, kostenfrei. Deinen ersten API-Schlüssel erstellst du danach in den Einstellungen.