API - Aperçu
Documentation de l'API REST de Kiwisocial pour les développeurs.
Introduction
L'API Kiwisocial est une API REST qui permet d'interagir avec la plateforme de manière programmatique. Elle utilise JSON pour les requêtes et réponses, et suit les standards HTTP.
URL de base
https://api.kiwisocial.eu/v1/
Authentification
L'API utilise OAuth 2.0 pour l'authentification. Vous devez inclure un token d'accès dans l'en-tête de chaque requête :
Authorization: Bearer VOTRE_TOKEN_DACCES
Obtenir un token
Requête :
POST /auth/token
Content-Type: application/json
{
"email": "[email protected]",
"password": "votre_mot_de_passe"
}
Réponse :
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 3600
}
Format des requêtes
Headers requis
Content-Type: application/json
Authorization: Bearer VOTRE_TOKEN
Accept: application/json
Exemple de requête
GET /users/me
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Format des réponses
Réponse réussie
{
"success": true,
"data": {
"id": 123,
"username": "john_doe",
"email": "[email protected]"
}
}
Réponse d'erreur
{
"success": false,
"error": {
"code": "INVALID_TOKEN",
"message": "Le token d'accès est invalide ou expiré"
}
}
Codes de statut HTTP
L'API utilise les codes de statut HTTP standards :
200 OK
Requête réussie
201 Created
Ressource créée avec succès
400 Bad Request
Paramètres invalides
401 Unauthorized
Authentification requise
403 Forbidden
Accès refusé
404 Not Found
Ressource introuvable
429 Too Many Requests
Limite de taux dépassée
500 Server Error
Erreur serveur interne
Pagination
Les endpoints qui retournent des listes supportent la pagination :
Paramètres
page: Numéro de page (défaut : 1)limit: Nombre d'éléments par page (défaut : 20, max : 100)
Exemple
GET /posts?page=2&limit=50
Réponse paginée
{
"success": true,
"data": [...],
"pagination": {
"current_page": 2,
"total_pages": 10,
"total_items": 500,
"per_page": 50
}
}
Rate Limiting
L'API impose des limites de taux pour éviter les abus :
- Utilisateurs authentifiés : 100 requêtes / minute
- Utilisateurs premium : 300 requêtes / minute
Les headers de réponse incluent les informations de limitation :
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1634567890
Endpoints principaux
Utilisateurs
GET /users/me- Profil de l'utilisateur connectéGET /users/{id}- Profil d'un utilisateurPUT /users/me- Mettre à jour son profil
Publications
GET /posts- Liste des publicationsPOST /posts- Créer une publicationGET /posts/{id}- Détails d'une publicationDELETE /posts/{id}- Supprimer une publication
Interactions
POST /posts/{id}/like- Aimer une publicationPOST /posts/{id}/comment- Commenter une publicationPOST /posts/{id}/repost- Reposter une publication