Skip to content

Für Entwickler

Erstellen Sie Integrationen mit der MySpeedPuzzling-Plattform. Greifen Sie auf Spielerergebnisse, Statistiken, Sammlungen und mehr über unsere REST API zu.

API-Dokumentation

Interaktive Swagger UI mit allen verfügbaren Endpoints, Anfrageparametern und Antwortschemata.

Live-Demo

Sehen Sie eine funktionierende OAuth2-Integration in Aktion. Authentifizieren Sie sich, rufen Sie Daten ab und erkunden Sie den Ablauf.

Quellcode

Vollständige PHP-Demo-Anwendung, die den OAuth2 Authorization Code Flow zeigt. Klonen Sie sie und legen Sie los.

Authentifizierung

Zwei Möglichkeiten zur Authentifizierung bei der API, je nach Anwendungsfall.

Personal Access Token

Generieren Sie einen Token für den programmatischen Zugriff auf Ihre eigenen Daten. Ideal für Home Assistant, persönliche Skripte und Automatisierungen.

Authorization: Token msp_pat_...

OAuth2 — Benutzerauthentifizierung

Authorization Code Flow für Drittanbieter-Apps. Benutzer autorisieren Ihre App, auf ihre Daten mit detaillierten Scopes zuzugreifen. Unterstützt Lese- und Schreiboperationen.

OAuth2 — Dienst

Client Credentials Flow für die Kommunikation zwischen Diensten. Lesezugriff auf die Daten jedes öffentlichen Spielers ohne Benutzerinteraktion.

So authentifizieren Sie sich

Wofür ist das gut?

Wenn Sie nur auf Ihre eigenen Daten zugreifen möchten. Perfekt für persönliche Automatisierungen — importieren Sie Ihre Ergebnisse in Home Assistant, zeigen Sie Ihre Statistiken auf einem persönlichen Dashboard an, verfolgen Sie Ihren Fortschritt in einer Tabelle oder erstellen Sie ein benutzerdefiniertes Benachrichtigungsskript.


Generieren Sie einen Token in Ihren Profileinstellungen und verwenden Sie ihn im Authorization-Header:

curl -H "Authorization: Token msp_pat_YOUR_TOKEN_HERE" \
  https://myspeedpuzzling.com/api/v1/me

PAT gibt Ihnen vollen Zugriff auf alle /api/v1/me/*-Endpoints. Keine Scopes erforderlich. Zugriff auf Daten anderer Spieler ist nicht möglich.

Wofür ist das gut?

Wenn Sie eine App entwickeln, bei der sich Benutzer mit ihrem MySpeedPuzzling-Konto anmelden. Ihre App kann dann in ihrem Namen auf ihre Daten zugreifen — ihre Ergebnisse auf Ihrer Website anzeigen, ihnen ermöglichen, Lösezeiten über Ihr Wettbewerbstool hinzuzufügen, oder ihre Sammlungen über eine benutzerdefinierte Oberfläche verwalten.


Schritt 1: Leiten Sie den Benutzer weiter, um Ihre App zu autorisieren:

https://myspeedpuzzling.com/oauth2/authorize?
  client_id=YOUR_CLIENT_ID
  &response_type=code
  &redirect_uri=https://your-app.com/callback
  &scope=profile:read results:read
  &state=RANDOM_STATE

Schritt 2: Tauschen Sie den Autorisierungscode gegen Tokens:

curl -X POST https://myspeedpuzzling.com/oauth2/token \
  -d "grant_type=authorization_code" \
  -d "code=AUTH_CODE_FROM_REDIRECT" \
  -d "redirect_uri=https://your-app.com/callback" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET"

Schritt 3: Verwenden Sie den Access Token:

curl -H "Authorization: Bearer ACCESS_TOKEN" \
  https://myspeedpuzzling.com/api/v1/me/results

Schritt 4: Wenn der Access Token abläuft, verwenden Sie den Refresh Token, um einen neuen zu erhalten:

curl -X POST https://myspeedpuzzling.com/oauth2/token \
  -d "grant_type=refresh_token" \
  -d "refresh_token=REFRESH_TOKEN" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET"

Access Token läuft nach 1 Stunde ab. Refresh Tokens sind 1 Monat gültig.

Wofür ist das gut?

Wenn Sie statistische Daten benötigen oder auf die öffentlichen Ergebnisse eines beliebigen Spielers ohne Benutzerinteraktion zugreifen möchten. Ideal für Bestenlisten-Widgets, Wettbewerbsergebnis-Anzeigen, Community-Statistik-Dashboards oder Datenanalyse-Tools.


Schritt 1: Fordern Sie direkt einen Access Token an:

curl -X POST https://myspeedpuzzling.com/oauth2/token \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET" \
  -d "scope=results:read statistics:read"

Schritt 2: Verwenden Sie den Access Token, um die Daten eines öffentlichen Spielers zu lesen:

curl -H "Authorization: Bearer ACCESS_TOKEN" \
  https://myspeedpuzzling.com/api/v1/players/PLAYER_UUID/results

Nur Lesezugriff. /me-Endpoints nicht verfügbar. Versteckte/private Spieler liefern leere Ergebnisse.

Verfügbare Scopes

profile:read Standard

Benutzerprofil lesen

results:read

Spielerergebnisse lesen

statistics:read

Spielerstatistiken lesen

collections:read

Spielersammlungen lesen

solving-times:write nur Auth Code

Lösungszeiten erstellen und bearbeiten

collections:write nur Auth Code

Sammlungen erstellen, bearbeiten, löschen

Verfügbare Endpoints

Welche Endpoints Sie nutzen können, hängt von Ihrer Authentifizierungsmethode ab.

Endpoint PAT Auth Code Client Credentials
Ihre eigenen Daten (/me)
GET /api/v1/me
GET /api/v1/me/results
GET /api/v1/me/statistics
GET /api/v1/me/collections
POST /api/v1/me/solving-times
PUT /api/v1/me/solving-times/{id}
POST/PUT/DELETE /api/v1/me/collections/*
Öffentliche Daten anderer Spieler
GET /api/v1/players/{id}/results
GET /api/v1/players/{id}/statistics
GET /api/v1/players/{id}/collections
PAT — nur Ihre eigenen Daten. Keine Scopes erforderlich, voller Zugriff auf alle /me-Endpoints.
Auth Code — alle Endpoints. Zugriff abhängig von gewährten Scopes. Schreib-Scopes verfügbar.
Client Credentials — Lesezugriff auf jeden öffentlichen Spieler. Keine /me-Endpoints.
Fair-Use-Richtlinie

Bevor Sie Tokens generieren oder API-Zugang beantragen, lesen und akzeptieren Sie bitte unsere API Fair-Use-Richtlinie.

Erste Schritte

Persönliche Nutzung

Möchten Sie auf Ihre eigenen Daten zugreifen? Generieren Sie sofort einen Personal Access Token in Ihren Profileinstellungen. Keine Genehmigung erforderlich.

Anmelden
Drittanbieter-Anwendung

Entwickeln Sie eine App, die OAuth2-Zugang benötigt? Senden Sie eine Anfrage und wir prüfen sie. Sie erhalten Ihre Zugangsdaten nach Genehmigung.

Anmelden, um zu beantragen

Fragen? Schreiben Sie uns an jan@myspeedpuzzling.com.