W Wiki · Caverne

Technique

API publiques

Technique · API

APIs par catégorie

Référence des endpoints HTTP. La majorité exige une session membre ; les routes staff requièrent des rôles Atlas.

Catégorie A — Utilitaires publics

EndpointMéthodeUsage
/api/resolve?code=GETRésolution lien court + compteur clics
/api/leavePOSTTracking abandon interstitiel (sendBeacon)
/api/caverne-chrono?action=statusGETStatut chrono global
/api/chrono-qrGETAccès QR mobile chrono
/api/affiliation-qrGETQR parrainage
/api/avatar-proxyGETProxy avatars
/api/site-versionGETVersion déploiement (détection cache client)
/api/gooning-battle?action=public-listGETBattles publiques en attente (pseudos masqués)
/api/gooning-battle?action=public-spectator-listGETBattles publiques spectables (waiting + active)
/api/gooning-battle?action=public-spectator-watchGETDétail spectateur (battle_id ou join_code)
/api/gooning-battle?action=public-spectator-reactPOSTRéaction emoji spectateur (JSON body)

Catégorie B — Membres authentifiés

DomaineEndpoints principaux
Auth/api/auth (login, register, logout, status)
Contenulinks, tags, categories, boards, voting, report
Socialfriends, conversations, follows, presence
Forumforum, round-table, table-cul
Économiewallet, shop, marketplace
Progressiongooning, gooning-battle (battle-create, battle-join, battle-start, battle-status, battle-leave, battle-end, regenerate-code, pending-invites, battle-invite-friend, battle-invite-dismiss, battle-show-name-public), registre-gooning, relics, events
Collectionscollections, image-collections
Uploadsupload, uploads — voir détail ci-dessous
Recrutementwaitlist-track

Uploads — actions principales (/api/uploads.php)

ActionMéthodeUsage
posting-statusGETDroit d'envoi, charte
accept-charterPOSTAcceptation charte inline
submit / submit-batchPOSTGoutte unique / dégorgeur
submit-quickPOSTEnvoi rapide (titre+URL)
submit-standbyPOSTDépôt stand-by coffre
save-incomplete-draftPOSTSauvegarde brouillon partiel
complete-quickPOSTComplétion → pending
complete-standby-communityPOSTComplétion pool entraide
my-submissionsGETSuivi uploads membre
quick-submissions / standby-submissionsGETBrouillons à compléter
standby-communityGETPool communautaire

Registre — signalement (/api/registre-gooning.php)

ActionMéthodeUsage
report_deadPOSTSignaler lien mort (idempotent, XP possible)

Recrutement (/api/waitlist-track.php)

ActionActeur
public_get, public_message, public_cancelCandidat (token)
staff_get, staff_messageStaff
staff_approve, staff_reject, staff_ban_ip, staff_ban_usernameStaff

Catégorie C — Staff / Atlas

PréfixeExemples
/api/atlas-admin/*users, sanctions, economy, triage, forum-moderation, site-settings
/api/atlas-moderation/*overview, moderation, ban-requests, verifications
/api/atlas-chancellerie/*cases, actions, packs
/api/atlas-animateur/*events, lore, seasons, calendar
/api/pending/*uploads, team, groups, dead-links

Conventions

  • Réponses JSON via sendJSON() / sendError()
  • CSRF requis sur POST sensibles (header X-CSRF-Token)
  • Rate limiting global et par scope sur les endpoints sensibles
  • Inventaire des routes : revue mensuelle côté ops (voir Exploitation)

Exemples curl

curl -s "https://lacavernechaude.fr/api/resolve?code=ABC123"
curl -s -X POST "https://lacavernechaude.fr/api/leave" -d "code=ABC123"
curl -s "https://lacavernechaude.fr/api/caverne-chrono?action=status"
Les routes atlas-admin/* et atlas-moderation/* exigent une session staff avec step-up Atlas valide. Tutoriels : Uploads, Stand-by, Suivi inscription.