🌍 WAIICHIA REST API · v1.0

Construisez avec
la musique africaine

Intégrez musique, podcasts, radio et événements africains dans vos applications. API REST simple, JSON, Bearer token.

📚 Explorer les endpoints 💻 Voir des exemples
17
Endpoints
REST
Architecture
JSON
Format
JWT
Auth
KMF
Devise principale
🔗 URL de base
Toutes les requêtes sont envoyées à cette URL.
Base URL
https://api.waiichia.com
🔐 Authentification
L'API utilise des tokens JWT via l'en-tête Authorization.
1

Connexion

POST /api/auth/login avec email + mot de passe → reçoit un token JWT.

2

Token

Stockez le token. Il est valide 30 jours. Chaque requête protégée doit l'inclure.

3

Header

Ajoutez Authorization: Bearer <token> à vos requêtes.

HTTP
POST https://api.waiichia.com/api/auth/login
Content-Type: application/json

{
  "email": "user@example.com",
  "password": "motdepasse"
}

// Réponse :
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "user": { "id": "uuid", "username": "artiste", ... }
}
📋 Endpoints disponibles
17 routes couvrant toutes les fonctionnalités de la plateforme.

🔐 Authentification

POST
/api/auth/login
Connexion — retourne token JWT + profil utilisateur
POST
/api/auth/register
Inscription — crée un nouveau compte
GET
/api/auth/me🔒 Auth
Profil de l'utilisateur connecté
GET
/api/auth/social-config
Configuration des boutons de connexion sociale (Facebook, Google…)

🎵 Sons & Podcasts

GET
/api/tracks?type=music&limit=20&search=…
Liste des sons (filtres : type, genre, search, creator_id)
GET
/api/tracks/trending
Sons en tendance par nombre d'écoutes
GET
/api/tracks/:id
Détail d'un son
POST
/api/tracks/:id/play🔒 Auth
Incrémenter le compteur d'écoutes

💿 Albums & Playlists

GET
/api/albums?limit=20&genre=…
Liste des albums publiés
GET
/api/albums/:id
Album avec sa tracklist complète
POST
/api/albums🔒 Auth
Créer un album
GET
/api/albums/playlists/public
Playlists publiques
POST
/api/albums/playlists🔒 Auth
Créer une playlist
POST
/api/albums/playlists/:id/tracks🔒 Auth
Ajouter un son à une playlist

👤 Profils

GET
/api/profiles?search=…
Rechercher des créateurs
GET
/api/profiles/:username
Profil public d'un utilisateur
POST
/api/profiles/:id/follow🔒 Auth
Suivre / ne plus suivre un créateur

💰 Paiements & Wallet

GET
/api/payments/methods
Méthodes de paiement actives
GET
/api/payments/wallet🔒 Auth
Solde du wallet
POST
/api/payments/recharge🔒 Auth
Demande de recharge wallet
POST
/api/payments/track🔒 Auth
Acheter ou louer un son
POST
/api/payments/transfer🔒 Auth
Transférer des fonds à un utilisateur

🎪 Événements · 📺 Émissions · 📻 Radio

GET
/api/events
Liste des événements
GET
/api/emissions
Liste des émissions
GET
/api/emissions/:id/episodes
Épisodes d'une émission
GET
/api/radio
Stations radio actives

💱 Devises

GET
/api/currency/rates
Taux de change (KMF → EUR, USD, XOF…)
GET
/api/currency/convert?amount=1000&from=KMF&to=EUR
Convertir un montant entre deux devises
💻 Exemples de code
Démarrez en quelques lignes.

JavaScript (fetch)

JavaScript
// 1. Connexion
const res = await fetch('https://api.waiichia.com/api/auth/login', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ email: '…', password: '…' })
})
const { token } = await res.json()

// 2. Récupérer les sons tendance
const tracks = await fetch('https://api.waiichia.com/api/tracks/trending', {
  headers: { 'Authorization': `Bearer ${token}` }
}).then(r => r.json())

console.log(tracks.tracks) // Array de sons

Python (requests)

Python
import requests

BASE = "https://api.waiichia.com"

# Connexion
r = requests.post(f"{BASE}/api/auth/login",
    json={"email": "…", "password": "…"})
token = r.json()["token"]

# Sons tendance
headers = {"Authorization": f"Bearer {token}"}
tracks = requests.get(f"{BASE}/api/tracks/trending", headers=headers)
print(tracks.json()["tracks"])

cURL

Shell
# Méthodes de paiement (public)
curl https://api.waiichia.com/api/payments/methods

# Sons tendance
curl -H "Authorization: Bearer <token>" \
     https://api.waiichia.com/api/tracks/trending

# Taux de change
curl "https://api.waiichia.com/api/currency/convert?amount=10000&from=KMF&to=EUR"
📬 Contact & Support
Pour toute question technique ou demande de partenariat.
📧
Email
dev@waiichia.com
🌐
Plateforme
waiichia.com
📍
Localisation
Moroni, Comores 🇰🇲