R�f�rence API
Voici la r�f�rence compl�te de tous les points de terminaison API disponibles.
Authentification
Tous les points de terminaison requi�rent l'en-t�te Authorization :
Authorization: Bearer YOUR_API_TOKEN
Format des r�ponses
Toutes les r�ponses suivent cette structure :
{
"success": true,
"data": { ... },
"message": "Description of the result"
}
R�ponses d'erreur :
{
"success": false,
"error": "Error description",
"code": 400
}
Locataires
Lister tous les locataires
GET /api/saas/tenants
Param�tres :
| Param�tre | Type | Requis | Description |
|---|---|---|---|
page | integer | Non | Num�ro de page pour la pagination |
per_page | integer | Non | R�sultats par page (d�faut : 25, max : 100) |
status | string | Non | Filtrer par statut : active, inactive, trial |
Exemple de r�ponse :
{
"success": true,
"data": {
"tenants": [
{
"id": 1,
"company_name": "Acme Corp",
"domain": "acme.yoursite.com",
"plan": "Professional",
"status": "active",
"created_at": "2024-01-15T10:30:00Z"
}
],
"total": 42,
"page": 1,
"per_page": 25
}
}
Obtenir un locataire
GET /api/saas/tenants/{id}
Exemple de r�ponse :
{
"success": true,
"data": {
"id": 1,
"company_name": "Acme Corp",
"domain": "acme.yoursite.com",
"plan_id": 2,
"plan_name": "Professional",
"status": "active",
"created_at": "2024-01-15T10:30:00Z",
"expires_at": "2024-02-15T10:30:00Z",
"usage": {
"customers": { "used": 24, "limit": 500 },
"invoices": { "used": 89, "limit": 1000 },
"projects": { "used": 5, "limit": 50 },
"staff": { "used": 3, "limit": 10 }
}
}
}
Cr�er un locataire
POST /api/saas/tenants
Param�tres du corps :
| Param�tre | Type | Requis | Description |
|---|---|---|---|
company_name | string | Oui | Nom de l'entreprise |
email | string | Oui | E-mail de contact principal |
first_name | string | Oui | Pr�nom du contact |
last_name | string | Oui | Nom du contact |
plan_id | integer | Oui | Le plan � assigner |
subdomain | string | Oui | Sous-domaine/slug souhait� |
password | string | Non | Mot de passe du compte (g�n�r� automatiquement si omis) |
Exemple :
curl -X POST https://yoursite.com/api/saas/tenants \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"company_name": "Acme Corp",
"email": "[email protected]",
"first_name": "John",
"last_name": "Doe",
"plan_id": 2,
"subdomain": "acme"
}'
Mettre � jour un locataire
PUT /api/saas/tenants/{id}
Param�tres du corps :
| Param�tre | Type | Requis | Description |
|---|---|---|---|
company_name | string | Non | Nom de l'entreprise mis � jour |
plan_id | integer | Non | Nouveau plan � assigner |
status | string | Non | active ou inactive |
Supprimer un locataire
DELETE /api/saas/tenants/{id}
danger
Cette action supprime d�finitivement le locataire et toutes ses donn�es, y compris sa base de donn�es. Cette action est irr�versible.
Plans
Lister tous les plans
GET /api/saas/plans
Exemple de r�ponse :
{
"success": true,
"data": {
"plans": [
{
"id": 1,
"name": "Starter",
"price_monthly": 10.00,
"price_yearly": 100.00,
"billing_cycle": "monthly",
"is_popular": false,
"trial_enabled": true,
"limits": {
"customers": 50,
"invoices": 100,
"projects": 5,
"staff": 2
}
}
]
}
}
Obtenir un plan
GET /api/saas/plans/{id}
Cr�er un plan
POST /api/saas/plans
Mettre � jour un plan
PUT /api/saas/plans/{id}
Supprimer un plan
DELETE /api/saas/plans/{id}
Abonnements
Obtenir l'abonnement d'un locataire
GET /api/saas/tenants/{id}/subscription
Exemple de r�ponse :
{
"success": true,
"data": {
"tenant_id": 1,
"plan_id": 2,
"plan_name": "Professional",
"status": "active",
"started_at": "2024-01-15T10:30:00Z",
"expires_at": "2024-02-15T10:30:00Z",
"next_invoice_at": "2024-02-15T10:30:00Z",
"billing_cycle": "monthly"
}
}
Mettre � jour l'abonnement
PUT /api/saas/tenants/{id}/subscription
Param�tres du corps :
| Param�tre | Type | Requis | Description |
|---|---|---|---|
plan_id | integer | Non | Nouvel ID de plan |
expires_at | datetime | Non | Nouvelle date d'expiration |
Utilisation
Obtenir l'utilisation d'un locataire
GET /api/saas/tenants/{id}/usage
Exemple de r�ponse :
{
"success": true,
"data": {
"customers": { "used": 24, "limit": 500, "percentage": 4.8 },
"invoices": { "used": 89, "limit": 1000, "percentage": 8.9 },
"projects": { "used": 5, "limit": 50, "percentage": 10.0 },
"staff": { "used": 3, "limit": 10, "percentage": 30.0 },
"estimates": { "used": 12, "limit": 200, "percentage": 6.0 },
"contracts": { "used": 2, "limit": 50, "percentage": 4.0 },
"tasks": { "used": 67, "limit": 500, "percentage": 13.4 }
}
}
Codes de statut HTTP
| Code | Signification |
|---|---|
200 | Succ�s |
201 | Cr�� avec succ�s |
400 | Requ�te invalide - v�rifiez vos param�tres |
401 | Non autoris� - jeton API invalide ou manquant |
404 | Non trouv� - la ressource n'existe pas |
422 | Erreur de validation - un ou plusieurs champs sont invalides |
429 | Limite de d�bit d�pass�e - ralentissez vos requ�tes |
500 | Erreur serveur - contactez le support si cela persiste |
Besoin d'aide ?
Si vous avez des questions sur l'API ou besoin de points de terminaison suppl�mentaires, contactez-nous via nos canaux Support & Communaut�.