Premiers pas
Demandez l’accès développeur, créez votre première application, obtenez un jeton et faites votre premier appel à l’API.
Aperçu
L’API de Woupi permet à vos applications de lire les données publiques (utilisateurs, chaînes, diffusions, vidéos, catégories), d’agir au nom des utilisateurs de Woupi qui les autorisent (clavardage, paramètres de chaîne, extraits), de recevoir des événements en temps réel et de récompenser les spectateurs avec des drops dans vos jeux.
Le portail des développeurs se trouve à https://dev.woupi.buzz. L’API REST et les points de terminaison OAuth de jetons se trouvent à https://api.woupi.buzz.
- Demandez l’accès développeur et attendez l’approbation.
- Créez une application pour obtenir un identifiant client (et un secret client pour les applications confidentielles).
- Obtenez un jeton d’accès.
- Appelez l’API avec les en-têtes
AuthorizationetClient-Id.
1. Demander l’accès développeur
Seuls les développeurs approuvés peuvent créer des applications. Connectez-vous avec votre compte Woupi, ouvrez https://dev.woupi.buzz/apply et remplissez le formulaire :
- Nom de l’entreprise ou du projet (facultatif, 120 caractères au maximum).
- Site Web (facultatif, doit commencer par
http://ouhttps://). - Cas d’utilisation : ce que vous construisez et les données ou fonctionnalités dont vous avez besoin (de 30 à 4000 caractères).
- Acceptation des conditions d’utilisation.
Un administrateur de Woupi examine chaque demande. Pendant l’examen, le portail en affiche l’état. Vous recevez un courriel dès qu’une décision est prise.
Remarque
Si votre demande est refusée, le portail affiche la note de l’examinateur et vous permet de présenter une nouvelle demande. Si votre compte développeur est suspendu par la suite, toutes vos applications cessent de fonctionner : leurs jetons sont révoqués et les appels à l’API renvoient 403 app_suspended.
2. Créer une application
Une fois approuvé, ouvrez Applications dans le portail et cliquez sur Nouvelle application. Vous pouvez posséder jusqu’à 10 applications.
- Nom : de 3 à 60 caractères, affiché aux utilisateurs sur l’écran de consentement.
- Description : 500 caractères au maximum.
- Catégorie :
website,chat_bot,game,toolouother. - Type de client : confidentiel ou public (voir le tableau ci-dessous).
- URI de redirection : de 1 à 10 adresses vers lesquelles les utilisateurs sont renvoyés après avoir autorisé votre application.
| Type de client | Quand l’utiliser | Secret client |
|---|---|---|
| Confidentiel | Votre code s’exécute sur un serveur que vous contrôlez (serveur Web, robot hébergé). | Oui. Peut utiliser tous les types d’octroi, y compris client_credentials. |
| Public | Votre code s’exécute sur l’appareil de l’utilisateur (application monopage, application de bureau ou mobile, client de jeu, outil en ligne de commande). | Non. Doit utiliser PKCE avec le flux par code d’autorisation; ne peut pas utiliser client_credentials. |
Les URI de redirection doivent utiliser https://. Pour le développement local, http://localhost et http://127.0.0.1 (avec n’importe quel port) sont aussi acceptés. Les fragments (#...) sont interdits et chaque URI est limité à 500 caractères. Le redirect_uri envoyé lors de l’autorisation doit correspondre exactement à l’un d’eux.
Attention
Le secret client (préfixe wps_) n’est affiché qu’une seule fois, juste après la création. Conservez-le dans un gestionnaire de secrets. En cas de fuite, générez-en un nouveau depuis la page de l’application : l’ancien secret cesse de fonctionner et tous les jetons émis pour l’application sont révoqués.
3. Obtenir un jeton d’accès
Chaque appel à l’API exige un jeton d’accès (préfixe wpa_, valide 4 heures). Pendant le développement, deux méthodes rapides permettent d’en obtenir un.
Option A — le générateur de jetons. Sur la page de votre application, le générateur de jetons vous permet de cocher les portées nécessaires et de cliquer sur Générer. Vous obtenez un jeton d’accès et un jeton d’actualisation pour votre propre compte Woupi, comme si vous aviez vous-même autorisé votre application. C’est la façon la plus rapide de tester les points de terminaison liés à un utilisateur, par exemple l’envoi de messages de clavardage.
Option B — un jeton d’application. Les applications confidentielles peuvent échanger leur identifiant et leur secret client contre un jeton d’application grâce à l’octroi client_credentials. Un jeton d’application n’est lié à aucun utilisateur : utilisez-le pour les données publiques, les abonnements webhook et les droits de drops.
curl -X POST https://api.woupi.buzz/oauth2/token \
-d client_id=YOUR_CLIENT_ID \
-d client_secret=wps_YOUR_CLIENT_SECRET \
-d grant_type=client_credentials{
"access_token": "wpa_3pXq9vN0cT7yLw2KzR5mB8dF1hJ4sG6aE0uI2oY7tQ",
"expires_in": 14400,
"scope": "",
"token_type": "bearer"
}Remarque
Les jetons d’application n’ont pas de jeton d’actualisation : demandez-en un nouveau à l’expiration. Pour agir au nom d’autres utilisateurs de Woupi, faites-les passer par le flux d’autorisation OAuth décrit dans Authentification.
4. Faire votre premier appel
Envoyez ces deux en-têtes avec chaque requête REST :
| En-tête | Valeur |
|---|---|
Authorization | Bearer <access_token> |
Client-Id | L’identifiant client de l’application qui a obtenu le jeton. |
Avec un jeton d’utilisateur et sans paramètre, GET /v1/users renvoie l’utilisateur à qui appartient le jeton :
curl https://api.woupi.buzz/v1/users \
-H "Authorization: Bearer wpa_YOUR_ACCESS_TOKEN" \
-H "Client-Id: YOUR_CLIENT_ID"{
"data": [
{
"id": "42",
"login": "streamerdemo",
"display_name": "StreamerDemo",
"avatar_url": "https://woupi.buzz/uploads/u42/avatar.webp",
"bio": "Speedruns every evening.",
"level": 12,
"created_at": "2025-03-14T18:22:05.000Z",
"email": "[email protected]"
}
]
}Le champ email n’est présent que si le jeton appartient à cet utilisateur et comprend la portée user:read:email. Avec un jeton d’application, indiquez les utilisateurs voulus avec login ou id (répétable, jusqu’à 100) :
curl "https://api.woupi.buzz/v1/users?login=streamerdemo" \
-H "Authorization: Bearer wpa_YOUR_APP_TOKEN" \
-H "Client-Id: YOUR_CLIENT_ID"Attention
Un en-tête Client-Id absent, ou qui ne correspond pas à l’application ayant émis le jeton, renvoie 401.
Conventions de l’API
- URL de base :
https://api.woupi.buzz/v1. - Les corps de requête sont en JSON : envoyez
Content-Type: application/json. - Tous les identifiants (utilisateurs, chaînes, vidéos, abonnements...) sont des chaînes de caractères, même lorsqu’ils ressemblent à des nombres.
- Les dates sont des chaînes ISO 8601 en UTC.
- Les points de terminaison de liste renvoient
{ "data": [...], "pagination": { "cursor": "..." } }. Passezfirst(de 1 à 100, 20 par défaut) pour fixer la taille de la page etafter=<cursor>pour obtenir la page suivante. Lorsquecursorest absent, vous avez atteint la dernière page. - Chaque paire application-utilisateur peut faire 800 requêtes par minute glissante. Consultez Limites de débit et erreurs.
Étapes suivantes
- Authentification : permettre aux utilisateurs de Woupi d’autoriser votre application, puis actualiser, valider et révoquer les jetons.
- Référence de l’API : chaque point de terminaison avec ses paramètres, ses portées et des exemples.
- EventSub : être averti des nouveaux suiveurs, des abonnements, des messages de clavardage et plus encore par webhook ou WebSocket.
- Drops : récompenser dans votre jeu les spectateurs qui regardent des diffusions en direct.
Vous pouvez aussi essayer chaque point de terminaison depuis la console API du portail, sans écrire une seule ligne de code.
