Sandbox
L'environnement de développement et de recette, sans engager juridiquement vos signataires.
La sandbox est votre environnement de développement et de recette : elle reproduit le comportement de l'API de production sans engager juridiquement vos signataires, et sans être facturée.
Comment activer la sandbox ?
Depuis votre organisation, ouvrez la section Applications externes et
créez une application en environnement sandbox. La clé API émise est
strictement scopée à la sandbox — elle ne peut signer aucun document de
production.
Vous appelez la même URL qu'en production (https://app.signlift.eu/api/v1) ;
l'environnement est conditionné par la clé envoyée. Voir
Authentification pour la mécanique sandbox /
production.
Récupérer l'OTP sandbox dans la réponse
Pour que vos parcours de bout en bout soient rejouables en recette, Signlift expose le code OTP dans la réponse de l'endpoint d'envoi d'OTP uniquement en sandbox. Le code reste aléatoire à chaque envoi — il n'est pas fixe.
<token> ci-dessous est le segment final de signing_url (tout ce qui suit
/sign/) — vous l'extrayez du signing_url retourné par l'API.
curl -X POST https://app.signlift.eu/sign/<token>/otp \
-H "Content-Type: application/json" \
-d '{"channel":"email"}'{
"message": "Code envoyé.",
"channel": "email",
"sandbox_code": "489152"
}En production, le champ sandbox_code est absent de la réponse (l'OTP
n'est connu que du signataire, via e-mail ou SMS). Sa présence est donc un
indicateur fiable que vous travaillez bien en sandbox.
// Parcours de bout en bout en recette (Playwright)
const token = signingUrl.split("/sign/")[1]
const res = await fetch(`https://app.signlift.eu/sign/${token}/otp`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ channel: "email" }),
})
const { sandbox_code } = await res.json()
await page.fill('input[name="otp"]', sandbox_code)Filigrane sur les documents signés
Tout document signé via une clé sandbox porte un filigrane visible sur
chaque page (SANDBOX — non opposable ou équivalent). C'est un garde-fou
visuel : un document sandbox ne peut être confondu avec un document de
production.
Webhooks en local
Pour recevoir les webhooks sur localhost, exposez votre serveur via
ngrok,
Cloudflare Tunnel ou similaire :
ngrok http 3000
# Forwarding https://abc123.ngrok.app -> http://localhost:3000Configurez l'URL ngrok comme webhook_url de votre application externe
sandbox dans le dashboard.
Rate-limits et quotas
Le bac à sable a son propre budget d'appels, totalement disjoint de celui de la production : saturer l'un n'entame jamais l'autre.
Ce budget est identique sur tous les plans, Free inclus — il ne dépend pas de votre plan. Les plafonds exacts sont détaillés dans Limites et rate-limits.
Le quota mensuel d'envois ne concerne que l'interface. Aucun appel API ne le consomme, ni en sandbox ni en production.