Partner-API: Kunden-Workspaces anlegen und verwalten
Lege Kunden-Workspaces aus einer Branchenvorlage an, richte sie mit einem Workspace-Token ein und verwalte Nutzer, Abrechnung und Provision aus deinem eigenen System.
Die Partner-API verbindet dein eigenes System mit meetergo. Lege einen Kunden-Workspace an, sobald eine Bestellung bezahlt ist, starte ihn aus einer Branchenvorlage, richte ihn über die Platform API ein und verwalte seine Nutzer. Jeder Aufruf folgt denselben Regeln wie das Partnerportal.
Neu bei der API? Folge Kunden-Workspace mit Buchungsseite in 10 Minuten. Dort findest du den ganzen Ablauf mit curl und Node. Lieber aus Claude oder ChatGPT heraus? Derselbe Schlüssel funktioniert mit dem meetergo MCP-Server. Siehe Kunden-Workspaces mit Claude oder ChatGPT über meetergo MCP einrichten.
Du legst die Kunden-Workspaces selbst an, im Portal oder per API. meetergo legt keine Workspaces für dich an. Die API legt den Workspace, den ersten Admin und eine Start-Buchungsseite an. Terminarten, Verfügbarkeit und Branding richtest du danach im Workspace ein, oder per API mit einer Branchenvorlage und dem Workspace-Token.
Bevor du startest
- Deine Partnerfirma hat freigegebene kommerzielle Konditionen, und du hast die aktuellen Partnerbedingungen akzeptiert.
- Du bist Admin deiner Partnerfirma.
- Für Partner zahlt meetergo ist die Partner-Abrechnung eingerichtet. Siehe Kunden-Workspace anlegen und einrichten.
API-Schlüssel erstellen
- Öffne Partnerportal > API.
- Wähle API-Schlüssel erstellen und gib dem Schlüssel einen Namen, zum Beispiel „Produktion“.
- Kopiere den Schlüssel. Er beginnt mit
mgp_und wird nur einmal angezeigt.
Speichere den Schlüssel als Secret auf deinem Server. Nutze ihn nie in einer Website oder App: Wer den Schlüssel hat, kann Workspaces anlegen, die dir berechnet werden.
Der Schlüssel handelt als der Partneradmin, der ihn erstellt hat. Er funktioniert nicht mehr, wenn du ihn widerrufst oder wenn diese Person kein Admin deiner Partnerfirma mehr ist. Du kannst zwei aktive Schlüssel haben. So wechselst du zu einem neuen Schlüssel, bevor du den alten widerrufst.
Authentifizierung
Sende den Schlüssel bei jeder Anfrage als Bearer-Token:
Authorization: Bearer mgp_...
Basis-URL: https://api.meetergo.com
Alle Endpunkte stehen in der OpenAPI-Spezifikation unter api.meetergo.com/spec/v2 mit dem Tag Partner API.
Endpunkte
| Methode | Pfad | Zweck |
|---|---|---|
POST | /v4/partner/customers | Kunden-Workspace anlegen |
GET | /v4/partner/customers | Deine Kunden auflisten |
GET | /v4/partner/customers/{companyId} | Einen Kunden abrufen |
PATCH | /v4/partner/customers/{companyId} | Kunden umbenennen oder Kommunikation ändern |
POST | /v4/partner/customers/{companyId}/token | Workspace-Token für die Platform API holen |
GET | /v4/partner/customers/{companyId}/users | Nutzer des Kunden auflisten |
POST | /v4/partner/customers/{companyId}/users | Nutzer einladen |
DELETE | /v4/partner/customers/{companyId}/users/{userId} | Nutzer entfernen oder Einladung stornieren |
GET | /v4/partner/billing/summary | Plätze, geschätzter Monatsbetrag netto und Rabatt |
GET | /v4/partner/commissions | Einträge im Refer-Provisionskonto |
GET | /v4/partner/commissions/summary | Zurückgestellte, verfügbare und ausgezahlte Provision |
Kunden anlegen
POST /v4/partner/customers
curl -X POST https://api.meetergo.com/v4/partner/customers \
-H "Authorization: Bearer $MEETERGO_PARTNER_KEY" \
-H "Content-Type: application/json" \
-d '{
"requestId": "6f1c2a8e-3b4d-4e5f-8a9b-0c1d2e3f4a5b",
"companyName": "Friseur Muster",
"adminFirstName": "Max",
"adminLastName": "Muster",
"adminEmail": "max@friseur-muster.de",
"language": "de",
"timezone": "Europe/Berlin",
"billingResponsibility": "partner",
"suiteTier": "suite",
"communicationOwner": "partner",
"contactConsentConfirmed": true,
"templateKey": "beauty"
}'
| Feld | Pflicht | Bedeutung |
|---|---|---|
requestId | Ja | Eine UUID, die du einmal pro Bestellung erzeugst. Macht Wiederholungen sicher. |
companyName | Ja | Name der Firma deines Kunden. |
adminFirstName, adminLastName | Ja | Name des ersten Admins beim Kunden. |
adminEmail | Ja | Bekommt die Einladung. Darf noch kein meetergo-Konto haben. |
language | Ja | Sprache für E-Mails und die Buchungsseite, zum Beispiel de. |
timezone | Ja | Zum Beispiel Europe/Berlin. |
billingResponsibility | Ja | partner: auf deiner monatlichen Partnerrechnung. customer: der Kunde zahlt meetergo selbst. |
suiteTier | Bei partner | light, suite oder premium. |
communicationOwner | Ja | partner oder meetergo: wer den Kunden zu seinem Konto kontaktiert. |
contactConsentConfirmed | Ja | Muss true sein. Bestätigt, dass der Kunde der Einrichtung und dem Kontakt zugestimmt hat. |
templateKey | Nein | Startet aus einer Branchenvorlage. Siehe unten. |
partnerRetailPricePerSeatEur | Nein | Dein eigener Preis pro Platz, nur für deine Übersicht, zum Beispiel "19.00". |
extraEmails | Nein | Weitere Teammitglieder zum Einladen, bis zu 100. |
Die Antwort enthält:
| Feld | Bedeutung |
|---|---|
customer | Der neue Kunde, mit companyId und bookingPageUrl. |
setupStatus | ready, oder attention_required, wenn du etwas prüfen solltest. |
setupAttention | Was du prüfen solltest, zum Beispiel booking_page_setup_failed. |
adminInviteDelivery | sent oder failed. |
additionalInvites | Ergebnis für extraEmails. |
template | { key, version, meetingTypes: [{ id, name, slug }] }, oder null ohne Vorlage. |
Der Admin deines Kunden bekommt eine Einladung per E-Mail und legt sein Passwort selbst fest. Die Buchungsseite nimmt sofort Buchungen an, auch vor der Annahme der Einladung.
Erzeuge die requestId einmal pro Bestellung und speichere sie. Läuft eine Anfrage in einen Timeout, sende sie mit derselben requestId und demselben Body erneut. Du bekommst dann den bestehenden Kunden zurück statt eines zweiten Workspaces.
Branchenvorlagen
Mit templateKey startet der Workspace mit den Terminarten, wöchentlichen Öffnungszeiten, E-Mail-Erinnerungen und, wo sinnvoll, einem Routing-Formular der Branche. Die Inhalte der Vorlagen sind auf Deutsch.
templateKey | Für |
|---|---|
beauty | Kosmetik- und Friseursalons |
craftsmen | Handwerksbetriebe |
insurance | Versicherungsmakler |
consulting | Beratungen |
Ohne templateKey bekommt der Workspace wie bisher eine Start-Buchungsseite. Die Vorlage wird einmal beim Anlegen angewendet. Änderungen danach machst du mit einem Workspace-Token.
Kunden auflisten und abrufen
curl "https://api.meetergo.com/v4/partner/customers?limit=50&offset=0" \
-H "Authorization: Bearer $MEETERGO_PARTNER_KEY"
curl https://api.meetergo.com/v4/partner/customers/{companyId} \
-H "Authorization: Bearer $MEETERGO_PARTNER_KEY"
Die Liste liefert deine aktiven Kunden, die neuesten zuerst. limit liegt zwischen 1 und 100. hasMore zeigt, ob es eine weitere Seite gibt.
Kunden ändern
Sende companyName, communicationOwner oder beides. Die Antwort ist der geänderte Kunde.
curl -X PATCH https://api.meetergo.com/v4/partner/customers/{companyId} \
-H "Authorization: Bearer $MEETERGO_PARTNER_KEY" \
-H "Content-Type: application/json" \
-d '{ "companyName": "Friseur Muster GmbH", "communicationOwner": "meetergo" }'
Workspace-Token
Mit einem Workspace-Token richtet dein System genau einen Kunden-Workspace über die normale Platform API ein: Terminarten, Verfügbarkeit, Buchungsseite, Routing-Formulare und mehr.
Token holen
curl -X POST https://api.meetergo.com/v4/partner/customers/{companyId}/token \
-H "Authorization: Bearer $MEETERGO_PARTNER_KEY"
{
"token": "mgw_...",
"tokenType": "Bearer",
"companyId": "3f2b...",
"expiresAt": "2026-10-01T10:00:00.000Z",
"expiresIn": 3600
}
Token nutzen
Sende den Token statt deines mgp_-Schlüssels:
curl https://api.meetergo.com/v4/meeting-type \
-H "Authorization: Bearer $MEETERGO_WORKSPACE_TOKEN"
- Er gilt für genau diesen einen Kunden-Workspace.
- Er handelt mit deinem Partneradmin-Zugang in diesem Workspace, wie Workspace öffnen im Portal.
- Sende nicht den Header
x-meetergo-api-user-id. Anfragen damit werden abgelehnt.
Token erneuern
Der Token gilt 1 Stunde. Hol dir danach mit deinem mgp_-Schlüssel einen neuen. Einen Refresh-Token gibt es nicht.
Was ein Workspace-Token nicht kann
Diese Anfragen liefern 403:
- API-Schlüssel oder persönliche Zugriffstoken im Kunden-Workspace erstellen
- alles, was den Kontakten des Kunden Nachrichten sendet: WhatsApp, SMS, E-Mail-Versand, Newsletter und ausgehende Mira-Nachrichten
- interne Dashboard-Endpunkte (
/rpc)
Der Kunde behält die Kontrolle
Jede Anfrage mit einem Workspace-Token wird protokolliert. Die Admins deines Kunden sehen unter Einstellungen > Entwickler den Hinweis Dein Partner (Name) hat API-Zugang mit deinen letzten API-Änderungen.
Sie können diesen Zugang entziehen und jederzeit wiederherstellen. Solange er entzogen ist, liefern das Holen eines Tokens und jeder bestehende Token 403 mit dem Hinweis, dass der Kunde den Partner-API-Zugang entzogen hat. Der Dashboard-Zugang über Workspace öffnen wird getrennt davon verwaltet. Siehe Partnerzugang, Übergabe und Entzug.
Kundennutzer verwalten
Es gelten dieselben Regeln wie unter Nutzer verwalten. Siehe Kundennutzer und abrechenbare Plätze verwalten.
# Nutzer auflisten
curl https://api.meetergo.com/v4/partner/customers/{companyId}/users \
-H "Authorization: Bearer $MEETERGO_PARTNER_KEY"
# 1 bis 100 Nutzer einladen
curl -X POST https://api.meetergo.com/v4/partner/customers/{companyId}/users \
-H "Authorization: Bearer $MEETERGO_PARTNER_KEY" \
-H "Content-Type: application/json" \
-d '{ "emails": ["anna@friseur-muster.de"] }'
# Nutzer entfernen oder offene Einladung stornieren
curl -X DELETE https://api.meetergo.com/v4/partner/customers/{companyId}/users/{userId} \
-H "Authorization: Bearer $MEETERGO_PARTNER_KEY"
- Die Liste liefert
companyNameunditems. Jeder Eintrag hatid,name,email,type,isAdmin,status(activeoderpending) undbillable. - Einladungen liefern
processedEmails,unprocessedEmailsunddeliveryFailedEmails. Eingeladene Nutzer bekommen die normale Einladungs-E-Mail von meetergo. Du legst nie Passwörter fest. - Ist eine Zustellung fehlgeschlagen, sende dieselbe Adresse erneut.
- Entfernen liefert
removedUserIdundremovedStatus.
Abrechnung und Provision
| Endpunkt | Liefert |
|---|---|
GET /v4/partner/billing/summary | Die Zahlen aus dem Tab Abrechnung im Portal: Plätze, geschätzter Monatsbetrag netto und Rabatt. |
GET /v4/partner/commissions?limit=&offset= | Deine Einträge im Refer-Provisionskonto. |
GET /v4/partner/commissions/summary | Zurückgestellte, verfügbare und ausgezahlte Summen in Cent, EUR. |
Siehe Refer-Provisionskonto und Auszahlungen.
Buchungsseite einbetten
Füge die zurückgegebene bookingPageUrl in die Website deines Kunden ein:
<div
style="min-width:330px"
class="meetergo-iframe"
data-src="{bookingPageUrl}"
></div>
<script src="https://cdn.meetergo.com/v4/integration.js"></script>
Fehler
Fehler kommen als JSON mit statusCode und message.
| Status | Bedeutung |
|---|---|
| 400 | Der Body ist ungültig. message ist eine Liste aus Feld: Problem. |
| 401 | Schlüssel oder Token fehlt, ist falsch, abgelaufen oder widerrufen, oder die Person, die den Schlüssel erstellt hat, ist kein Admin mehr. |
| 403 | Nicht erlaubt: Der Kunde hat den Partner-API-Zugang entzogen, der Workspace-Token darf diese Route nicht nutzen, deine Partnerrechte erlauben es nicht, dein Partnerzugang ist inaktiv, oder die aktuellen Partnerbedingungen sind noch nicht akzeptiert. |
| 404 | Den Kunden gibt es nicht, oder er wird nicht von dir verwaltet. |
| 409 | Konflikt: Die requestId wurde mit einem anderen Body genutzt, die E-Mail hat schon ein Konto, oder die Partner-Abrechnung ist nicht eingerichtet. |
| 429 | Zu viele Anfragen. Warte kurz und wiederhole die Anfrage mit derselben requestId. |
Schlüssel widerrufen
Öffne Partnerportal > API und wähle Widerrufen neben dem Schlüssel. Anfragen damit schlagen sofort fehl, ebenso Workspace-Tokens, die mit ihm geholt wurden. Bereits angelegte Kunden sind nicht betroffen.
Verwandte Artikel
War dieser Artikel hilfreich?
Lass uns wissen, ob dieser Artikel deine Fragen beantwortet hat.