WebmeticDocs

Partner-API

Mit der Partner-API legen Sie Kunden an, verwalten ihre Websites und lesen ihre Besuchsdaten.

Die Partner-API verbindet Ihr eigenes System mit Ihrem Partnerbereich.

Die Endpunkte liegen wie die übrige API unter https://hub.webmetic.de. Sie stehen auch in der API-Referenz, und dort probieren Sie jeden Endpunkt im Playground aus.

Im Playground brauchen Sie den Schlüssel Ihres Partnerkontos. Die Partner-Endpunkte lehnen den vorausgefüllten Demo-Schlüssel mit Status 403 ab. Mit Ihrem Schlüssel ist jede Anfrage echt: POST /partner/create-customer legt einen echten Kunden an, und DELETE entfernt eine Website wirklich.

Zugang

Die Partner-API braucht ein Konto mit Partnerbereich. Wie Sie Partner werden, steht unter Partner.

Die Partner-API nutzt den Schlüssel Visitor Intelligence Ihres Partnerkontos und keinen eigenen Partner-Schlüssel. Nur Admins finden ihn unter Menü > Integrationen > API.

Senden Sie den Schlüssel unverändert im Header Authorization, ohne Bearer davor. Authentifizierung beschreibt Format und Fehler.

Wenn der Schlüssel zu einem Konto ohne Partnerbereich gehört, antwortet die API mit NOT_A_PARTNER.

Wenn Sie den Schlüssel neu generieren, gilt der alte nicht mehr. Das betrifft Ihre Partner-Abfragen und den Abruf Ihrer eigenen Besuchsdaten.

Die Partner-Endpunkte kosten keine Credits.

Endpunkte

Methode und PfadZweckAnfragen pro Minute
POST /partner/create-customerKunden anlegen10
GET /partner/customersKunden auflisten60
GET /partner/customers/KUNDEN_ACCOUNT_IDEinen Kunden abrufen60
POST /partner/customers/KUNDEN_ACCOUNT_ID/websitesWebsite hinzufügen30
DELETE /partner/customers/KUNDEN_ACCOUNT_ID/websites/DOMAINWebsite entfernen30

Die Limits gelten je Endpunkt. Wenn Sie ein Limit überschreiten, antwortet die API mit Status 429, und Sie wiederholen die Anfrage nach einer Pause.

Neuer Kunde

POST /partner/create-customer legt ein Konto für Ihren Kunden an und erwartet einen JSON-Body mit diesen Feldern:

FeldTypPflichtBeschreibung
emailStringjaE-Mail-Adresse des ersten Benutzers. Sie darf noch zu keinem Webmetic-Konto gehören
websiteStringjaDomain oder volle Adresse der Website
whitelabelBooleanneintrue legt einen White-Label-Kunden an. Standard ist false

Webmetic kürzt website auf die Hauptdomain und speichert die Domain in Kleinbuchstaben. Aus https://www.Kunde-Beispiel.de/preise wird kunde-beispiel.de, aus shop.kunde-beispiel.de ebenfalls.

curl -X POST "https://hub.webmetic.de/partner/create-customer" \
  -H "Authorization: wmtc_IHR_API_SCHLUESSEL" \
  -H "Content-Type: application/json" \
  -d '{"email": "kontakt@kunde-beispiel.de", "website": "kunde-beispiel.de", "whitelabel": true}'

Die Antwort enthält die Zugangsdaten des neuen Kontos:

{
  "account_id": "KUNDEN_ACCOUNT_ID",
  "email": "kontakt@kunde-beispiel.de",
  "password": "pX7kTq2mWb9R",
  "api_key": "wmtc_KUNDEN_API_SCHLUESSEL",
  "status": "partner_trial",
  "account_type": "partner_customer",
  "website": "kunde-beispiel.de",
  "whitelabel": true
}

Das Konto hat einen Benutzer mit der Rolle Admin und ein zufälliges Passwort.

Speichern Sie das Passwort sofort, denn Webmetic gibt es kein zweites Mal aus.

Weil Webmetic beim Anlegen über die API keine Zugangsdaten sendet, geben Sie E-Mail-Adresse und Passwort selbst an Ihren Kunden weiter.

Der Kunde kann sich damit sofort anmelden, auch auf Ihrer White-Label-Domain.

Sie rechnen den neuen Kunden ab. Ein White-Label-Kunde sieht die Funktionen, die Sie unter Funktionen für Kunden festlegen freischalten.

Über die API setzen Sie whitelabel nur beim Anlegen, und später ändern Sie den Wert auf der Kundenseite im Dashboard.

Daten kommen erst an, wenn der Tracking-Code mit der Account-ID des Kunden auf seiner Website läuft. Wie Sie den Code übergeben, steht unter Kunden anlegen.

Kundenliste und einzelner Kunde

GET /partner/customers liefert alle Kunden Ihres Partnerkontos, die neuesten zuerst. Die Liste enthält auch Kunden, die Sie im Dashboard angelegt haben.

ParameterTypStandardBeschreibung
limitInteger100Kunden pro Seite, 1 bis 500
offsetInteger0Wie viele Kunden die Antwort überspringt

count ist die Zahl der Kunden auf dieser Seite, total die Zahl aller Kunden. Um weiterzublättern, erhöhen Sie offset um limit, bis offset mindestens total erreicht.

{
  "customers": [
    {
      "account_id": "KUNDEN_ACCOUNT_ID",
      "account": "kunde-beispiel",
      "email": "kontakt@kunde-beispiel.de",
      "status": "partner_trial",
      "account_type": "partner_customer",
      "api_key": "wmtc_KUNDEN_API_SCHLUESSEL",
      "websites": ["kunde-beispiel.de"],
      "usage": [],
      "whitelabel": true,
      "created_at": "2026-10-22T09:14:03.512000"
    }
  ],
  "count": 1,
  "total": 1,
  "limit": 100,
  "offset": 0,
  "partner_account_id": "IHRE_ACCOUNT_ID"
}

GET /partner/customers/KUNDEN_ACCOUNT_ID liefert einen Kunden mit denselben Feldern. Für eine unbekannte Account-ID und für Kunden eines anderen Partners antwortet die API gleich: 404 mit CUSTOMER_NOT_FOUND.

Felder eines Kunden

FeldBeschreibung
account_idAccount-ID des Kunden
accountName der Website ohne Endung, beim Anlegen gesetzt
emailE-Mail-Adresse des ersten Benutzers, sonst null
statusStand des Kontos. Ein über die API angelegter Kunde hat partner_trial. Wenn Webmetic den Kunden abrechnet, kommen andere Werte vor, zum Beispiel trial
account_typeWer abrechnet: partner_customer heißt Sie, partner_direct heißt Webmetic
api_keyEigener API-Schlüssel des Kunden
websitesDomains des Kunden in der gespeicherten Schreibweise
usageMonatsvolumen pro Abrechnungszeitraum, bei neuen Kunden leer
whitelabelOb der Kunde ein White-Label-Kunde ist. Das wirkt nur, solange Sie ihn abrechnen
created_atZeitpunkt der Anlage in ISO 8601 ohne Zeitzone

Steuern Sie Ihre Logik über account_type, nicht über status, denn nur account_type sagt, wer abrechnet.

Ein Eintrag in usage enthält unter anderem diese Felder:

FeldBeschreibung
periodAbrechnungszeitraum als YYYY-MM-DD_YYYY-MM-DD
company_countErkannte Unternehmen im Zeitraum bis jetzt
estimateErwartete Unternehmen für 30 Tage. Nur im laufenden Zeitraum
confidenceVerlässlichkeit der Schätzung von excellent bis very_low, oder no_data. Nur im laufenden Zeitraum

Das Dashboard zeigt Account-ID und API-Schlüssel eines Kunden ebenfalls unter Menü > Partnerbereich > Kunden, auf der Kundenseite unter Kontodaten.

Websites eines Kunden

POST /partner/customers/KUNDEN_ACCOUNT_ID/websites fügt eine Website hinzu, mit dem Body {"website": "kunde-beispiel.de"}. Webmetic kürzt die Angabe wie beim Anlegen auf die Hauptdomain.

Wenn der Kunde diese Domain schon hat oder ein anderes Webmetic-Konto sie nutzt, antwortet die API mit 409. Das gilt auch für Subdomains, denn Webmetic erfasst sie unter der Hauptdomain, siehe Subdomains erfassen.

DELETE /partner/customers/KUNDEN_ACCOUNT_ID/websites/DOMAIN entfernt eine Domain, die Sie genau so schreiben, wie websites sie zeigt.

Webmetic entfernt nur den Eintrag und löscht keine Besuchsdaten. Das Konto bleibt auch ohne Website bestehen.

Beide Endpunkte antworten mit der vollständigen Liste:

{"account_id": "KUNDEN_ACCOUNT_ID", "websites": ["kunde-beispiel.de"]}

Besuchsdaten Ihrer Kunden

Mit Ihrem Schlüssel lesen Sie die Besuchsdaten jeder Domain, die in websites eines Ihrer Kunden steht. Das gilt für /company-sessions, /company, /company_nace, /session, /session_user_data, /intensive-visits, /returning-visits und /new-visits.

Sie erhalten dieselben Daten wie mit dem Schlüssel des Kunden. Parameter, Blättern und Antworten sind dieselben wie in der API-Referenz.

Es gilt dasselbe Limit von einer Anfrage pro Sekunde je Endpunkt, und zusätzlich gelten diese Regeln:

  • Geben Sie domain genau in der gespeicherten Schreibweise an: ohne https://, ohne www., in derselben Groß- und Kleinschreibung. Sonst antwortet die API mit 403 und API_KEY_NOT_AUTHORIZED.
  • /company nimmt domain mehrfach an und fasst die Unternehmen mehrerer Kunden zusammen. Die Antwort zeigt nicht, zu welchem Kunden ein Unternehmen gehört.
  • Es gelten die Grenzen des Kundenkontos. Wenn Webmetic den Kunden abrechnet und er im Free-Plan ist, sind manche Unternehmen verborgen.
  • Nach dem Entfernen einer Domain antworten Abfragen dazu mit API_KEY_NOT_AUTHORIZED, mit Ihrem Schlüssel und mit dem des Kunden.

Mit Ihrem Schlüssel erreichen Sie Ansprechpartner und Enrichment nicht. Für Contacts nutzen Sie deshalb den api_key des Kunden.

Die Suche nach Ansprechpartnern braucht die Einrichtung der Ansprechpartner im Dashboard des Kunden. Das Freischalten von E-Mail-Adresse oder Telefonnummer kostet seine Credits.

Enrichment nutzt den Enrichment-Schlüssel des jeweiligen Kontos.

Fehler

Fehler haben dasselbe Format wie bei der übrigen API, zum Beispiel bei einer unbekannten Account-ID mit Status 404:

{
  "detail": {
    "error": "CUSTOMER_NOT_FOUND",
    "message": "No customer with this account id."
  }
}

Werten Sie den Code in detail.error aus. Der englische Text in detail.message ist für Menschen gedacht und kann sich ändern. Mehr dazu unter Fehler.

Statusdetail.errorBedeutung
400INVALID_WEBSITEKeine Domain mit gültiger Endung, zum Beispiel localhost oder eine IP-Adresse
403API_KEY_MISSINGKein Header Authorization
403API_KEY_INVALIDFalsches Format, zum Beispiel Bearer davor
403API_KEY_NOT_FOUNDDen Schlüssel gibt es nicht, etwa weil er neu generiert wurde
403NOT_A_PARTNERDer Schlüssel gehört zu einem Konto ohne Partnerbereich
404CUSTOMER_NOT_FOUNDUnbekannte Account-ID oder Kunde eines anderen Partners
404WEBSITE_NOT_FOUNDDer Kunde hat diese Domain nicht
409EMAIL_ALREADY_EXISTSEin Webmetic-Konto nutzt die E-Mail-Adresse bereits
409WEBSITE_ALREADY_EXISTSBeim Anlegen: ein anderes Webmetic-Konto nutzt die Website. Beim Hinzufügen: der Kunde hat sie schon, oder ein anderes Webmetic-Konto nutzt sie
422VALIDATION_ERRORPflichtfeld fehlt, E-Mail-Adresse ungültig, limit oder offset außerhalb des Bereichs. Die Liste errors nennt jede Stelle
429RATE_LIMITEDMehr Anfragen pro Minute, als der Endpunkt annimmt. Warten Sie und wiederholen Sie die Anfrage
500INTERNAL_ERRORFehler bei Webmetic. Wiederholen Sie die Anfrage später

Grenzen

  • Die Partner-API sendet keine Webhooks, und Sie fragen neue Daten pro Domain ab. Webhooks stehen pro Webmetic-Konto bereit. Mehr dazu unter Webhooks.
  • Sie richten White-Label-Domain, Branding und Funktionen für Kunden im Dashboard ein.
  • Auf der Kundenseite im Dashboard ändern Sie, wer einen Kunden abrechnet.
  • Nur die Antwort beim Anlegen enthält das Passwort eines Kunden.

Nächste Schritte

Auf dieser Seite