Référence API interne
Panorama des principaux endpoints de l'API Teranga, organisés par domaine fonctionnel.
Panorama des principaux domaines de l’API REST. Les endpoints marqués publics ne nécessitent pas d’authentification (jeton dans l’URL ou clé API dédiée) ; tous les autres exigent un JWT de session ou une clé API tenant.
Authentification
POST /api/auth/login— Connexion (retourne les rattachements aux établissements)POST /api/auth/refresh— Renouvellement du tokenPOST /api/auth/logout— DéconnexionGET /api/auth/me— Profil courant
Établissements, chambres, points de vente
/api/establishments,/api/rooms(+PATCH /:id/status)/api/points-of-sale— CRUD, plafonné par l’abonnement ;?pointOfSaleId=filtre commandes, articles, catégories, tables, cuisine et rapports sur un point de vente précis
Réservations & commandes
/api/reservations(+ check-in, check-out, cancel) — facture auto-générée à la créationPATCH /api/reservations/:id— modification complète avec recalcul de facturePOST /api/reservations/admin/backfill-channel-invoices— régénération des factures manquantes (rôles superviseurs)/api/orders(+GET /kitchen/:estId,?forUserId=qui inclut les commandes saisies par ou attribuées à l’utilisateur)PATCH /api/orders/:id/voucher— bascule le flag « bon propriétaire »POST /api/orders/:id/claim— prise en charge d’une commande QR non assignée
Commandes QR (publiques, sans authentification)
GET /api/public/menu/:token— menu de l’établissement à partir du token de tablePOST /api/public/orders— créer une commande depuis un scan QR
Facturation & paiements
/api/invoices(+GET /:id/qrcode,GET /:id/pdf)/api/payments
Menu, stock, fournisseurs
/api/articles— acceptecomponents(recette → décrément des composants à la vente) etsellable/api/categories,/api/stock-movements,/api/stock-alerts/api/suppliers(+/:id/statement,/:id/ledger) — comptabilité SYSCOHADA fournisseurs/api/supplier-portal/*— portail fournisseur (rôle dédié)
Approbations & ménage
/api/approvals— demandes d’approbation (création employé, article, chambre, modification réservation)/api/cleaning— sessions de ménage (clock-in/clock-out)
Abonnements
GET /api/registration/plans— liste des plans (public)POST /api/registration/register— inscription/api/subscriptions(+/renew,/activate)POST /api/webhooks/fedapay— webhook FedaPay (public)
Notifications
GET /api/notifications(+?unread=true,/unread-count,/read-all)GET /api/notifications/stream— flux temps réel (SSE)
Canaux de réservation (iCal)
/api/channels(+/:id/sync,/:id/regenerate-token)GET /api/calendar/:token.ics— flux iCal public (token dans l’URL, aucune donnée client)
Clés API
GET/POST /api/api-keys— la clé n’est retournée en clair qu’à la créationPATCH/DELETE /api/api-keys/:id
Intégrations externes
GET /api/availability.json/GET /api/availability.icsPOST /api/external-bookings— réservations Channel Manager par clé API, avec paiement FedaPayPOST /api/pos/transactions— transactions POS Android