Snippets et SDKs
Snippets canoniques pour appeler l'API Signlift dans les langages courants.
Pour construire un payload complet (placements de signature, mode parallel, paraphes, etc.), utilisez le playground interactif — il génère le snippet adapté à votre langage.
Les exemples ci-dessous utilisent un payload minimal volontairement incomplet
(sans placements). Pensez à documents[].signers[] avec un signer_ref et un
stamp pour que la requête soit acceptée — voir
Référence — Signature Requests.
curl
curl https://app.signlift.eu/api/v1/signature_requests \
-H "X-Api-Key: $SIGNLIFT_API_KEY" \
-H "Content-Type: application/json" \
-d @payload.jsonJavaScript (fetch)
const response = await fetch('https://app.signlift.eu/api/v1/signature_requests', {
method: 'POST',
headers: {
'X-Api-Key': process.env.SIGNLIFT_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
signature_request: {
mode: 'sequential',
validity_days: 30,
signers: [
{
ref: 'jeanne',
first_name: 'Jeanne',
last_name: 'Dupont',
email: 'jeanne@example.com',
order: 1,
},
],
documents: [{ id: 42, signers: [/* placements */] }],
},
}),
})
const data = await response.json()Ruby (Net::HTTP)
require "net/http"
require "json"
uri = URI("https://app.signlift.eu/api/v1/signature_requests")
request = Net::HTTP::Post.new(uri)
request["X-Api-Key"] = ENV.fetch("SIGNLIFT_API_KEY")
request["Content-Type"] = "application/json"
request.body = {
signature_request: {
mode: "sequential",
validity_days: 30,
signers: [
{
ref: "jeanne",
first_name: "Jeanne",
last_name: "Dupont",
email: "jeanne@example.com",
order: 1,
},
],
documents: [{id: 42, signers: [# placements
]}],
},
}.to_json
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
http.request(request)
end
JSON.parse(response.body)Python (requests)
import os
import requests
response = requests.post(
"https://app.signlift.eu/api/v1/signature_requests",
headers={
"X-Api-Key": os.environ["SIGNLIFT_API_KEY"],
"Content-Type": "application/json",
},
json={
"signature_request": {
"mode": "sequential",
"validity_days": 30,
"signers": [
{
"ref": "jeanne",
"first_name": "Jeanne",
"last_name": "Dupont",
"email": "jeanne@example.com",
"order": 1,
},
],
"documents": [{"id": 42, "signers": []}], # placements ici
},
},
)
response.raise_for_status()
data = response.json()