Signlift

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:3000

Configurez 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.

On this page