Retour à la documentation

Documentation API

L'API REST complète de PROCUREF pour intégrer vos systèmes.

Authentification

Tous les endpoints marqués 🔒 nécessitent un token JWT dans le header Authorization.

Authorization: Bearer votre_token_jwt

Le token est obtenu via POST /api/v1/auth/login/. Il expire après 15 minutes. Utilisez le refresh token pour le renouveler.

Architecture Multi-tenant

Chaque organisation a son sous-domaine. L'API est accessible via le sous-domaine de l'organisation.

https://votre-org.procuref.com/api/v1/

Endpoints REST

POST
/api/v1/auth/login/Public

Authentification - Obtient un token JWT

Request Body:

{
  "email": "user@org.com",
  "password": "******"
}

Response:

{
  "access": "eyJ...",
  "refresh": "eyJ...",
  "user": {...},
  "tenant_domain": "org.procuref.com"
}
POST
/api/v1/auth/register/Public

Inscription - Crée une organisation et un admin

Request Body:

{
  "organization_name": "Mon ONG",
  "organization_slug": "mon-ong",
  "first_name": "Jean",
  "last_name": "Dupont",
  "email": "jean@ong.org",
  "password": "******"
}

Response:

{
  "message": "Organisation créée avec succès",
  "tenant_domain": "mon-ong.localhost:3000",
  "user": {...}
}
GET
/api/v1/requisitions/ Authentifié

Liste toutes les réquisitions

Response:

{
  "count": 42,
  "results": [...]
}
POST
/api/v1/requisitions/ Authentifié

Crée une nouvelle réquisition

Request Body:

{
  "department": 1,
  "project": 1,
  "description": "...",
  "purchase_type": "direct",
  "items": [...]
}

Response:

{
  "id": 1,
  "requisition_number": "REQ-2026-001",
  "status": "draft"
}
GET
/api/v1/suppliers/ Authentifié

Liste tous les fournisseurs

Response:

{
  "count": 15,
  "results": [...]
}
GET
/api/v1/purchase-orders/ Authentifié

Liste tous les bons de commande

Response:

{
  "count": 8,
  "results": [...]
}
GET
/api/v1/reception/grn/ Authentifié

Liste tous les bons de réception

Response:

{
  "count": 5,
  "results": [...]
}
GET
/api/v1/reports/dashboard/stats/ Authentifié

Statistiques globales du dashboard

Response:

{
  "total_requisitions": 42,
  "total_amount": 150000
}

URL de base

L'URL de base de l'API dépend de votre environnement :

Développement
http://localhost:8000/api/v1/
Production
https://[votre-org].procuref.com/api/v1/