Pour développeurs
Créez des intégrations avec la plateforme MySpeedPuzzling. Accédez aux résultats des joueurs, statistiques, collections et bien plus via notre REST API.
Documentation API
Interface Swagger UI interactive avec tous les endpoints disponibles, les paramètres de requête et les schémas de réponse.
Démo en direct
Découvrez une intégration OAuth2 fonctionnelle en action. Authentifiez-vous, récupérez des données et explorez le flux.
Code source
Application démo PHP complète montrant le flux OAuth2 authorization code. Clonez-la et commencez à construire.
Authentification
Deux façons de s'authentifier auprès de l'API, selon votre cas d'utilisation.
Personal Access Token
Générez un token pour accéder à vos propres données par programmation. Idéal pour Home Assistant, scripts personnels et automatisations.
Authorization: Token msp_pat_...
OAuth2 — Authentification utilisateur
Flux authorization code pour les applications tierces. Les utilisateurs autorisent votre application à accéder à leurs données avec des scopes détaillés. Prend en charge les opérations de lecture et d'écriture.
OAuth2 — Service
Flux client credentials pour la communication entre services. Accès en lecture seule aux données de tout joueur public sans interaction utilisateur.
Comment s'authentifier
À quoi ça sert ?
Quand vous souhaitez accéder uniquement à vos propres données. Parfait pour les automatisations personnelles — importez vos résultats dans Home Assistant, affichez vos statistiques sur un tableau de bord personnel, suivez votre progression dans un tableur ou créez un script de notifications personnalisé.
Générez un token depuis vos Paramètres de profil et utilisez-le dans l'en-tête Authorization :
curl -H "Authorization: Token msp_pat_YOUR_TOKEN_HERE" \
https://myspeedpuzzling.com/api/v1/me
PAT vous donne un accès complet à tous les endpoints /api/v1/me/*. Aucun scope nécessaire. Impossible d'accéder aux données des autres joueurs.
À quoi ça sert ?
Quand vous développez une application où les utilisateurs se connectent avec leur compte MySpeedPuzzling. Votre application peut ensuite accéder à leurs données en leur nom — afficher leurs résultats sur votre site web, leur permettre d'ajouter des temps de résolution via votre outil de compétition ou gérer leurs collections depuis une interface personnalisée.
Étape 1 : Redirigez l'utilisateur pour qu'il autorise votre application :
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
Étape 2 : Échangez le code d'autorisation contre des 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"
Étape 3 : Utilisez l'access token :
curl -H "Authorization: Bearer ACCESS_TOKEN" \
https://myspeedpuzzling.com/api/v1/me/results
Étape 4 : Quand l'access token expire, utilisez le refresh token pour en obtenir un nouveau :
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"
L'access token expire au bout d'1 heure. Les refresh tokens sont valides pendant 1 mois.
À quoi ça sert ?
Quand vous avez besoin de données statistiques ou souhaitez accéder aux résultats publics de n'importe quel joueur sans interaction utilisateur. Idéal pour créer des widgets de classement, des affichages de résultats de compétitions, des tableaux de bord de statistiques communautaires ou des outils d'analyse de données.
Étape 1 : Demandez un access token directement :
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"
Étape 2 : Utilisez l'access token pour lire les données de n'importe quel joueur public :
curl -H "Authorization: Bearer ACCESS_TOKEN" \
https://myspeedpuzzling.com/api/v1/players/PLAYER_UUID/results
Accès en lecture seule. Les endpoints /me ne sont pas disponibles. Les joueurs masqués/privés renvoient des résultats vides.
Scopes disponibles
profile:read
par défaut
Lire le profil utilisateur
results:read
Lire les résultats des joueurs
statistics:read
Lire les statistiques des joueurs
collections:read
Lire les collections des joueurs
solving-times:write
auth code uniquement
Créer et modifier les temps de résolution
collections:write
auth code uniquement
Créer, modifier, supprimer des collections
Endpoints disponibles
Les endpoints que vous pouvez utiliser dépendent de votre méthode d'authentification.
| Endpoint | PAT | Auth Code | Client Credentials |
|---|---|---|---|
| Vos propres données (/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/* |
— | ||
| Données publiques des autres joueurs | |||
GET /api/v1/players/{id}/results |
— | ||
GET /api/v1/players/{id}/statistics |
— | ||
GET /api/v1/players/{id}/collections |
— | ||
/me./me.Politique d'utilisation raisonnable
Avant de générer des tokens ou de demander l'accès à l'API, veuillez lire et accepter notre Politique d'utilisation raisonnable de l'API.
Pour commencer
Usage personnel
Vous souhaitez accéder à vos propres données ? Générez un Personal Access Token instantanément depuis les paramètres de votre profil. Aucune approbation nécessaire.
Se connecterApplication tierce
Vous développez une application nécessitant un accès OAuth2 ? Soumettez une demande et nous l'examinerons. Vous recevrez vos identifiants une fois approuvé.
Connectez-vous pour faire une demandeDes questions ? Contactez-nous à jan@myspeedpuzzling.com.