Zum Hauptinhalt springen

Warum Webhooks verwenden?

Mit Webhooks kommen die Ergebnisse zu Ihnen, anstatt dass Sie sie wiederholt abfragen müssen. Statt einen GET-Endpunkt so lange abzufragen, bis eine Suche abgeschlossen ist, sendet Enrow jedes Ergebnis in dem Moment an Ihren Server, in dem es bereit ist — das spart Anfragen, reduziert die Latenz und hält Ihren Code einfach. Verschwenden Sie keine Anfragen mehr — lassen Sie die Ergebnisse zu Ihnen kommen. Da jeder Enrow-Endpunkt asynchron ist, sind Webhooks die empfohlene Methode, um Ergebnisse über Email Finder, Email Verifier und Phone Finder hinweg zu erhalten. Webhooks umgehen außerdem die Ratenbegrenzungen vollständig, da Enrow Sie aufruft und nicht umgekehrt.

Wie läuft ein Webhook-Ablauf ab?

Ein Webhook-Ablauf macht aus einer einzelnen Suchanfrage eine automatische Zustellung. Sie teilen Enrow mit, wohin die Ergebnisse gesendet werden sollen, und Enrow erledigt den Rest:
  1. Sie senden eine Suchanfrage per POST mit einer webhook-URL in den settings
  2. Enrow gibt sofort eine Such-ID zurück
  3. Enrow verarbeitet die Suche im Hintergrund
  4. Nach Abschluss sendet Enrow die Ergebnisse per POST an Ihre Webhook-URL

Wie richte ich einen Webhook ein?

Sie können einen Webhook auf zwei Arten registrieren, je nachdem, ob Sie ihn für eine einzelne Suche oder für jede Suche verwenden möchten:
  1. Pro Anfrage: Fügen Sie eine webhook-URL in das settings-Objekt eines beliebigen API-Aufrufs ein
  2. Global: Konfigurieren Sie einen Standard-Webhook auf der Integrationsseite im Dashboard
{
  "fullname": "Dwight Schrute",
  "company_domain": "dundermifflin.com",
  "settings": {
    "webhook": "https://your-app.com/webhooks/enrow"
  }
}
Ihre Webhook-URL muss ein gültiger HTTPS-Endpunkt sein, der einen 200-Statuscode zurückgibt.

Welche Ereignisse lösen einen Webhook-Aufruf aus?

Sechs Arten von Ereignissen können einen Webhook-Aufruf auslösen, eines pro Endpunkt und Suchtyp:
EreignisBeschreibung
single_search_finishedEine einzelne E-Mail-Suche wurde abgeschlossen
bulk_search_finishedEine E-Mail-Sammelsuche wurde abgeschlossen
verification_finishedEine einzelne E-Mail-Verifizierung wurde abgeschlossen
bulk_verification_finishedEine E-Mail-Sammelverifizierung wurde abgeschlossen
single_phone_search_finishedEine einzelne Telefonsuche wurde abgeschlossen
bulk_phone_search_finishedEine Telefon-Sammelsuche wurde abgeschlossen

Wie sieht ein Webhook-Payload aus?

Der Webhook-Payload hängt vom Endpunkt ab und davon, ob es sich um eine einzelne Suche oder eine Sammelsuche handelt. Einzelsuchen liefern das vollständige Ergebnis direkt, während Sammelsuchen eine Abschlussbenachrichtigung liefern, der Sie mit einer GET-Anfrage nachgehen.

Email Finder — Einzeln

Bei Einzelsuchen erhalten Sie das vollständige Ergebnis direkt in der Webhook-Benachrichtigung. Dadurch entfällt die Notwendigkeit, eine GET-Anfrage durchzuführen.
{
  "event": "single_search_finished",
  "id": "910f3e13-b2bf-442d-ab0b-4cf44dfrij84fjrt",
  "credits": {
    "cost": 1
  },
  "result": {
    "email": "dwight.schrute@dundermifflin.com",
    "qualification": "valid",
    "custom": "your_custom_data",
    "info": {
      "company_domain": "dundermifflin.com",
      "fullname": "Dwight Schrute",
      "firstname": "Dwight",
      "lastname": "Schrute"
    }
  }
}

Email Finder — Sammel

Bei Sammelsuchen erhalten Sie eine Benachrichtigung, dass der Batch abgeschlossen ist. Rufen Sie anschließend den Endpunkt GET /email/find/bulk mit der id auf, um die Ergebnisse abzurufen.
{
  "event": "bulk_search_finished",
  "id": "910f3e13-b2bf-442d-ab0b-4cf44dfrij84fjrt",
  "credits": {
    "cost": 2284
  }
}

Email Verifier — Einzeln

Das vollständige Ergebnis ist direkt enthalten — keine GET-Anfrage erforderlich.
{
  "event": "verification_finished",
  "id": "910f3e13-b2bf-442d-ab0b-4cf44dfrij84fjrt",
  "email": "pam.beesly@dundermifflin.com",
  "qualification": "valid",
  "custom": "your_custom_data"
}

Email Verifier — Sammel

Dies ist nur eine Benachrichtigung. Rufen Sie GET /email/verify/bulk mit der id auf, um die Ergebnisse abzurufen.
{
  "event": "bulk_verification_finished",
  "id": "910f3e13-b2bf-442d-ab0b-4cf44dfrij84fjrt",
  "credits": {
    "cost": 386.25
  }
}

Phone Finder — Einzeln

Das vollständige Ergebnis ist direkt enthalten — keine GET-Anfrage erforderlich.
{
  "event": "single_phone_search_finished",
  "id": "910f3e13-b2bf-442d-ab0b-4cf44dfrij84fjrt",
  "credits": {
    "cost": 50
  },
  "result": {
    "number": "+15705551234",
    "params": {
      "linkedin_url": "https://www.linkedin.com/in/michael-scott"
    },
    "qualification": "found"
  }
}

Phone Finder — Sammel

Dies ist nur eine Benachrichtigung. Rufen Sie GET /phone/bulk mit der id auf, um die Ergebnisse abzurufen.
{
  "event": "bulk_phone_search_finished",
  "id": "910f3e13-b2bf-442d-ab0b-4cf44dfrij84fjrt"
}

Worin unterscheiden sich Einzel- und Sammel-Webhooks?

Webhooks für Einzelsuchen enthalten das vollständige Ergebnis, sodass kein zusätzlicher Aufruf erforderlich ist. Webhooks für Sammelsuchen signalisieren nur, dass der Batch abgeschlossen ist — Sie rufen die Ergebnisse anschließend mit dem passenden GET-Endpunkt ab.
TypEinzelsuchenSammelsuchen
PayloadVollständiges Ergebnis enthaltenNur Benachrichtigung (ID + Credits)
GET erforderlich?NeinJa — verwenden Sie den GET-Endpunkt mit der id
Bei Einzelsuchen enthält der Webhook alles, was Sie benötigen. Bei Sammelsuchen teilt Ihnen der Webhook mit, dass der Batch abgeschlossen ist — anschließend rufen Sie die Ergebnisse ab.

Was sind die Best Practices für Webhook-Endpunkte?

Ein zuverlässiger Webhook-Endpunkt antwortet schnell, akzeptiert ausschließlich HTTPS und toleriert gelegentliche Duplikate. Befolgen Sie diese Praktiken, um zuverlässige Zustellungen sicherzustellen:
Verarbeiten Sie Webhook-Payloads asynchron. Geben Sie sofort einen 200 zurück und verarbeiten Sie die Daten anschließend in einem Hintergrundjob.
Verwenden Sie stets HTTPS-Endpunkte. HTTP-Webhooks werden abgelehnt.
In seltenen Fällen können Webhooks mehr als einmal zugestellt werden. Verwenden Sie das Feld id, um Duplikate zu entfernen.
Übergeben Sie custom-Daten in Ihren Anfragen, um zu identifizieren, zu welchem Datensatz ein Webhook-Ergebnis gehört:
{
  "fullname": "Dwight Schrute",
  "company_domain": "dundermifflin.com",
  "custom": { "crm_id": "lead_001" }
}
Das Feld custom wird unverändert im Webhook-Payload zurückgegeben.

Sollte ich Webhooks oder Polling verwenden?

Verwenden Sie Webhooks für die Produktion und Polling nur für schnelles Prototyping oder zum Debuggen. Webhooks liefern Ergebnisse in Echtzeit, ohne Ihr Anfragekontingent zu verbrauchen, während Polling wiederholte GET-Aufrufe durchführt, die auf Ihre Ratenbegrenzungen angerechnet werden.
WebhooksPolling (GET)
LatenzEchtzeitAbhängig vom Abfrageintervall
API-Aufrufe0 (Enrow ruft Sie auf)Mehrere Aufrufe pro Suche
Auswirkung auf Rate-LimitKeineVerbraucht Kontingent
KomplexitätErfordert Endpunkt-EinrichtungEinfacher umzusetzen
Wir empfehlen Webhooks für den Produktiveinsatz. Verwenden Sie Polling nur für schnelles Prototyping oder zum Debuggen.

FAQ

Nein. Webhooks verbrauchen keine zusätzlichen Credits — Sie zahlen nur für die Suche selbst. Die Credit-Kosten werden im Feld credits.cost des Payloads angegeben. Siehe Credits & Abrechnung für die Kosten pro Endpunkt.
Ihre Webhook-URL muss ein gültiger HTTPS-Endpunkt sein, der einen 200-Statuscode zurückgibt. Wenn Ihr Server nicht erreichbar ist oder mit einem anderen Status antwortet, wird die Zustellung als fehlgeschlagen behandelt. Als Ausweichlösung können Sie die Ergebnisse jederzeit abrufen, indem Sie den entsprechenden GET-Endpunkt mit der Such-id abfragen.
Verwenden Sie die id aus der Suchantwort oder übergeben Sie ein custom-Objekt in Ihrer Anfrage — es wird unverändert im Webhook-Payload zurückgegeben, sodass Sie Ergebnisse Ihren eigenen Datensätzen zuordnen können, etwa einer CRM-Lead-ID.
Die häufigsten Ursachen sind eine Nicht-HTTPS-URL, ein Endpunkt, der keine 200 zurückgibt, oder ein Server mit Zeitüberschreitung. Stellen Sie sicher, dass Ihr Endpunkt öffentlich über HTTPS erreichbar ist. Für eine umfassendere Fehlerbehebung siehe Fehlerbehandlung und Statuscodes.

Nächste Schritte

E-Mail finden

Übergeben Sie eine Webhook-URL in den Settings, um das Ergebnis automatisch zugestellt zu bekommen.

Sammelergebnisse abrufen

Rufen Sie Batch-Ergebnisse ab, nachdem ein bulk_search_finished-Webhook ausgelöst wurde.

Authentifizierung

So übergeben Sie Ihren API-Schlüssel im x-api-key-Header.

Ratenbegrenzungen

Erfahren Sie, warum Webhooks das Anfragekontingent vermeiden, das Polling verbraucht.