Documentation API
Guide d'integration NSF API v1
Base URLs, authentification, pagination, idempotence, webhooks signes, erreurs standardisees et exemples SDK-ready.
Getting Started
- Creer un compte SociosPhone puis ouvrir la console developpeur.
- Creer une application sandbox.
- Generer une cle API sandbox affichee une seule fois.
- Tester les endpoints publics et webhooks.
- Demander la validation production pour les APIs partenaires.
Authentification
curl https://www.nsfcm.com/api/v1/explorer/clubs \
-H "X-API-Key: nsf_test_xxxxx"Format standard reponse API
// Succes
{
"success": true,
"data": {},
"meta": {}
}
// Erreur
{
"success": false,
"error": {
"code": "INVALID_REQUEST",
"message": "Description lisible",
"details": {}
}
}Pagination standard
GET /api/v1/explorer/clubs?page=1&limit=20
{
"meta": {
"page": 1,
"limit": 20,
"total": 100,
"totalPages": 5
}
}Rate limiting
- Public: 60 req/min
- Partner: 600 req/min
- Admin: selon role
- Sensitive APIs: strict
Idempotency
Pour paiements, dons, wallet, SSURS et cartes recharge, envoyez toujours un UUID dans l'en-tete suivant.
Idempotency-Key: 6f8b9d7c-2e9d-4d62-b0e8-9cc0f0f7f531CMS et plugins
Les connecteurs CMS NSF utilisent l'API publique et l'embed officiel. Le plugin WordPress est packagé comme extension installable. Shopify, Wix, Squarespace, Webflow, Tilda, Drupal, Adobe Commerce et PrestaShop doivent respecter leurs contraintes de marketplace ou de theme.
// Configuration CMS publique
GET /api/v1/cms/config
// Embed universel
<div data-nsf-widget="clubs" data-limit="6"></div>
<script src="https://www.nsfcm.com/cms/nsf-embed.js" defer></script>
// Club unique
<div data-nsf-widget="club" data-club-slug="canon-sportif-de-yaounde"></div>Webhooks signes
Chaque webhook inclut `X-NSF-Signature` et `X-NSF-Timestamp`. Rejetez les timestamps de plus de 5 minutes.
import crypto from "crypto"
function verifyNsfWebhook(secret, timestamp, payload, signature) {
const expected = crypto
.createHmac("sha256", secret)
.update(`${timestamp}.${payload}`)
.digest("hex")
return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature))
}Table des erreurs
Endpoints documentes
public - Public
Catalogue API
Liste officielle des endpoints v1 exposes par www.nsfcm.com.
GET /api/v1/catalog
// Scopes: explorer:readpublic - Public API Key optionnelle
Explorer Sportif API
Recherche clubs, federations, selections, legendes et donnees sportives publiques.
GET /api/v1/explorer/search?q=canon
// Scopes: explorer:readpublic - Public API Key optionnelle
Clubs API
Liste des clubs et fiche detaillee par slug.
GET /api/v1/clubs/:slug
// Scopes: clubs:readpublic - Public API Key optionnelle
Federations API
Liste des federations et fiche detaillee par slug.
GET /api/v1/federations/:slug
// Scopes: federations:readpublic - Public API Key optionnelle
Legendes API
Profils anciennes gloires, carrieres, trophees et highlights.
GET /api/v1/legends/:slug
// Scopes: legends:readpublic - Public API Key optionnelle
Transparence API
Vue publique des volumes collectes et redistributions NSF.
GET /api/v1/transparency/overview
// Scopes: transparency:readpublic - Public API Key optionnelle
PS3 Public API
Matchs ouverts, details match, classement et recompenses.
GET /api/v1/ps3/matches
// Scopes: ps3:readpublic - Public API Key optionnelle
TCI Public API
Campagnes entreprises actives et lots publics.
GET /api/v1/tci/campaigns
// Scopes: tci:readpublic - Public API Key optionnelle
Rewards Catalog API
Catalogue recompenses et avantages disponibles.
GET /api/v1/rewards
// Scopes: rewards:readpublic - Public API Key optionnelle
SSURS Fund Public API
Fonds sante communautaires agreges par club.
GET /api/v1/ssurs/funds/clubs/:clubId
// Scopes: ssurs:publicpublic - Public API Key optionnelle
SociosPhone Public Profile API
Profil public limite par SociosPhone ID sans donnees sensibles.
GET /api/v1/sociosphones/public/:id
// Scopes: sociosphone:publicpublic - Public API Key optionnelle + anti-bruteforce
CRS Card Validation API
Validation protegee des cartes de recharge supporters.
POST /api/v1/recharge-cards/validate
// Scopes: crs:validateuser - Cookie session / JWT utilisateur
SociosPhone Private API
Endpoint utilisateur protege par session NSF.
GET /api/v1/sociosphones/me
// Scopes: sociosphone:mepublic - Public API Key optionnelle
CMS Integration API
Configuration publique et endpoints necessaires aux connecteurs CMS NSF.
GET /api/v1/cms/config
// Scopes: cms:readprivate - Cookie session / JWT utilisateur
Wallet Balance API
Point d'entree protege pour solde wallet et ledger utilisateur.
GET /api/v1/wallet/me
// Scopes: wallet:readprivate - Cookie session / JWT utilisateur
Scoring & Risk API
Point d'entree protege pour scores utilisateur.
GET /api/v1/scores/me
// Scopes: scores:readpartner - Partner API Key
SSURS Quote API
Simulation du complement SSURS sur un don.
POST /api/v1/ssurs/quote
// Scopes: ssurs:quotepartner - Partner API Key
Investor API
Projections, produits investisseurs et leads sandbox.
GET /api/v1/invest/projections
// Scopes: invest:readpartner - Partner API Key + Idempotency-Key
Donations Partner API
Creation sandbox d'intentions de dons partenaires.
POST /api/v1/donations/intents
// Scopes: donations:partnerprivate - Partner API Key forte + signatures
NSF Pay API
Creation sandbox de paiement et reference de suivi.
POST /api/v1/payments
// Scopes: payments:write