Documentation

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

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 :

Les headers de réponse incluent les informations de limitation :

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1634567890
Important : Si vous dépassez la limite, vous recevrez une erreur 429 et devrez attendre avant de faire de nouvelles requêtes.

Endpoints principaux

Utilisateurs

Publications

Interactions

Prochaines étapes