Permettez aux joueurs d'Arcadia de se connecter à votre site avec Steam. Notre API lie leur SteamID à leur identité RP (prénom, nom, photo) issue de notre base officielle.
| Méthode | Route |
|---|---|
| GET | /arcadiaconnect/auth |
| GET | /api/arcadia/player |
| POST | /api/arcadia/players/batch |
| GET | /api/arcadia/key/info |
| GET | /api/arcadia/stats |
https://bon.hinoake.xyz · Rate limit : 300 req/h par cléGET /api/arcadia/player{
"found": true,
"steam_id": "76561198450409644",
"rp_name": "Aaron DUBOIS",
"rp_first_name": "Aaron",
"rp_last_name": "DUBOIS",
"steam_name": "Aaron_D",
"steam_avatar": "https://avatars.steamstatic.com/abc123_full.jpg",
"steam_profile_url": "https://steamcommunity.com/profiles/76561198450409644/"
}curl -H "X-Api-Key: ac_votreclé" \ "https://bon.hinoake.xyz/api/arcadia/player?steam_id=76561198450409644"
const res = await fetch(
"https://bon.hinoake.xyz/api/arcadia/player?steam_id=76561198450409644",
{ headers: { "X-Api-Key": "ac_votreclé" } }
);
const { rp_name, rp_first_name, steam_avatar } = await res.json();
console.log(rp_name); // "Aaron DUBOIS"import requests
r = requests.get(
"https://bon.hinoake.xyz/api/arcadia/player",
params={"steam_id": "76561198450409644"},
headers={"X-Api-Key": "ac_votreclé"}
)
print(r.json()["rp_name"]) # Aaron DUBOISredirect_uri| Param\u00e8tre | Type | Description |
|---|---|---|
| steam_id | string | SteamID 64 bits du joueur |
| rp_name | string | Nom RP complet (vide si non trouvé) |
| found | "true" | "false" | Joueur présent dans la base Arcadia |
| state | string | Valeur state passée lors de l’initiation |
| sig | string | HMAC-SHA256 pour vérifier l’authenticité (voir ci-dessous) |
Chaque callback OAuth reçoit un paramètre sig. C'est un HMAC-SHA256 de steam_id|rp_name|state signé avec votre clé API. Vérifiez-le pour garantir l'authenticité du callback.
// Node.js
const crypto = require("crypto");
const expected = crypto
.createHmac("sha256", "ac_votreclé")
.update(steam_id + "|" + rp_name + "|" + state)
.digest("hex");
if (sig !== expected) throw new Error("Signature invalide");