Scénario revendeur & SMS offerts
Un revendeur possède une plateforme white-label sur Mon SMS Pro (PartnerApp)
et ses propres clients (PartnerAppCustomer). S’il a aussi construit une
plateforme de gestion (type Gérant Pro), il peut connecter ses clients à son
pool de crédits, et leur offrir des SMS à la souscription.
La clé serveur (psk_…)
Le revendeur génère une clé serveur-à-serveur depuis sa plateforme partenaire :
curl -X POST "https://rest.monsms.pro/v1/partner/app/server-key" \
-H "Content-Type: application/json" \
-d '{ "apiKey": "OWNER_API_KEY", "companyId": "OWNER_COMPANY_ID" }'
# → { "success": true, "data": { "serverApiKey": "psk_…" } }La serverApiKey (psk_…) est distincte de la clé de connexion du propriétaire.
Conservez-la côté serveur uniquement. La régénérer invalide aussitôt
l’ancienne.
Connecter un client (débit sur le pool du revendeur)
Provisioning serveur-à-serveur ciblant un PartnerAppCustomer : les SMS envoyés
via le connectionToken obtenu débitent le pool de crédits de ce client, pas
un compte Mon SMS Pro principal.
curl -X POST "https://rest.monsms.pro/v1/third-party-app/provision" \
-H "Content-Type: application/json" \
-d '{
"apiSecret": "msp_…",
"externalAccountId": "tenant_123",
"target": "partnerCustomer",
"partnerServerKey": "psk_…",
"partnerCustomerId": "CUSTOMER_ID",
"defaultSenderId": "SENDER_ID"
}'Offrir des SMS à la souscription
Deux mécanismes, combinables.
1. API programmatique (à la demande)
À l’instant où le client souscrit sur votre plateforme de gestion, votre backend crédite le client :
curl -X POST "https://rest.monsms.pro/v1/partner/grant-credit" \
-H "Content-Type: application/json" \
-d '{
"serverApiKey": "psk_…",
"customerId": "CUSTOMER_ID",
"credit": 500,
"reason": "Bonus souscription formule Pro"
}'Les crédits sont transférés du pool du revendeur vers le client au prix 0 : le revendeur absorbe le coût (c’est « gratuit » pour le client final). Le débit est atomique et garde le revendeur ≥ 0.
2. Bonus configuré par formule
Définissez un nombre de SMS offerts directement sur une formule revendeur via
bonusCredit. Il est octroyé automatiquement à l’achat de la formule, en plus
de credit :
curl -X POST "https://rest.monsms.pro/v1/partner/app/offers/create" \
-H "Content-Type: application/json" \
-d '{
"apiKey": "OWNER_API_KEY",
"companyId": "OWNER_COMPANY_ID",
"name": "Formule Pro",
"price": 5000,
"credit": 1000,
"bonusCredit": 200
}'L’octroi du bonus est protégé par la même garde d’idempotence que le crédit principal : rejouer le webhook de paiement ne double pas le bonus.