Documentation Zekorapay
ZekoraPay Platform – Reference complète pour développeurs et utilisateurs
🤝 API Reference: Association & Tontine Service (association-service)
Le microservice association-service expose l'ensemble des endpoints REST servant à gérer le cycle de vie des tontines, cotisations, gouvernance et trésoreries d'association.
🔑 Authentification & Sécurité Header
Toutes les requêtes vers l'API nécessitent les en-têtes suivants :
Authorization: Bearer <access_token>
Content-Type: application/json
Pour les endpoints sensibles nécessitant une validation PIN, le champ pin du body JSON doit contenir la chaîne chiffrée en RSA-OAEP produite par le front-end.
📋 Endpoints Principaux
1. Associations & Gestion des Membres
POST /association-service/api/v1/associations
Création d'une nouvelle association.
Body de la requête :
{
"name": "Tontine les Amis Unis",
"description": "Tontine rotative mensuelle",
"type": "tontine",
"currency": "XOF",
"contribution_amount": 10000,
"contribution_frequency": "monthly",
"max_members": 20,
"is_public": true
}
GET /association-service/api/v1/associations/my
Récupère la liste des associations auxquelles appartient l'utilisateur connecté.
GET /association-service/api/v1/associations/:id/members
Récupère la liste des membres d'une association avec leurs rôles (president, treasurer, secretary, member).
2. Réunions & Cotisations de Séance
POST /association-service/api/v1/associations/:id/meetings/:meeting_id/contribute
Paiement d'une cotisation de séance.
Body de la requête :
{
"wallet_id": "w_12345",
"amount": 10000,
"pin": "BASE64_RSA_ENCRYPTED_PIN"
}
POST /association-service/api/v1/associations/:id/meetings/:meeting_id/settle
Clôture d'une séance et redistribution des cotisations (Réservé aux administrateurs/trésoriers).
3. Trésorerie & Dépôts d'Espèces (Cash)
POST /association-service/api/v1/associations/:id/cash-contribution
Enregistrement d'un versement en espèces dans le registre de caisse.
Body de la requête :
{
"member_id": "mem_987",
"amount": 25000,
"reason": "Cotisation physique en espèces",
"pin": "BASE64_RSA_ENCRYPTED_PIN"
}
POST /association-service/api/v1/associations/:id/distributions
Demande de versement de trésorerie au profit d'un membre.
4. Gouvernance & Élections
POST /association-service/api/v1/associations/:id/governance/approve
Approbation d'une proposition ou d'un versement cash par un membre du bureau.
Body de la requête :
{
"approval_id": "gov_555",
"pin": "BASE64_RSA_ENCRYPTED_PIN"
}