Webhook / CRM
NativSenden Sie freigeschaltete Leads automatisch an Ihr eigenes System (CRM)
Was es bewirkt
Wenn Sie einen Lead freischalten (Credit ausgeben), werden die vollständigen Patientendaten sofort per signiertem Webhook an Ihren Server/Ihr CRM übermittelt. Geben Sie Ihre URL ein, erhalten Sie einen Signaturschlüssel — Leads landen direkt in Ihrem System, ohne Kopieren aus dem Panel.
So verbinden
- 01
Geben Sie Ihre HTTPS-Webhook-URL ein und speichern Sie sie.
- 02
Senden Sie mit 'Test senden' ein Testereignis; gibt Ihr Server 2xx zurück, wird die Integration aktiviert.
- 03
Wenn Sie einen Lead freischalten, werden die vollständigen Daten sofort an Ihren Webhook gesendet (POST).
Worauf diese Integration zugreift
Die echten Felder, die an Ihr System gesendet werden, wenn Sie einen Patienten freischalten (Credit ausgeben). Genau das sendet der Code.
| Feld | Beschreibung |
|---|---|
| event | Ereignistyp — immer "lead.unlocked" |
| delivery_id | Eindeutige Zustell-ID (nicht doppelt verarbeiten) |
| occurred_at | Freischaltzeit (ISO8601) |
| clinic_id | ID Ihrer Klinik |
| lead.category | Behandlungskategorie (z. B. Haartransplantation) |
| lead.title | Titel der Anfrage |
| lead.description | Notiz des Patienten |
| lead.city | Bevorzugte Stadt |
| lead.country_code | Ländercode (ISO2, aus Telefonvorwahl) |
| lead.country | Ländername |
| lead.locale | Sprachsignal des Patienten |
| lead.budget_min_eur / max_eur | Budgetspanne (EUR) |
| lead.timing.start / end | Bevorzugter Zeitraum |
| lead.contact.name | Name des PatientenPII |
| lead.contact.phone | TelefonnummerPII |
| lead.contact.email | E-Mail-AdressePII |
| lead.credit_cost | Für diesen Lead ausgegebene Credits |
| lead.source | Lead-Quelle |
Patienten-Kontaktdaten (Name · Telefon · E-Mail) werden NUR für Leads gesendet, die Sie mit Credit freischalten. Für nicht freigeschaltete Anfragen werden keine PII gesendet.
{ } JSON
{
"event": "lead.unlocked",
"delivery_id": "dlv_9f2c…",
"occurred_at": "2026-07-24T09:12:00Z",
"clinic_id": "cl_1a2b…",
"lead": {
"category": "hair-transplant",
"city": "Köln",
"country_code": "DE",
"budget_min_eur": 2000,
"budget_max_eur": 3500,
"contact": { "name": "…", "phone": "+49…", "email": "…" },
"credit_cost": 10,
"source": "doctorvi"
}
}Signaturprüfung
Jede Anfrage enthält X-ClinicVi-Signature: t=<Zeit>,v1=<hmac>. v1 = HMAC-SHA256(secret, `${t}.${Body}`) (hex). Ablehnen, wenn t älter als 5 Minuten ist (Replay). Zustellung erfolgt mindestens einmal: verarbeiten Sie dieselbe X-ClinicVi-Delivery (delivery_id) nicht zweimal.
Beispiel zur Signaturprüfung (Node):
import crypto from "node:crypto";
function verify(headers, rawBody, secret) {
const parts = Object.fromEntries(
headers["x-clinicvi-signature"].split(",").map((p) => p.split("="))
);
const expected = crypto
.createHmac("sha256", secret)
.update(`${parts.t}.${rawBody}`)
.digest("hex");
const fresh = Math.abs(Date.now() / 1000 - Number(parts.t)) < 300;
return fresh && crypto.timingSafeEqual(
Buffer.from(parts.v1), Buffer.from(expected)
);
}Häufige Fragen
Ist das eine native Integration?
Nein. Die nativen Live-Integrationen von ClinicVi sind Telegram, Webhook/CRM und Stripe. Andere Tools erreichen Sie per signiertem Webhook (direkt) oder über eine Zapier/Make-Brücke.
Wohin gehen meine Daten?
Nur an die HTTPS-Adresse, die Sie eingeben, in eine Richtung. Patienten-Kontaktdaten werden nur für Leads gesendet, die Sie mit Credit freischalten.
Wann wird ausgelöst?
In dem Moment, in dem Sie einen Patienten freischalten (Credit ausgeben). Nicht freigeschaltete Anfragen werden nie gesendet.
Lassen Sie Ihren ersten Lead direkt in Ihrem System landen.
Wir prüfen Ihre Bewerbung am selben Tag. Einrichtung von uns; Sie sprechen nur mit dem Patienten.