Accueil Guide Utilisateur Docs & API Blog À Propos Contact

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"
}