Référence API
AfriPhish expose une API REST sous /api/v1. L'accès programmatique à l'API nécessite la formule Pro ou supérieure.
URL de base —
https://api.afriphish.com/api/v1(votre déploiement peut différer). La documentation OpenAPI interactive est servie sur/docscôté backend.
Authentification
L'API utilise des jetons porteurs JWT. Obtenez-en un en vous connectant :
curl -X POST https://api.afriphish.com/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{ "email": "admin@yourcompany.com", "password": "••••••••" }'
{ "access_token": "eyJ…", "refresh_token": "eyJ…" }
Envoyez le jeton d'accès à chaque requête :
curl https://api.afriphish.com/api/v1/organizations/me \
-H "Authorization: Bearer $ACCESS_TOKEN"
Les jetons d'accès ont une durée de vie courte (15 min). Échangez un jeton de rafraîchissement contre une nouvelle paire sur POST /auth/refresh.
Points de terminaison courants
| Méthode et chemin | Description |
|---|---|
GET /plans | Catalogue public des formules |
GET /organizations/me | Votre organisation |
GET /organizations/me/entitlements | Formule actuelle, sièges, fonctionnalités, essai |
POST /organizations/me/logo | Téléverse/remplace le logo de l'organisation |
GET /users | Liste les utilisateurs |
POST /users/invite | Invite un utilisateur |
GET /users/roles | Catalogue des rôles attribuables |
GET /phishing/campaigns | Liste les campagnes |
POST /phishing/campaigns | Crée une campagne |
GET /training/modules | Liste les modules de formation |
GET /policies | Liste les politiques |
GET /policies/{id}/roster | Registre des signatures (signées / non signées) |
POST /policies/{id}/notify | Diffuse une politique à signer |
GET /interventions/rules | Règles de coaching |
GET /reports/catalogue | Rapports disponibles |
GET /reports/download/{key} | Exporte un rapport (?format=csv|json|pdf|html) |
GET /legal/documents | Modèles de documents juridiques (DPA / CGU / Confidentialité) |
Erreurs
Codes de statut HTTP standards. Quelques-uns à connaître :
401 Unauthorized— jeton manquant/expiré.402 Payment Required— votre formule n'inclut pas cette fonctionnalité, ou votre essai a expiré. Montez en gamme pour la débloquer. Voir Formules.403 Forbidden— votre rôle n'est pas autorisé, un plafond de sièges a été atteint, ou l'organisation est désactivée.
Les corps d'erreur sont au format JSON :
{ "detail": "Your plan does not include this feature. Upgrade to unlock it." }
Limites de débit
Les points de terminaison sont soumis à des limites de débit par catégorie (auth, tracking, default). Si vous dépassez une limite, vous recevrez 429 Too Many Requests ; patientez puis réessayez.
Des questions sur l'API ? Écrivez à sales@afriphish.com et nous vous mettrons en contact avec un ingénieur.