Créer un client
POST /v1/clients inscrit un client au programme de fidélité et rend le lien de sa carte, à lui envoyer par SMS ou e-mail.
/v1/clientsInscrit un client, comme s'il avait scanné l'affichette, et rend l'objet client avec lien_carte : la page où il ajoute sa carte à Apple Wallet ou Google Wallet. Les tampons de bienvenue du commerce sont posés, comme à l'inscription.
Corps (JSON)
+33612345678). Sinon 400 telephone_invalide.true) quand le commerce exige ses conditions (conditions_exigees de GET /v1/commerce) ; sinon 422 conditions_requises.Attention : cette route ne dédoublonne pas : appelée deux fois, elle crée deux clients. Cherchez d'abord avec GET /v1/clients, ou passez directement par POST /v1/passages avec creer_si_absent: true, qui ne crée le client que s'il n'existe pas.
Le client créé par l'API n'est jamais inscrit aux SMS d'offres : il n'en a pas reçu l'information.
Exemple
curl https://app.stampywallet.com/v1/clients \
-H "Authorization: Bearer sw_live_votre_cle" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: inscription-0412" \
-d '{"prenom": "Léa", "telephone": "+33612345678"}'const r = await fetch('https://app.stampywallet.com/v1/clients', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.STAMPY_CLE}`,
'Content-Type': 'application/json',
'Idempotency-Key': 'inscription-0412',
},
body: JSON.stringify({ prenom: 'Léa', telephone: '+33612345678' }),
});
const client = await r.json();
console.log(client.lien_carte);import os, requests
r = requests.post(
"https://app.stampywallet.com/v1/clients",
headers={"Authorization": f"Bearer {os.environ['STAMPY_CLE']}",
"Idempotency-Key": "inscription-0412"},
json={"prenom": "Léa", "telephone": "+33612345678"},
)
lien = r.json()["lien_carte"]Réponse
201 Created et l'objet client, par exemple :
{
"id": "c2a91f3e-7d40-4b8a-a3c5-91e0d6f4b2c7",
"prenom": "Léa",
"nom": null,
"telephone": "+33612345678",
"email": null,
"carte": "X7k2pQ9mLw",
"lien_carte": "https://stampywallet.com/c/X7k2pQ9mLw",
"cree_le": "2026-10-25T10:41:52.120Z",
"etat": { "mode": "tampons", "tampons": 1, "points": null, "objectif": 10, "restants": 9,
"prochaine_recompense": { "seuil": 10, "libelle": "Une baguette tradition offerte" },
"recompenses_disponibles": [], "recompenses_obtenues": 0,
"dernier_passage": null, "premium": null }
}Note : envoyez lien_carte au client par le canal de votre choix : StampyWallet ne lui écrit pas à cette étape.
Mis à jour le