Aller au contenu

Développeurs

Documentation de l’API

L’API E-Ticket donne aux organisateurs un accès programmatique à leur billetterie : événements, catégories et tarifs, commandes et billets émis, fréquentation, codes promo, accréditations et contrôle des entrées. Elle fait partie des offres Basic et Sur-mesure.

Démarrer en trois étapes

Chaque requête porte une clé d’API dans l’en-tête Authorization. Une clé appartient à un compte organisateur et n’accède qu’à ses événements.

  1. Ouvrez l’onglet « Mon offre » de votre espace organisateur.
  2. Créez une clé, nommez-la, choisissez ses droits : lecture, écriture, contrôle des entrées.
  3. Copiez-la aussitôt — elle n’est affichée qu’une fois — et appelez l’API :
curl https://ticket.e-cosplay.fr/api/public/v1/events?when=upcoming \
  -H "Authorization: Bearer etk_live_VOTRE_CLE"

Conventions

  • Base :https://ticket.e-cosplay.fr/api/public/v1
  • Montants en centimes, hors taxe ; jamais de nombre à virgule sur de l’argent.
  • Dates ISO 8601 en UTC (« 2026-10-03T18:00:00.000Z »).
  • Listes paginées par page et limit (100 au plus), renvoyées avec data, page, limit et total.
  • Erreur : un objet avec un champ error (code stable), plus fields pour une entrée invalide (422).
  • 600 requêtes par minute et par clé ; en-têtes X-RateLimit-* et Retry-After.
  • Droits : read (lecture), write (tarifs, codes promo, accréditations, renvoi de commande), scan (contrôle).

Fichier OpenAPI 3.1 (JSON) — à importer dans Postman, Bruno, Insomnia ou un générateur de client.

Comptes liés — connexion OAuth 2.0

Vos utilisateurs se connectent avec leur compte E-Ticket, et votre application repart avec une clé d'API qui lui est propre. Elle ne voit jamais leur mot de passe, et la clé porte le nom de votre application : chacun peut couper le lien sans toucher à ses autres accès.

  1. Déclarez votre application : vous recevez un client_id et, sauf application mobile, un client_secret.
  2. Envoyez l'utilisateur sur /api/oauth/authorize. Il se connecte, voit ce que vous demandez, et accepte.
  3. Votre adresse de retour reçoit un code à usage unique, valable dix minutes.
  4. Échangez ce code sur /api/oauth/token : la réponse contient la clé et le compte lié.
# 1. l'utilisateur ouvre cette adresse et autorise l'application
https://ticket.e-cosplay.fr/api/oauth/authorize
  ?response_type=code
  &client_id=etkapp_VOTRE_APPLI
  &redirect_uri=https://mon-appli.fr/callback
  &scope=identity+read
  &state=UNE_VALEUR_ALEATOIRE
  &code_challenge=BASE64URL(SHA256(verifier))
  &code_challenge_method=S256

# 2. votre callback reçoit ?code=… : échangez-le contre la clé
curl -X POST https://ticket.e-cosplay.fr/api/oauth/token \
  -d grant_type=authorization_code \
  -d code=LE_CODE_RECU \
  -d redirect_uri=https://mon-appli.fr/callback \
  -d client_id=etkapp_VOTRE_APPLI \
  -d client_secret=etksec_VOTRE_SECRET \
  -d code_verifier=LE_VERIFIER

# 3. la réponse contient la clé du compte lié
{ "access_token": "etk_live_…", "token_type": "Bearer",
  "scope": "identity read", "account": { "email": "…" } }
  • PKCE (S256) est obligatoire pour une application sans secret — mobile ou page web — et vérifié partout ailleurs s'il est fourni.
  • Une nouvelle autorisation fait tourner la clé : l'ancienne cesse aussitôt de fonctionner. Un code rejoué révoque le lien.
  • /api/oauth/userinfo dit à qui appartient une clé ; /api/oauth/revoke la rend.
  • Métadonnées du serveur : https://ticket.e-cosplay.fr/api/oauth/metadata

Les applications sont déclarées par l’association, pour son propre usage : il n’y a pas d’inscription ouverte. Ce chapitre décrit le parcours pour celles qui existent.

Chargement de la description de l’API…