Intégrations
Brancher vos logiciels sur le programme : ventes, encaissements, vérification d'attribution.
Données de démonstration. Cet écran montre un réseau fictif pour donner à voir le produit. Les taux et les calculs sont ceux du dossier ; les noms et les montants sont inventés.
Clés d'API
Back-office BNG
pk_live_backofficebn_3f2a1b9c…Créée le 8 août 2026 · dernier appel le 15 septembre 2026
sales:writeattribution:readIntégration d'essaiEssai
pk_test_integrationd_9c4e2f01…Créée le 3 septembre 2026 · dernier appel le 12 septembre 2026
leads:writesales:writeattribution:readreports:readAncien site vitrineRévoquée
pk_live_anciensitevi_7b10dd44…Créée le 9 mars 2026 · dernier appel le 11 juin 2026
leads:writeMotif : Clé retrouvée en clair dans le dépôt public du site.
Webhooks sortants
La plateforme prévient vos logiciels de ce qui se passe : un contact attribué, une vente enregistrée, des commissions validées. Sans ça, votre back-office doit interroger l'API en boucle pour découvrir ce qu'il aurait dû apprendre tout de suite.
Back-office BNGActif
https://bngimmo.ma/webhooks/pantheraDernière livraison réussie le 15 septembre 2026
lead.attributedsale.recordedcommission.approvedAncien connecteur comptaEn échec
https://compta.exemple.ma/pantheraDernière livraison réussie le 25 août 2026 · 7 en échec
payout.paidstatement.finalizedTrois livraisons de suite ont échoué : plus rien ne part vers cette adresse. Vérifiez qu'elle répond, puis relancez — les événements survenus pendant la coupure ne seront pas rattrapés.
Les points d'entrée
Toutes les requêtes portent l'en-tête Authorization: Bearer votre-clé et répondent en JSON, sous la forme { data, error }.
POST /api/v1/leadsleads:writePrésenter un contact au nom d'un apporteur. Refusé si le contact est déjà attribué à quelqu'un d'autre — avec la date, pour que vous puissiez l'expliquer.
POST /api/v1/salessales:writeDéclarer une vente signée. La chaîne de parrainage et le plan de commission sont figés à cet instant : rien de ce qui changera ensuite ne modifiera cette vente.
POST /api/v1/paymentssales:writeConfirmer un encaissement. C'est lui, et lui seul, qui déclenche les commissions. Les paiements fractionnés sont natifs : un acompte produit sa part.
POST /api/v1/payments/{ref}/cancelsales:writeAnnuler un encaissement (impayé, remboursement). Les commissions non versées sont annulées ; les versées sont déduites du prochain virement, jamais réclamées.
GET /api/v1/attributionattribution:readVérifier à qui appartient un contact, avant de saisir une vente. C'est ce qui règle les litiges d'antériorité avant qu'ils n'existent.
GET /api/v1/partnerspartners:readLa liste de vos apporteurs : nom, identifiant, statut, rang. Jamais leurs coordonnées bancaires.
GET /api/v1/sales · GET /api/v1/reports/summaryreports:readLes ventes et les agrégats du réseau, pour les afficher dans vos propres outils de pilotage sans double saisie.
Chaque appel porte une référence externe qui vous appartient (external_ref). Rejouer un appel déjà passé est sans effet : une intégration qui réessaie après un temps mort ne crée jamais de doublon, et ne paie jamais deux fois.