🚀 Introduction
MediConnect Africa expose une API tRPC (TypeScript RPC) permettant aux développeurs d'intégrer les fonctionnalités de la plateforme à leurs systèmes externes. Cette documentation décrit tous les endpoints disponibles et comment les utiliser.
📮 Importer dans Postman
Téléchargez notre collection Postman préconfigurée avec tous les endpoints pour tester rapidement l'API:
📥 Télécharger Collection PostmanBase URL
Tous les appels API doivent être adressés à:
https://mediconnect4africa.com/api/trpc
Format des Requêtes
Les requêtes tRPC utilisent un format JSON spécifique. Chaque requête contient:
{
"0": {
"json": {
"param1": "value1",
"param2": "value2"
}
}
}
Format des Réponses
Les réponses tRPC sont structurées comme suit:
{
"result": {
"data": {
"json": {
"success": true,
"data": { /* données retournées */ }
}
}
}
}
🔐 Authentification
MediConnect Africa utilise OAuth 2.0 pour l'authentification. Les utilisateurs doivent d'abord se connecter via le portail Manus OAuth, puis les tokens de session sont stockés dans les cookies.
Flux d'Authentification
- L'utilisateur clique sur "Se connecter"
- Redirection vers le portail Manus OAuth
- Authentification et consentement
- Redirection vers le callback avec code d'autorisation
- Échange du code contre un token de session
- Cookie de session stocké automatiquement
Endpoints d'Authentification
Récupère les informations de l'utilisateur actuellement connecté.
Réponse
{
"result": {
"data": {
"json": {
"id": "user-123",
"email": "user@example.com",
"name": "John Doe",
"role": "user"
}
}
}
}
Déconnecte l'utilisateur actuellement connecté.
Réponse
{
"result": {
"data": {
"json": {
"success": true
}
}
}
}
📡 Endpoints Disponibles
Chatbot
Envoie un message au chatbot IA et reçoit une réponse.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
| message * | string | Le message à envoyer au chatbot |
| conversationId | string | ID de la conversation existante (optionnel) |
Exemple de Requête
curl -X POST https://mediconnect4africa.com/api/trpc/chatbot.sendMessage \
-H "Content-Type: application/json" \
-d '{
"0": {
"json": {
"message": "Quels sont vos tarifs?",
"conversationId": null
}
}
}'
Envoie une notation (👍/👎) pour une réponse du chatbot.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
| messageId * | string | ID du message à noter |
| rating * | boolean | true pour 👍, false pour 👎 |
Spécialités Cliniques
Liste toutes les spécialités médicales disponibles.
Réponse
{
"result": {
"data": {
"json": [
{
"id": "spec-1",
"name": "Cardiologie",
"description": "Maladies du cœur et des vaisseaux sanguins"
},
{
"id": "spec-2",
"name": "Dermatologie",
"description": "Maladies de la peau"
}
]
}
}
}
Consultations Médicales
Enregistre une nouvelle consultation médicale avec pathologie.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
| patientId * | string | ID du patient |
| pathologyName * | string | Nom de la pathologie/affection |
| consultationDate * | string | Date de consultation (ISO 8601) |
Dashboard Ministère
Récupère les statistiques des pathologies par mois.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
| year * | number | Année (ex: 2026) |
| month | number | Mois (1-12, optionnel) |
Récupère les statistiques des médicaments les plus vendus.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
| year * | number | Année (ex: 2026) |
| country | string | Code pays (optionnel) |
💡 Exemples d'Intégration
Exemple 1: Appel au Chatbot avec JavaScript
const message = "Comment s'inscrire?";
const response = await fetch('https://mediconnect4africa.com/api/trpc/chatbot.sendMessage', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Cookie': 'session=...' // Session cookie
},
body: JSON.stringify({
"0": {
"json": {
"message": message,
"conversationId": null
}
}
})
});
const data = await response.json();
const botResponse = data.result.data.json.response;
console.log(botResponse);
Exemple 2: Récupérer les Statistiques du Ministère
import requests
import json
url = 'https://mediconnect4africa.com/api/trpc/health.pathologyStats'
params = {
"0": {
"json": {
"year": 2026,
"month": 6
}
}
}
response = requests.get(url, json=params)
stats = response.json()['result']['data']['json']
for pathology in stats:
print(f"{pathology['name']}: {pathology['count']} cas")
Exemple 3: Enregistrer une Consultation
curl -X POST https://mediconnect4africa.com/api/trpc/consultations.record \
-H "Content-Type: application/json" \
-H "Cookie: session=..." \
-d '{
"0": {
"json": {
"patientId": "patient-123",
"pathologyName": "Hypertension",
"consultationDate": "2026-06-08T10:30:00Z"
}
}
}'
⚠️ Gestion des Erreurs
Les erreurs API sont retournées avec un code HTTP approprié et un message d'erreur détaillé.
Codes d'Erreur Courants
| Code HTTP | Erreur tRPC | Description |
|---|---|---|
| 400 | BAD_REQUEST | Paramètres invalides ou manquants |
| 401 | UNAUTHORIZED | Session expirée ou non authentifié |
| 403 | FORBIDDEN | Permissions insuffisantes |
| 404 | NOT_FOUND | Ressource non trouvée |
| 500 | INTERNAL_SERVER_ERROR | Erreur serveur interne |
Exemple de Réponse d'Erreur
{
"error": {
"json": {
"code": "UNAUTHORIZED",
"message": "Please login (10001)"
}
}
}
📞 Support et Contact
Pour toute question ou problème avec l'API, veuillez contacter notre équipe de support:
- Email: support@mediconnect4africa.com
- Documentation: https://mediconnect4africa.com
- Status Page: https://status.mediconnect4africa.com