Session
Utilisateur connecté, organisation, rôles cumulés et permissions qui pilotent l'affichage des applications.
- GET/api/v1/moi
API métier · Distribution B2B
Le point d'accès unique aux opérations de NOVIRA, la plateforme de distribution B2B de CYBASTION pour la connectivité Internet par satellite Starlink.
Partenaires distributeurs, conformité KYC, clients et sites, réservations, catalogue : le back-office CYBASTION et l'application mobile s'appuient sur les mêmes règles métier, décrites dans un contrat unique.
Chaque opération, ses paramètres, ses réponses et des exemples tirés du jeu de démonstration.
Ouvrir la référenceConnexion par e-mail, jeton d'accès transmis à chaque appel et droits calculés par permission.
Voir le fonctionnementPagination, format d'erreur, dates et montants : des règles identiques sur toutes les opérations.
Lire les conventionsDomaines couverts
L'API couvre le premier périmètre de la plateforme. Chaque réponse est cloisonnée par organisation : un partenaire ne voit que ses propres clients et réservations.
Utilisateur connecté, organisation, rôles cumulés et permissions qui pilotent l'affichage des applications.
Distributeurs référencés, zones couvertes, secteurs, capacité commerciale et contrat-cadre.
Pièces KYC des partenaires, statut de vérification, motifs de rejet et dates d'expiration.
Entreprises clientes, contacts et sites géolocalisés où la connectivité est installée.
Demandes des partenaires sur un client, validation par CYBASTION et détection des doublons.
Forfaits data Starlink et tarif en vigueur à la date du jour, avec historique des prix.
Authentification
Toutes les opérations exigent un jeton d'accès, à l'exception du contrôle de disponibilité.
L'utilisateur se connecte avec son adresse e-mail. Le service d'authentification lui délivre un jeton d'accès à durée limitée.
Le jeton accompagne chaque requête dans l'en-tête Authorization: Bearer.
Un utilisateur peut cumuler plusieurs rôles : ses droits sont l'union de leurs permissions, renvoyée par /api/v1/moi.
Les applications décident de ce qu'elles affichent à partir des permissions, jamais à partir d'un nom de rôle. Un élément hors du périmètre de l'organisation répond comme s'il n'existait pas.
GET /api/v1/moi Host: api-novira.optima.aora.tech Authorization: Bearer ‹jeton d'accès›
{ "utilisateur": { "prenom": "Ibrahim", "nom": "Ouattara" }, "organisation": { "nom": "CYBASTION", "type": "cybastion" }, "roles": [ { "code": "cybastion_finance", "libelle": "Finance" }, { "code": "cybastion_operations", "libelle": "Opérations" } ], "permissions": [ "clients.consulter", … ] }
Conventions
Les noms de champs reprennent ceux du modèle de données et les identifiants sont des UUID. Les applications n'ont qu'une seule façon de lire une liste, une erreur, une date ou un montant.
Toutes les listes sont paginées et renvoient les éléments de la page avec la position dans la liste.
page commence à 1.taille va de 1 à 100 éléments, 20 par défaut.{ "donnees": [ … ], "pagination": { "page": 1, "taille": 2, "total": 25, "pages": 13 } }
Toute erreur a la même forme : un code stable pour le programme, un message en français prêt à afficher et des précisions facultatives.
{ "code": "parametres_invalides", "message": "Certains paramètres sont invalides.", "details": { "taille": "La taille de page doit être comprise entre 1 et 100." } }
| HTTP | Code | Situation |
|---|---|---|
| 401 | authentification_requise | Session absente ou expirée |
| 403 | acces_refuse | Permission manquante |
| 404 | ressource_introuvable | Élément inexistant ou hors périmètre |
| 422 | parametres_invalides | Paramètres de requête invalides |
| 429 | trop_de_requetes | Trop d'appels rapprochés |
| 503 | service_indisponible | Service momentanément indisponible |
L'API échange des formats normalisés ; les applications les présentent au format français.
AAAA-MM-JJ.Les montants sont exprimés en francs CFA (XOF), hors taxes sauf mention contraire. La TVA applicable est portée par le catalogue.