Kirim PDF, kumpulkan tanda tangan terverifikasi, dan unduh berkas tersegel. Stempel visual tetap gratis di browser.
Kirim kunci sebagai Authorization: Bearer gk_live_... Buat kunci. JSON OpenAPI
cURL
curl -X POST https://gustkit.com/api/v1/envelopes \
-H "Authorization: Bearer gk_live_..." \
-H "Idempotency-Key: envelope-42" \
-H "Content-Type: application/json" \
-d '{"pdfBase64":"<base64>","ownerName":"Rui","signers":[{"email":"[email protected]","name":"Ana","role":"client"}],"copies":["[email protected]"],"order":"sequential","fields":[{"signer":0,"page":1,"x":0.55,"y":0.8,"w":0.32,"h":0.08,"kind":"signature"}],"lang":"id"}'
JavaScript
const res = await fetch("https://gustkit.com/api/v1/envelopes", {
method: "POST",
headers: {
Authorization: "Bearer gk_live_...",
"Content-Type": "application/json",
"Idempotency-Key": "envelope-42",
},
body: JSON.stringify({
pdfBase64,
signers: [{ email: "[email protected]", name: "Ana", role: "client" }],
copies: ["[email protected]"],
order: "parallel",
fields: [{ signer: 0, page: 1, x: 0.55, y: 0.8, w: 0.32, h: 0.08, kind: "signature" }],
lang: "id",
}),
});
const envelope = await res.json();
Python
import requests
res = requests.post(
"https://gustkit.com/api/v1/envelopes",
headers={"Authorization": "Bearer gk_live_...", "Idempotency-Key": "envelope-42"},
json={"pdfBase64": pdf_b64, "signers": [{"email": "[email protected]", "name": "Ana"}], "copies": ["[email protected]"], "order": "parallel", "lang": "id"},
)
print(res.status_code, res.json())
Galat
Galat berupa JSON: error.code dan error.message. 401 berarti kunci tidak ada atau dicabut. 402 berarti kuota gratis habis saat penagihan hidup. 409 adalah konflik, termasuk kunci idempotensi yang dipakai lagi dengan isi berbeda. 429 adalah batas per menit kunci.