v1.0
Documentation
Iraka API
Accédez aux services Iraka depuis n'importe quelle application. API RESTful simple, sans authentification requise.
Endpoint de base
GET
http://iraka.elido-ramiandrisoa.mg/apiv1/service
Utilisez ce point de terminaison pour récupérer les services. Combinez les paramètres pour affiner vos résultats.
Paramètres de requête
| Paramètre | Type | Description |
|---|---|---|
| karoka | string | Recherche par mots-clés dans le titre et la description. |
| sokajy | string | Filtre par nom de catégorie. |
| user_iraka_id | string | Filtre par identifiant unique du prestataire. |
Exemples d'utilisation
1
Recherche par mot-clé
Rechercher des services liés au web :
URL
GET http://iraka.elido-ramiandrisoa.mg/apiv1/service?karoka=web
2
Filtrer par prestataire (ID)
Afficher uniquement les services d'un utilisateur spécifique :
URL
GET http://iraka.elido-ramiandrisoa.mg/apiv1/service?user_iraka_id=AmZ4pUuFjCsqaTTyqdjw
3
Combinaison filtre + recherche
Rechercher un logo dans une catégorie spécifique :
URL
GET http://iraka.elido-ramiandrisoa.mg/apiv1/service?sokajy=Design Graphique & Création&karoka=logo
Intégration TypeScript
service.service.ts
1interface IrakaService {2 iraka_id: string;3 iraka_title: string;4 sokajy: string;5 vidiny: number;6 sary: string;7 mpanao_iraka: {8 user_iraka_id: string;9 anarana: string;10 sary_piraofila: string;11 };12}1314async function getServices(search: string = ''): Promise<IrakaService[]> {15 const BASE = 'http://iraka.elido-ramiandrisoa.mg';16 const response = await fetch(BASE + '/apiv1/service?karoka=' + search);17 const json = await response.json();18 return json.data;19}
Quick Start — Exemple complet
Copiez ce code dans un fichier .html pour afficher les services sur votre site.
index.html
1<!DOCTYPE html>2<html>3<head>4 <style>5 .iraka-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; padding: 20px; }6 .iraka-card { border: 1px solid #eee; border-radius: 12px; padding: 15px; transition: 0.3s; }7 .iraka-card:hover { box-shadow: 0 10px 20px rgba(0,0,0,0.1); }8 .iraka-img { width: 100%; height: 160px; object-fit: cover; border-radius: 8px; }9 .iraka-cat { font-size: 0.75rem; color: #6366f1; font-weight: 700; margin: 10px 0 5px; }10 .iraka-title { font-size: 1.1rem; margin: 5px 0; }11 .iraka-provider { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #f5f5f5; }12 .iraka-avatar { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; }13 .iraka-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; }14 .iraka-price { font-weight: 800; }15 .iraka-rating { color: #facc15; font-size: 0.85rem; }16 </style>17</head>18<body>19 <div id="services-container" class="iraka-grid">Chargement...</div>20 <script>21 const BASE_URL = 'http://iraka.elido-ramiandrisoa.mg';22 async function loadIraka() {23 const res = await fetch(BASE_URL + '/apiv1/service');24 const json = await res.json();25 const el = document.getElementById('services-container');26 el.innerHTML = json.data.map(function(svc) {27 return [28 '<div class="iraka-card">',29 '<img src="' + BASE_URL + '/' + svc.sary + '" class="iraka-img">',30 '<div class="iraka-cat">' + svc.sokajy + '</div>',31 '<h3 class="iraka-title">' + svc.iraka_title + '</h3>',32 '<div class="iraka-provider">',33 '<img src="' + BASE_URL + '/' + svc.mpanao_iraka.sary_piraofila + '" class="iraka-avatar">',34 '<span>' + svc.mpanao_iraka.anarana + '</span></div>',35 '<div class="iraka-footer">',36 '<div class="iraka-price">' + svc.vidiny_ar + '</div>',37 '<div class="iraka-rating">★ ' + svc.statistika.naoty + '</div></div></div>',38 ].join('');39 }).join('');40 }41 loadIraka();42 </script>43</body>44</html>
Exemple de réponse JSON
Response
200 OK
1{2 "success": true,3 "count": 1,4 "data": [5 {6 "iraka_id": "ofeRyCC2BLdSt7WmawrR",7 "iraka_title": "Création d'entreprise",8 "sokajy": "Autre Service (Non listé)",9 "zana_tsokajy": "Création d'entreprise ( NIF & STAT )",10 "vidiny": 200000,11 "vidiny_ar": "200 000 Ar",12 "saokajy_vidiny": "projet",13 "sary": "innova.mg/irakaimage/rmslido/service/ofeRyCC2BLdSt7WmawrR",14 "mpanao_iraka": {15 "user_iraka_id": "AmZ4pUuFjCsqaTTyqdjw",16 "anarana": "Faniry Hrentsoa",17 "anarana_fohy": "Faniry",18 "sary_piraofila": "innova.mg/irakaimage/rmslido/avatar/AmZ4pUuFjCsqaTTyqdjw",19 "voamarina": true,20 "an_tserasera": false21 },22 "statistika": {23 "naoty": 0,24 "isan_ny_hevitra": 025 },26 "toerana": {27 "faritra": "ANALAMANGA",28 "distrika": "ANTANANARIVO"29 }30 }31 ]32}
Codes d'erreur
400 Bad Request
Terme de recherche trop court ou paramètres invalides.
500 Server Error
Erreur interne du serveur lors du traitement de la requête.