Projets actifs
0
sur 2 max (Free)
Simulations ce mois
0
Derniere activite
—
Aucune simulation
Mes projets USSD
Chargement...
Choisissez un template pret a l'emploi et personnalisez-le. Chaque template est un projet USSD complet avec menus, navigation et messages.
Chargement...
📱
Simulateur USSD
Selectionnez un projet et lancez la simulation. Le simulateur reproduit exactement le comportement des serveurs MTN Comviva, MadAPI et MobileMoney Congo.
Total simulations
0
Sessions completes
0
Sessions abandonnees
0
Taux completion
0%
Simulations par jour (7 derniers jours)
Activite recente
Aucune activite recente
Documentation & Tutoriels
Introduction au USSD
Comprendre le protocole USSD, les sessions, les timeouts et la limite de 182 caracteres.
DEBUTANT
Adaptateur Comviva FLARES
Integration MTN CG via GET params : sessionId, msisdn, input. Structure de la reponse.
MTN CG
Adaptateur MTN MadAPI
Integration REST JSON : subscription, inbound, outbound. MessageTypes 0-5.
MTN REST
Gestion des sessions
Sessions PHP, timeout, fermeture propre, saisies libres et parcours dynamiques.
AVANCE
Deploiement en production
Configurer votre serveur, pointer l URL chez l operateur, tester en prod.
PROD
Bonnes pratiques
Menus courts, validation inputs, gestion erreurs, encodage GSM, securite.
TIPS
Code snippets reutilisables
Menu principal Comviva FLARES (PHP)
<?php // Parametres Comviva FLARES $sessionId = $_GET['sessionId'] ?? ''; $user_msisdn = $_GET['msisdn'] ?? ''; $user_input = $_GET['input'] ?? ''; session_id($sessionId.$user_msisdn); @session_start(); // Timeout automatique if(isset($_SESSION['_t']) && (time()-$_SESSION['_t'])>180){ session_destroy(); ussdRespond('Session expiree.', true); } $_SESSION['_t'] = time(); function ussdRespond(string $text, bool $end=false):void { if(mb_strlen($text)>182) $text=mb_substr($text,0,179).'...'; if($end) session_destroy(); header('Content-Type: text/plain; charset=utf-8'); echo $text; exit; }
Validation saisie libre (nom, date)
// Validation format date jj-mm-aaaa function isValidDate($date, $format='d-m-Y'):bool { $dt = DateTime::createFromFormat($format, $date); return $dt && $dt->format($format) === $date; } // Validation nom*prenom if(preg_match('#[a-z][(\*){1}]([^0-9])#i', $input)) { $_SESSION['nom'] = before('*', $input); $_SESSION['prenom'] = after('*', $input); } else { ussdRespond('Format: Nom*Prenom', true); }
Appel MadAPI — Subscription (Node.js)
// Enregistrer votre callback URL chez MTN MadAPI const response = await fetch('https://api.mtn.com/v1/messages/ussd/subscription', { method: 'POST', headers: { 'Content-Type': 'application/json', 'x-api-key': process.env.MTN_API_KEY }, body: JSON.stringify({ serviceCode: '*123#', callbackUrl: 'https://votre-serveur.com/ussd/inbound', targetSystem: 'USSD_ENGINE' }) }); const { data } = await response.json(); console.log('subscriptionId:', data.subscriptionId);
Reponse MadAPI — Inbound handler (Node.js)
// Recevoir et repondre aux messages USSD MadAPI app.post('/ussd/inbound', async (req, res) => { const { sessionId, messageType, msisdn, ussdString } = req.body; // messageType: 0=Begin 1=Continue 2=End 4=Cancel 5=Timeout if (messageType === '4' || messageType === '5') { return res.json({ statusCode: '0000' }); } const screen = await processMenu(sessionId, ussdString); res.json({ statusCode: '0000', data: { inboundResponse: screen.text, userInputRequired: screen.waitInput, messageType: screen.waitInput ? 1 : 2 } }); });
?
—
—
FREE
Modifier mes informations
Changer le mot de passe
Paiement via MobileMoney Congo — integration en cours. Contactez [email protected] pour un upgrade manuel.
Suivez vos demandes d'integration USSD aupres des operateurs.
Prerequis : le projet doit etre certifie U/EN avant soumission.
Prerequis : le projet doit etre certifie U/EN avant soumission.
Chargement...