Integrationen

API-Schlüssel, Buchungs-Widget und Berechtigungen

API-Schlüssel

Mit einem API-Schlüssel kann eine andere Website oder ein anderes Programm mit Ihrem FullClass-Konto sprechen. Sie brauchen einen, um das Buchungswidget auf Ihrer eigenen Website einzubinden oder ein Tool wie Zapier zu verbinden. Nutzen Sie nur Ihre Buchungsseite auf FullClass, brauchen Sie keinen. Es gibt zwei Arten, und sie gehören an verschiedene Stellen.

Präfix Wo er hingehört Wie er geschützt ist
pk_
Öffentlich
Browser, das Buchungswidget, Einbindungen und mobile Apps. Er ist durch seine Berechtigungen (was er tun darf) und eine Liste zulässiger Ursprünge (welche Websites ihn nutzen dürfen) begrenzt. Im Code Ihrer Website ist er sicher, solange beides eng gefasst ist.
sk_
Geheim
Nur Servercode. Behandeln Sie ihn wie ein Passwort. Setzen Sie ihn nie in Website-Code, öffentliche Code-Repositorys, Screenshots, Support-Anfragen oder Website-Baukästen. Ein geheimer Schlüssel hat vollen Zugriff, außer Sie wählen beim Erstellen Eingeschränkt und haken nur an, was er tun darf. Wählen Sie das für einen Schlüssel, den Sie in einen anderen Dienst einfügen.
  • Schlüssel erstellen und widerrufen Sie unter Einstellungen → API-Schlüssel.
  • Erstellen Sie neue Schlüssel, wenn eine Agentur, ein Dienstleister oder eine Person im Team wechselt.
  • Jeder Schlüssel zeigt, wann er zuletzt genutzt wurde. So erkennen Sie Schlüssel, die niemand braucht.
Sicherheit der Schlüssel. Ein pk_-Schlüssel darf gesehen werden. Er steht im Quelltext Ihrer Seite, und seine Berechtigungen begrenzen ihn. Geben Sie ihm also nur, was Ihre Website braucht. Eine Liste zulässiger Ursprünge lohnt sich ebenfalls, aber wissen Sie, was sie tut. Sie verhindert, dass eine andere Website Ihren Schlüssel im Browser nutzt. Sie kann nicht verhindern, dass jemand den Schlüssel aus eigener Software nutzt, denn ein Programm, das kein Browser ist, sendet den Ursprung nicht, den wir prüfen. Keine Einstellung macht einen sk_-Schlüssel im Browser sicher.

Buchungswidget

Das Widget setzt Ihre vollständige Buchungsseite mit Bezahlvorgang in Ihre eigene Website. Sie brauchen es nur, wenn Kunden buchen sollen, ohne Ihre Website zu verlassen. Geben Sie diesen Teil an die Person, die Ihre Website betreut. Sie fügt einen Container ein, lädt das Skript und startet es mit einem öffentlichen Schlüssel:

<div id="booking-widget"></div>
<script src="https://app.fullclass.io/sdk/v1/booking.min.js"></script>
<script>
  FullClassBooking.init({
    apiKey: "pk_your_public_api_key",
    container: "#booking-widget"
  });
</script>
  • Sprache: Das Widget nutzt die Sprache Ihrer Buchungsseite, eingestellt unter Einstellungen → Buchungswidget. Im Code müssen Sie nichts ergänzen. Soll eine Einbindung in einer anderen Sprache bleiben, ergänzen Sie data-fullclass-locale="en" (oder locale: "en" in init).
  • Eine Kategorie pro Seite: Hat jede Aktivität eine eigene Seite auf Ihrer Website, öffnen Sie Einstellungen → Kategorien und klicken Sie neben der Kategorie auf Widget-Code kopieren. Fügen Sie ihn auf dieser Seite in das <div> des Widgets ein, neben data-fullclass-apikey. Dieses Widget zeigt dann nur diese Kategorie und blendet die Kategorie-Reiter aus.
  • Anpassung: eingebaute Sprachen, eigene Formulierungen für jeden Text, Designfarben, über 100 CSS Custom Properties und eigene Anzeigen für Laden, leere Listen und Fehler.
  • Bare-Modus: Übergeben Sie injectStyles: false, um die Struktur des Widgets ohne sein CSS zu behalten. Dann gelten die Styles Ihrer Website.
  • Steuerung per Code: Der Code Ihrer Seite kann den Kauf eines Geschenkgutscheins oder das Buchungsformular für einen bestimmten Kurs öffnen.
  • Zulässige Ursprünge: Geben Sie den genauen Ursprung mit Protokoll, Subdomain und Port an. https://www.example.com ist ein anderer Ursprung als https://example.com. Tragen Sie also beide ein, wenn Sie beide nutzen. Für den Schlüssel im fertigen Einbindungscode legen Sie das am schnellsten unter Einstellungen → Buchungswidget fest, direkt unter dem Code. Ist die Angabe falsch, lädt das Widget bei Ihren Kunden nicht mehr. Um das rückgängig zu machen, leeren Sie das Feld und speichern Sie.

Berechtigungen und API-Funktionen

Berechtigungen (Scopes) sind die Rechte eines Schlüssels. Sie legen fest, was der Schlüssel tun kann. Geben Sie jedem Schlüssel nur, was er braucht. Dieser Teil ist vor allem für die Person, die Ihre Website betreut.

Berechtigung Was sie erlaubt
events:read Veranstaltungen auflisten und Veranstaltungsdetails lesen.
bookings:write Neue Buchungen erstellen. Eine Buchung im Namen eines bestehenden Kunden (purchaser_type: account) braucht zusätzlich einen geheimen Schlüssel.
bookings:read Details bestehender Buchungen lesen (aus Servercode).
bookings:cancel Eine Buchung stornieren. Mit einem öffentlichen Schlüssel muss die Anfrage zusätzlich das cancellation_token der Buchung senden.
customers:write Kundendatensätze registrieren.
giftcards:read Guthaben oder verbleibende Kurse eines Geschenkgutscheins abfragen.
giftcards:write Geschenkgutscheine kaufen.

Die öffentliche API kann Veranstaltungen auflisten und Veranstaltungsdetails lesen. Sie kann Haftungsausschlüsse und Zusatzleistungen abrufen und Buchungen erstellen, lesen und stornieren. Sie kann außerdem Kunden anlegen und registrieren, Rabattcodes prüfen und Geschenkgutscheine abfragen oder kaufen. Es gibt keine API zum Einlösen eines Geschenkgutscheins. Der Bezahlvorgang nimmt den Code innerhalb der Buchung an, und Mitarbeitende nutzen auf der Buchungsseite Gutschein einlösen.

Idempotenz. Senden Sie immer einen Idempotenzschlüssel, wenn Ihr Servercode Buchungen erstellt. So bucht ein erneuter Versuch nicht doppelt.

Geschenkgutscheine, die Sie anderswo verkauft haben

Manche Studios nehmen das Geld für ein Kursguthaben oder einen Geschenkgutschein außerhalb von FullClass ein, zum Beispiel über einen Stripe-Zahlungslink, ein Kartenterminal oder eine Banküberweisung. Ihr Server kann FullClass den Gutschein dann ausstellen lassen, ohne den Käufer erneut zu belasten. Senden Sie einen POST an /v1/giftcards mit einem external_purchase-Block statt Kartendaten:

{
  "type": "class_pass",
  "class_pass_count": 5,
  "purchased_by_email": "[email protected]",
  "external_purchase": {
    "reference": "pi_3RxAbCdEfGhIjKlM",
    "amount_cents": 8000
  }
}
  • Nur mit geheimem Schlüssel. Das stellt einen bezahlten Gutschein aus, ohne eine Zahlung einzuziehen. Deshalb wird ein pk_-Schlüssel abgewiesen. Rufen Sie es von Ihrem Server auf, nie von einer Webseite.
  • Die Referenz verhindert Duplikate. Tragen Sie die ID der Zahlung aus Ihrem eigenen System in reference ein. Kommt dieselbe zweimal an (ein Webhook sendet erneut, oder ein Skript läuft noch einmal), wird der zweite Aufruf abgewiesen, und es wird kein zweiter Gutschein ausgestellt.
  • Sie legen den Preis fest. amount_cents ist der Betrag, den Sie tatsächlich eingenommen haben. Er wird nicht mit dem Preis Ihres Kursguthabens abgeglichen. So können Sie dasselbe Kursguthaben zu mehr als einem Preis verkaufen.
  • Senden Sie den Betrag inklusive Steuern. Senden Sie den vollen Betrag, den der Käufer bezahlt hat. Bei einem Kursguthaben behandelt FullClass ihn als inklusive der Steuer, die Sie auf Kursguthaben erheben, zu den Steuersätzen aus Ihren Kursguthaben-Einstellungen.
  • Es zählt als Verkauf. Der Käufer erhält die üblichen E-Mails mit Code und Beleg, und Sie erhalten die Benachrichtigung über den neuen Verkauf. In Ihren Berichten erscheint der Gutschein als Außerhalb von FullClass bezahlt, nicht als Geschenk.