בונים עלLeonAI Signs.
האפליקציה עצמה רצה על ה-REST API הציבורי שלה, אז כל מה שעושים ב-LeonAI Signs אפשר לעשות מהקוד: לבנות תבניות, לשלוח מסמכים ולעקוב אחרי כל חותם.
curl https://signflow-api.leonai.io/api/v1/submissions \
-H "Authorization: $LEONAI_SIGNS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"template_id": "tpl_abc123",
"name": "NDA — Acme Corp",
"signers": [
{ "name": "Dana Levi", "email": "dana@acme.example", "role": "signer1" }
],
"fields_data": { "company_name": "Acme Corp" }
}'const res = await fetch("https://signflow-api.leonai.io/api/v1/submissions", {
method: "POST",
headers: {
Authorization: process.env.LEONAI_SIGNS_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
template_id: "tpl_abc123",
name: "NDA — Acme Corp",
signers: [{ name: "Dana Levi", email: "dana@acme.example", role: "signer1" }],
fields_data: { company_name: "Acme Corp" },
}),
});
const { data } = await res.json();
console.log(data.signing_url);import os, requests
res = requests.post(
"https://signflow-api.leonai.io/api/v1/submissions",
headers={"Authorization": os.environ["LEONAI_SIGNS_API_KEY"]},
json={
"template_id": "tpl_abc123",
"name": "NDA — Acme Corp",
"signers": [{"name": "Dana Levi", "email": "dana@acme.example", "role": "signer1"}],
"fields_data": {"company_name": "Acme Corp"},
},
)
print(res.json()["data"]["signing_url"])בקשה אחת, קישור חתימה אחד
כותרת אחת: מפתח ה-API ב-Authorization, בלי הקידומת Bearer.
ממלאים מראש כל שדה בתבנית עם fields_data.
קובעים signing_order כדי שהחותמים יחתמו לפי הסדר, או משמיטים את האימייל ומעבירים את הקישור בעצמכם.
התשובה:
201 Created
{
"data": {
"id": "…",
"status": "pending",
"signing_url": "https://signs.leonai.io/sign/…",
"expires_at": "…",
"signers": [ … ]
}
}יודעים ברגע שזה נחתם
submission.createdsubmission.sentsubmission.signedsubmission.completedsubmission.declinedsubmission.voidedsubmission.expiredsubmission.payment_completedsubmission.card_savedsubmission.payment_failedsigner.openedsigner.viewedsigner.signedsigner.declinedsigner.reminder_sentdocument.generateddocument.downloaded
כל שליחה חתומה בסוד של נקודת הקצה שלכם. בדקו את החתימה לפני שאתם סומכים על התוכן.
HTTPS בלבד. כתובות פרטיות וכתובות loopback נדחות.
אפשר להוסיף כותרות משלכם לכל נקודת קצה, שמורות מוצפנות, כדי שכלל בחומת האש יזהה אותן.
שליחה שנכשלה נשלחת שוב אוטומטית, ואפשר לשלוח אותה שוב מיומן השליחות או דרך ה-API.
import crypto from "node:crypto";
// X-LeonAI-Signature: t=<unix seconds>,v1=<base64 HMAC-SHA256>
export function verifyWebhook(rawBody, header, secret) {
const parts = Object.fromEntries(
header.split(",").map((p) => [p.slice(0, p.indexOf("=")), p.slice(p.indexOf("=") + 1)]),
);
const expected = crypto
.createHmac("sha256", secret)
.update(`${parts.t}.${rawBody}`)
.digest("base64");
const fresh = Math.abs(Date.now() / 1000 - Number(parts.t)) < 300;
return (
fresh &&
expected.length === parts.v1?.length &&
crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1))
);
}מה שהאפליקציה עושה, ה-API עושה
- Templates
- Template Fields
- Submissions
- Documents
- Signer Payments
- Webhooks
- Files
- Organizations
- Members & Invites
- Roles & Permissions
- API Tokens
- Usage & Credits
- Audit Log
- SSO
- Connect
או מחברים בלי קוד
Make.com
אפליקציה ייעודית: שולחים מסמכים ומגיבים לכל חתימה מתוך התרחישים שלכם.

Priority ERP
LeonAI Signs Connect מחבר את חברת ה-Priority שלכם לתהליכי החתימה.
כל מערכת עם כתובת URL
מכוונים אליה webhook ומקבלים כל אירוע כ-JSON חתום.