L'API Usetix : construisez par-dessus votre compte

Les webhooks sont excellents quand quelque chose se produit. La nouvelle API Usetix est pour quand vous voulez faire se produire quelque chose.

Aujourd’hui nous livrons une API REST complète. Vous pouvez tout lire dans votre compte — événements, billets, commandes, clients, lieux, artistes — et créer ou mettre à jour la plupart. Construisez des tableaux de bord internes, synchronisez les clients vers votre CRM, automatisez la configuration d’événements, ou branchez les données de billetterie sur tout le reste de votre stack.

Comment ça marche en 30 secondes

Générez un token depuis Settings → API Tokens dans votre tableau de bord admin. Choisissez Read pour l’analytique et les exports, ou Read + Write pour les intégrations qui modifient des données en votre nom. Puis pointez n’importe quel client HTTP vers les mêmes URLs que vous visiterez dans le navigateur — en demandant simplement du JSON :

curl -H "Authorization: Bearer your-token-here" \
  -H "Accept: application/json" \
  https://app.usetix.io/admin/events

C’est tout. Pas d’ID de compte dans l’URL. Pas de préfixe /v1/. Le token porte le compte, et l’URL est la même que celle du navigateur — Accept: application/json bascule la réponse.

Ce qu’il y a en V1

Lecture : accès complet à :

  • Événements (avec FAQ et champs de checkout personnalisés embarqués)
  • Billets (standard et groupe)
  • Commandes (avec lignes et état de validation)
  • Clients (avec historique de commandes et consentement marketing)
  • Lieux
  • Artistes
  • Memberships (votre équipe)

Écriture : créer, mettre à jour ou supprimer :

  • Événements, y compris publier / dépublier
  • Billets standard et de groupe, y compris archiver / désarchiver
  • Lieux
  • Artistes (avec bios en texte enrichi et uploads d’images)
  • FAQ d’événement
  • Champs de checkout personnalisés

Uploads d’images bien faits

Pour les images et autres fichiers, utilisez le flux d’upload direct en deux étapes d’Active Storage :

  1. POST les métadonnées de votre fichier vers /rails/active_storage/direct_uploads. Vous recevez un signed_id et une URL d’upload présignée.
  2. PUT les octets du fichier directement sur cette URL. Ils ne passent jamais par Usetix.
  3. Référencez le signed_id dans votre prochain appel API ({"image": "<signed_id>"}).

Les gros fichiers n’encombrent pas nos serveurs. Les petits restent instantanés. Même flux que notre UI admin en interne.

URLs sans version

Vous remarquerez qu’il n’y a pas de /v1/ dans le chemin. Nous suivons ici l’approche Basecamp : des URLs propres, pas d’explosion de versions. Quand des changements cassants sont inévitables — et nous faisons tout pour les éviter — les endpoints historiques passeront sur un hôte séparé avec une fenêtre de sunset de 3 à 6 mois. Vous migrez à votre rythme, pas au nôtre.

Ce que vous pouvez construire avec

L’API plus les webhooks couvrent la plupart des formes d’intégration qu’on nous a décrites :

  • Tableaux de bord personnalisés : tirer événements, commandes et revenus dans votre propre outil d’analytics
  • Sync CRM : quand une commande arrive (via webhook), enrichir le contact avec l’historique client complet (via API)
  • Configuration d’événements automatisée : scripter la création d’événements récurrents, ou importer depuis une autre plateforme
  • Outils admin internes : construire un client léger adapté au workflow de votre équipe sans attendre qu’on livre la fonctionnalité
  • Éditions en masse : ajuster prix, capacités ou fenêtres de vente sur de nombreux événements d’un coup
  • Rapports pour votre comptable : récupérer factures clients, commandes payées, remboursements dans la forme dont votre finance a besoin

Essayez maintenant

L’API est disponible pour tous les comptes Usetix. Générez un token dans Settings → API Tokens de votre tableau de bord admin.

La documentation complète est sur usetix.io/docs/api — auth, chaque endpoint, chaque champ, avec des exemples curl.

Des questions ou un blocage ? Écrivez-nous à support@usetix.io. Nous aimerions savoir ce que vous construisez.