Οδηγός Γρήγορης Εκκίνησης
Χρησιμοποιείτε το Cursor, τον Claude ή άλλο εργαλείο προγραμματισμού με τεχνητή νοημοσύνη; Συνδέστε το με τα έγγραφα Legalesign για βοήθεια με επίγνωση του πλαισίου καθώς ακολουθείτε αυτόν τον οδηγό.
Σε αυτόν τον οδηγό θα ολοκληρώσετε τις βασικές κλήσεις API που χρειάζονται οι περισσότεροι προγραμματιστές από μια ένταξη ηλεκτρονικής υπογραφής - ανεβάζοντας ένα έγγραφο και στέλνοντάς το για υπογραφή.
Το Legalesign API είναι κλιμακούμενο, ευέλικτο και δοκιμασμένο σε παραγωγή στα συστήματα των πελατών μας για πολλά χρόνια. Μπορείτε να το χρησιμοποιήσετε για ένα απλό έγγραφο ενός μόνο υπογράφοντα ή να στείλετε έγγραφα για μαρτυρία ή εγκρίσεις, βελτιστοποιημένα για παρτίδες, με φόρμες και άλλα. Μπορείτε να το ενσωματώσετε για έναν σκοπό ή να το ενσωματώσετε μέσα στο λογισμικό σας για τους πελάτες σας - δείτε ενσωματώσεις.
Το REST API εκτελεί τις περισσότερες λειτουργίες και είναι ο πιο εύκολος τρόπος να ξεκινήσετε. Αν χρειάζεστε περισσότερα, δείτε το GraphQL interface. Το Legalesign είναι API πρώτα με GraphQL. Μπορείτε να χρησιμοποιήσετε είτε, όπως προτιμάτε.
Θα ακολουθήσουμε αυτά τα βήματα:
- Δημιουργήστε λογαριασμό + Κλειδί API (δείτε Πώς να επαληθευτείτε για πρόσβαση API).
- Επιβεβαιώστε ότι οι διαπιστευτήριες λειτουργούν και λάβετε το ID της ομάδας σας.
- Ανεβάστε ένα έγγραφο μέσω της web εφαρμογής.
- Στείλτε το για υπογραφή μέσω του API.
- Κατεβάστε το μετά την υπογραφή.
- Ανεβάστε ένα έγγραφο μέσω API.
Το Legalesign REST API είναι εύκολο στη χρήση. Η τεχνική αναφορά περιλαμβάνει έναν επεξεργαστή κώδικα. Μπορείτε να κάνετε αιτήσεις απευθείας από την τεχνική αναφορά με το κλειδί API σας, αλλιώς απλά αντιγράψτε και επικολλήστε απευθείας στον κώδικά σας.
Εικόνα 1: Ο Επεξεργαστής Κώδικα REST API.
Βιβλιοθήκες Πελατών
Ή για το GraphQL interface Node.js
Συνιστούμε οι προγραμματιστές να δουλεύουν απευθείας με το API παρά με τα SDKs. Για βοήθεια, υπάρχει ένας κώδικας κοπής και επικόλλησης στην τεχνική προδιαγραφή, και η τεχνητή σας νοημοσύνη μπορεί γρήγορα να παράγει παραδείγματα χρησιμοποιώντας το OpenAPI spec. Γιατί; Το πρωτότυπο API έχει περισσότερη λειτουργικότητα από τα SDKs, στο τέλος θα θέλετε να γνωρίζετε τα endpoints που χρησιμοποιείτε ούτως ή άλλως, θα αποφύγετε το βάρος της αφαίρεσης και των εξαρτήσεων, και—βάσει της εμπειρίας μας—θα ολοκληρώσετε πιο γρήγορα.
1. Δημιουργήστε λογαριασμό
Μεταβείτε στο legalesign sign up και ακολουθήστε τη διαδικασία για να δημιουργήσετε λογαριασμό.
Θα σας ζητηθεί να δημιουργήσετε μια ομάδα. Οι ομάδες είναι τα δομικά στοιχεία του Legalesign. Όλη η επεξεργασία εγγράφων γίνεται σε μια ομάδα. Πρέπει να αναφέρεστε στην ομάδα σας στις περισσότερες κλήσεις API.
Η "ομάδα" ή "group" είναι το ίδιο πράγμα. Στην web εφαρμογή μιλάμε για "ομάδες", αλλά στο σχήμα API είναι group.
Ρυθμίσεις API
Μεταβείτε στον Πίνακα Ελέγχου API. Δημιουργήστε τα διαπιστευτήρια API σας στην ενότητα Κλειδί API.
Αφιερώστε λίγο χρόνο να εξερευνήσετε το Developer Portal.
Sandbox
Στην Ενότητα Περιβάλλοντος, μια ειδοποίηση δείχνει αν βρίσκεστε σε sandbox ή παραγωγική λειτουργία.
Η λειτουργία sandbox εφαρμόζει όριο 100 κλήσεων ανά ώρα. Δεν υπάρχουν περιορισμοί στις διευθύνσεις email των παραληπτών.
Όταν η ένταξή σας είναι έτοιμη: μεταβείτε σε λειτουργία παραγωγής.
Δημιουργήστε μια δεύτερη ομάδα. Χρησιμοποιήστε την πρώτη ομάδα για ανάπτυξη και άλλες ομάδες για παραγωγή. Ενημερώστε την υποστήριξη το όνομα της ομάδας ανάπτυξης για να την εξαιρέσουν από τη χρέωση.
Κλειδί API
Στην Ενότητα Κλειδί API θα δείτε τις λεπτομέρειες των κλειδιών API σας. Το ίδιο το κλειδί εμφανίζεται μόνο όταν το δημιουργείτε.
Το Developer Portal περιλαμβάνει παραδείγματα κοπής και επικόλλησης για να δοκιμάσετε το κλειδί σας.

Webhooks & Καταγραφές
Προσθέστε webhooks (τους ακροατές για τα γεγονότα Legalesign) και εξετάστε τις καταγραφές σας.

2. Επιτυχημένο Αίτημα GET
Η βασική διεύθυνση url είναι πάντα: https://eu-api.legalesign.com/
Ξεκινήστε με ένα αίτημα GET για να επιβεβαιώσετε ότι οι διαπιστευτήριές σας λειτουργούν. Αντικαταστήστε το your_api_key με το κλειδί σας από το Developer Portal.
Στα παραδείγματα χρησιμοποιείται το Curl, και μπορείτε να μεταβείτε ανάμεσα σε cURL, Node.js, Python, C#, και Go χρησιμοποιώντας τις καρτέλες παρακάτω.
- cURL
- Node.js
- Python
- C#
- Go
curl -H "Authorization: Bearer your_api_key" -H "Content-Type: application/json" -X GET https://eu-api.legalesign.com/api/v1/group/
import fetch from 'node-fetch';
async function getGroups() {
const response = await fetch('https://eu-api.legalesign.com/api/v1/group/', {
method: 'GET',
headers: {
'Authorization': 'Bearer your_api_key',
'Content-Type': 'application/json',
},
});
if (!response.ok) {
throw new Error(`Request failed with status ${response.status}`);
}
const data = await response.json();
console.log(data);
}
getGroups().catch((error) => {
console.error(error);
process.exit(1);
});
import requests
headers = {
"Authorization": "Bearer your_api_key",
"Content-Type": "application/json",
}
response = requests.get(
"https://eu-api.legalesign.com/api/v1/group/",
headers=headers,
timeout=30,
)
response.raise_for_status()
print(response.json())
using System;
using System.Net.Http;
using System.Threading.Tasks;
public class Program
{
public static async Task Main()
{
using var client = new HttpClient();
using var request = new HttpRequestMessage(
HttpMethod.Get,
"https://eu-api.legalesign.com/api/v1/group/"
);
request.Headers.TryAddWithoutValidation("Authorization", "Bearer your_api_key");
request.Headers.TryAddWithoutValidation("Content-Type", "application/json");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
}
package main
import (
"fmt"
"io"
"log"
"net/http"
)
func main() {
req, err := http.NewRequest(http.MethodGet, "https://eu-api.legalesign.com/api/v1/group/", nil)
if err != nil {
log.Fatal(err)
}
req.Header.Set("Authorization", "Bearer your_api_key")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
if resp.StatusCode >= 400 {
log.Fatalf("request failed: %s", resp.Status)
}
body, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(body))
}
Τεκμηρίωση API: Αναφορά API GET group.
Όταν εκτελέσετε το παραπάνω ερώτημα, θα δείτε τις ομάδες σας να επιστρέφονται σε JSON. Επιτυχία. 👏
Τα δεδομένα απόκρισης περιέχουν το 'resource uri' για την ομάδα σας και μοιάζει με /api/v1/group/:groupId/. Κρατήστε το αυτό σημειωμένο, θα το χρειαστείτε στις περισσότερες κλήσεις API.
Ένα resource uri θα έχει πάντα την ίδια μορφοποίηση. Για ένα PDF θα είναι '/api/v1/templatepdf/:pdfId/', για ένα έγγραφο που έχει σταλεί θα είναι '/api/v1/document/:documentId/'. Παρατηρήστε πως όλα τα URIs τελειώνουν με slash. Αυτό ισχύει επίσης για τα URLs των κλήσεων API σας—πάντα τελειώνετε με slash.
Αν το αίτημα GET απέτυχε, ελέγξτε ότι:
- η κεφαλίδα Authorization έχει σωστή μορφοποίηση (ξεκινά με
Bearer), - έχετε κεφαλίδα Content-Type για application/json, και
- το url σας τελειώνει με slash.
Δείτε επίσης αντιμετώπιση προβλημάτων.
3. Ανεβάστε ένα έγγραφο μέσω της web εφαρμογής
Για να ξεκινήσουμε, θα ανεβάσουμε ένα έγγραφο μέσω της web εφαρμογής και μετά θα το στείλουμε μέσω του API. Θα καλύψουμε πώς να ανεβάσετε ένα έγγραφο μέσω του API αργότερα.
Μεταβείτε στην web εφαρμογή και ανεβάστε το έγγραφό σας. Προσθέστε ένα ρόλο υπογράφοντος και σύρετε ένα πεδίο υπογραφής. Η σελίδα του επεξεργαστή θα δείχνει αν το έγγραφο είναι "έγκυρο" (παράδειγμα "άκυρου" μπορεί να είναι αν προσθέσετε έναν ρόλο υπογράφοντα χωρίς σχετικό πεδίο υπογραφής).
Στον επεξεργαστή φόρμας, αντιγράψτε το μακρύ αλφαριθμητικό ID από το URL, κάντε base64 decoding και απορρίψτε τα πρώτα 3 γράμματα (που πρέπει να είναι 'tpl'). Το υπόλοιπο είναι ένα UUID το οποίο είναι το ID σας. Μάθετε περισσότερα για τα web και API IDs.
Το REST API ID για αυτό το έγγραφο είναι /api/v1/templatepdf/UUID/.
Η ορολογία μας είναι ότι ένα ανεβασμένο έγγραφο είναι "template" και όταν στέλνετε ένα, δημιουργείτε ένα "document".
Αν θέλετε να αρχειοθετήσετε ένα template όταν το έγγραφο αποστέλλεται, ορίστε το 'archive_upon_send' ως χαρακτηριστικό στο αίτημα ανεβάσματος. Αν θέλετε το template να μην εμφανίζεται ποτέ και να διαγράφεται μετά την αποστολή, δώστε του τον τίτλο '[deleted]' - τα συστήματα καθαρισμού μας θα το εντοπίσουν και θα το διαγράψουν μετά από μία ή δύο μέρες. Μπορείτε επίσης να ορίσετε σύντομους χρόνους διατήρησης στο επίπεδο της ομάδας - μάθετε περισσότερα.
4. Στείλτε ένα έγγραφο για υπογραφή
Τώρα θα το στείλουμε μέσω του API. Χρησιμοποιήστε τις καρτέλες παρακάτω για να πάρετε το αίτημα στη γλώσσα προτίμησής σας.
- cURL
- Node.js
- Python
- C#
- Go
curl -H "Authorization: Bearer your_api_key" -H "Content-Type: application/json" -X POST --data '{ "group": "/api/v1/group/[:groupId]/", "name": "Name of doc", "templatepdf": "/api/v1/templatepdf/UUID/", "signers": [{"firstname": "Joe", "lastname": "Bloggs", "email": "[your@email.com]", "order": 0 }], "do_email": true }' https://eu-api.legalesign.com/api/v1/document/
import fetch from 'node-fetch';
const payload = {
group: '/api/v1/group/[:groupId]/',
name: 'Name of doc',
templatepdf: '/api/v1/templatepdf/UUID/',
signers: [
{
firstname: 'Joe',
lastname: 'Bloggs',
email: '[your@email.com]',
order: 0,
},
],
do_email: true,
};
async function sendDocument() {
const response = await fetch('https://eu-api.legalesign.com/api/v1/document/', {
method: 'POST',
headers: {
'Authorization': 'Bearer your_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify(payload),
});
if (response.status !== 201) {
const errorBody = await response.text();
throw new Error(`Request failed with status ${response.status}: ${errorBody}`);
}
console.log('Document sent successfully');
const location = response.headers.get('location');
if (location) {
console.log(`Location: ${location}`);
}
}
sendDocument().catch((error) => {
console.error(error);
process.exit(1);
});
import requests
payload = {
"group": "/api/v1/group/[:groupId]/",
"name": "Name of doc",
"templatepdf": "/api/v1/templatepdf/UUID/",
"signers": [
{
"firstname": "Joe",
"lastname": "Bloggs",
"email": "[your@email.com]",
"order": 0,
}
],
"do_email": true,
}
headers = {
"Authorization": "Bearer your_api_key",
"Content-Type": "application/json",
}
response = requests.post(
"https://eu-api.legalesign.com/api/v1/document/",
json=payload,
headers=headers,
timeout=30,
)
response.raise_for_status()
print("Document sent successfully")
print("Location:", response.headers.get("Location"))
using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
public class Program
{
public static async Task Main()
{
var payload = new
{
group = "/api/v1/group/[:groupId]/",
name = "Name of doc",
templatepdf = "/api/v1/templatepdf/UUID/",
signers = new[]
{
new
{
firstname = "Joe",
lastname = "Bloggs",
email = "[your@email.com]",
order = 0,
},
},
do_email = true,
};
using var client = new HttpClient();
using var request = new HttpRequestMessage(
HttpMethod.Post,
"https://eu-api.legalesign.com/api/v1/document/"
);
request.Headers.TryAddWithoutValidation("Authorization", "Bearer your_api_key");
var json = JsonSerializer.Serialize(payload);
request.Content = new StringContent(json, Encoding.UTF8, "application/json");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine("Document sent successfully");
if (response.Headers.Location is not null)
{
Console.WriteLine($"Location: {response.Headers.Location}");
}
}
}
package main
import (
"bytes"
"encoding/json"
"fmt"
"log"
"net/http"
)
func main() {
payload := map[string]any{
"group": "/api/v1/group/[:groupId]/",
"name": "Name of doc",
"templatepdf": "/api/v1/templatepdf/UUID/",
"signers": []map[string]any{
{
"firstname": "Joe",
"lastname": "Bloggs",
"email": "[your@email.com]",
"order": 0,
},
},
"do_email": true,
}
body, err := json.Marshal(payload)
if err != nil {
log.Fatal(err)
}
req, err := http.NewRequest(
http.MethodPost,
"https://eu-api.legalesign.com/api/v1/document/",
bytes.NewReader(body),
)
if err != nil {
log.Fatal(err)
}
req.Header.Set("Authorization", "Bearer your_api_key")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusCreated {
log.Fatalf("unexpected status: %s", resp.Status)
}
fmt.Println("Document sent successfully")
fmt.Println("Location:", resp.Header.Get("Location"))
}
Ενημερώστε όλα τα τετράγωνα παρενθέσεις. Αναφορά API για αποστολή εγγράφου.
Όταν επισκέπτεστε την τεκμηρίωση αναφοράς για την αποστολή εγγράφου ρίξτε μια καλή ματιά σε όλα τα πιθανά χαρακτηριστικά. Θα δείτε πολλά που θα βοηθήσουν στις πρακτικές λεπτομέρειες της ενσωμάτωσης - ετικέτες για τις δικές σας αναφορές και ID (που επιστρέφουν σε webhooks), ανακατεύθυνση για υπογράφοντες, προσαρμοσμένο κείμενο στο pdf, και άλλα.
Μια επιτυχημένη κλήση επιστρέφει κωδικό κατάστασης 201. ✨
Πάρτε το νέο ID του εγγράφου που στάλθηκε
Το σημαντικό μέρος της απόκρισης είναι η κεφαλίδα location. Περιέχει το νέο ID εγγράφου σας.
Χρησιμοποιήστε τα χαρακτηριστικά 'tag' εγγράφου και προσθέστε τις δικές σας αναφορές για να διευκολύνετε τη σύνδεση με τη δική σας βάση δεδομένων.
Η κεφαλίδα location θα μοιάζει με /api/v1/status/:documentId/.
Το URI 'status' επιστρέφει ένα σύντομο (και γρήγορο στην ερώτηση) σύνολο χαρακτηριστικών εγγράφου.
Για να ζητήσετε τα πάντα από ένα έγγραφο, χρησιμοποιήστε το /api/v1/document/:documentId/.
Αν ένα αίτημα αποτύχει, το ΣΩΜΑ της απόκρισης συνήθως περιέχει πληροφορίες σφάλματος. Αν δεν λάβετε επιτυχές status, ελέγξτε το ΣΩΜΑ για επεξηγηματικό κείμενο. Δείτε επίσης αντιμετώπιση προβλημάτων.
Μάθετε περισσότερα για την κλήση API Αποστολής Εγγράφου.
5. Κατεβάστε το υπογεγραμμένο έγγραφο
Με το ID του αποσταλμένου εγγράφου που λάβατε πιο πάνω, κάντε αίτημα λήψης PDF στη γλώσσα της επιλογής σας:
- cURL
- Node.js
- Python
- C#
- Go
curl -H "Authorization: Bearer your_api_key" -o download.pdf -X GET https://eu-api.legalesign.com/api/v1/pdf/:documentId/
import { writeFile } from 'node:fs/promises';
import fetch from 'node-fetch';
async function downloadPdf() {
const response = await fetch('https://eu-api.legalesign.com/api/v1/pdf/:documentId/', {
method: 'GET',
headers: {
'Authorization': 'Bearer your_api_key',
},
});
if (!response.ok) {
throw new Error(`Request failed with status ${response.status}`);
}
const buffer = await response.arrayBuffer();
await writeFile('download.pdf', Buffer.from(buffer));
console.log('Saved download.pdf');
}
downloadPdf().catch((error) => {
console.error(error);
process.exit(1);
});
import requests
headers = {"Authorization": "Bearer your_api_key"}
response = requests.get(
"https://eu-api.legalesign.com/api/v1/pdf/:documentId/",
headers=headers,
stream=True,
timeout=30,
)
response.raise_for_status()
with open("download.pdf", "wb") as file:
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
public class Program
{
public static async Task Main()
{
using var client = new HttpClient();
using var request = new HttpRequestMessage(
HttpMethod.Get,
"https://eu-api.legalesign.com/api/v1/pdf/:documentId/"
);
request.Headers.TryAddWithoutValidation("Authorization", "Bearer your_api_key");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var bytes = await response.Content.ReadAsByteArrayAsync();
await File.WriteAllBytesAsync("download.pdf", bytes);
Console.WriteLine("Saved download.pdf");
}
}
package main
import (
"io"
"log"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest(
http.MethodGet,
"https://eu-api.legalesign.com/api/v1/pdf/:documentId/",
nil,
)
if err != nil {
log.Fatal(err)
}
req.Header.Set("Authorization", "Bearer your_api_key")
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
if resp.StatusCode >= 400 {
log.Fatalf("request failed: %s", resp.Status)
}
file, err := os.Create("download.pdf")
if err != nil {
log.Fatal(err)
}
defer file.Close()
if _, err := io.Copy(file, resp.Body); err != nil {
log.Fatal(err)
}
log.Println("Saved download.pdf")
}
Το δυαδικό PDF βρίσκεται στο σώμα της απόκρισης. Η εντολή curl '-o' βάζει το ΣΩΜΑ της απόκρισης απευθείας σε αρχείο.
Πολλές βιβλιοθήκες REST ή HTTP αντιμετωπίζουν τα αντικείμενα απόκρισης HTTP σαν αρχεία οπότε απλά αποθηκεύστε το αντικείμενο απόκρισης σαν κανονικό αρχείο.
Χρησιμοποιήστε webhooks για να ενημερώνεστε για ένα γεγονός υπογραφής και μετά να κατεβάζετε το έγγραφο. Δείτε webhooks.
6. Ανεβάστε ένα έγγραφο μέσω API
Πατήστε εδώ για να κατεβάσετε ένα παράδειγμα PDF με ετικέτες κειμένου, περισσότερα για τα πεδία φόρμας PDF ακολουθούν.
Για αυτήν την κλήση, μετατρέψτε το PDF σας σε συμβολοσειρά κωδικοποιημένη σε base64. Αυτό δεν γίνεται σωστά μέσα στον δημιουργό κώδικα της τεκμηρίωσης. Αντιγράψτε αυτόν τον ψευδοκώδικα και η AI θα τον μετατρέψει στη γλώσσα που προτιμάτε:
$data = (
'group': '/api/v1/group/:groupId/',
'title': 'title of pdf',
'pdf_file': base64encode(open('/path/to/file','rb')),
'process_tags': true
)
$headers = (
'Authorization': 'Bearer your_api_key',
'Content-Type': 'application/json'
)
response = httplibrary.post('https://eu-api.legalesign.com/api/v1/templatepdf/', jsonEncode($data), $headers)
assert response.status == 201
pdfId = response.headers['location']
Μια επιτυχημένη απάντηση POST επιστρέφει status 201 και το νέο ID θα είναι στην κεφαλίδα απόκρισης location.
Το resource URI του pdf σας θα μοιάζει με /api/v1/templatepdf/:pdfId/.
Άλλες μορφές αρχείων
Τα αρχεία Word, HTML, απλό κείμενο, XLSX και εικόνες υποστηρίζονται όλα. Ανεβάστε τα χρησιμοποιώντας τον GraphQL file uploader, που ανιχνεύει αυτόματα τη μορφή και μετατρέπει σε PDF. Ανακτήστε το ID και στείλτε το μέσω του REST API κανονικά. Δείτε επίσης κατανόηση REST και GraphQL IDs. Οι ετικέτες κειμένου θα ανιχνεύονται κανονικά.
Στείλτε το νέο PDF
Επιστρέψτε στον κώδικα που χρησιμοποιήσατε για να στείλετε το πρώτο σας έγγραφο και αντικαταστήστε την τιμή του templatepdf.
Κάντε ξανά το αίτημα και αυτό είναι, στείλατε το PDF σας για υπογραφή.
Πριν ξεκινήσετε να κωδικοποιείτε, όμως, συνεχίστε να διαβάζετε για να μάθετε περισσότερα για τα πεδία PDF.
Τι συμβαίνει με τα πεδία PDF;
Πώς ξέρει το Legalesign πού πρέπει να υπογράψει το άτομο στο PDF ή ποιες ενότητες να αλλάξουν κατά την αποστολή; Η απάντηση είναι ότι το PDF μας προετοιμάστηκε με ετικέτες: βάζουμε μια ετικέτα κειμένου Legalesign μέσα στο PDF και ορίζουμε το 'process_tags' σε true στο αίτημα ανεβάσματος PDF.
Κατεβάστε ένα παράδειγμα PDF με ετικέτες κειμένου.
Οι ετικέτες κειμένου είναι ειδικά μορφοποιημένο κείμενο για να βάλετε σε ένα PDF. Το Legalesign θα αναλύσει το κείμενο στο αρχείο σας, αντικαθιστώντας τις ετικέτες με πεδία υπογραφής και φόρμας. Για έναν υπογράφοντα, το μόνο που χρειάζεται να κάνετε είναι να προσθέσετε: <<t=signature>>. Το Legalesign θα το εντοπίσει και θα τοποθετήσει την υπογραφή εκεί. Μάθετε για τις ετικέτες κειμένου.
Άλλοι τρόποι για να τοποθετήσετε τα πεδία σας περιγράφονται παρακάτω, αλλά με τις ετικέτες κειμένου έχετε όλη τη λειτουργικότητα του συστήματος φορμών Legalesign. Χρησιμοποιήστε την web εφαρμογή για να δοκιμάσετε τις ετικέτες σας. Επικοινωνήστε με την υποστήριξη για βοήθεια και παραδείγματα.
Εδώ είναι 4 άλλοι τρόποι για να δημιουργήσετε πεδία:
1. Η πιο εύκολη/γρήγορη έκδοση. Ρυθμίστε το PDF σας χρησιμοποιώντας την web εφαρμογή Legalesign.
Αφού ανεβάσετε ένα PDF, θα μεταβείτε στη διεπαφή επεξεργασίας όπου μπορείτε να σύρετε και να αποθέσετε πεδία φόρμας.
Σύρετε και αφήστε μια υπογραφή, και μετά σημειώστε το κωδικοποιημένο ID στη διεύθυνση web. Αυτό θα μοιάζει κάπως με 'dHBsMTRlZTQ0ZWUtZGE0Ni0xMWVmLTllZmUtMDI5ZGQ0ODkzZGRk'.
Κάντε base64 decode σε αυτό το ID και θα δείτε ότι είναι ένα UUID με πρόθεμα 'tpl'. Το τμήμα UUID (αφαιρέστε το 'tpl') είναι το pdfID σας. Μάθετε περισσότερα για τα IDs Legalesign.
Το URI πόρου PDF API σας θα είναι - /api/v1/templatepdf/:pdfId/.
Βάλτε το αυτό στο χαρακτηριστικό 'templatepdf' της κλήσης αποστολής εγγράφου.
Αν σκοπεύετε να στείλετε αυτό το PDF περισσότερες από μία φορές, βεβαιωθείτε ότι η 'Αυτόματη αρχειοθέτηση' είναι απενεργοποιημένη. Δείτε πώς
2. Χρησιμοποιήστε συντεταγμένες x/y για τα πεδία.
Ο πιο απλός τρόπος να ξεκινήσετε με x/y συντεταγμένες είναι να φτιάξετε ένα PDF στην web εφαρμογή και μετά να κάνετε API ερώτηση για αυτά τα πεδία (GET PDF Fields - /api/v1/templatepdf/:pdfId/fields/).
Το αντικείμενο JSON που λαμβάνετε είναι το ακριβές ίδιο JSON schema που χρειάζεστε και για τη δημιουργία πεδίων.
Χρησιμοποιήστε το ως πρότυπο. Αλλάξτε όποιες τιμές θέλετε και στείλτε το ξανά με POST στο ίδιο endpoint (προσαρμόζοντας το PDF ID ανάλογα). Δημιουργία endpoint πεδίου PDF.
3. Ενσωματώστε τη σελίδα επεξεργασίας PDF μας. ΝΕΟ!
Χρησιμοποιήστε το συνιστώσα επεξεργασίας μας για να ενσωματώσετε τον επεξεργαστή PDF απευθείας στην εφαρμογή σας. Μάθετε περισσότερα για τη συνιστώσα επεξεργαστή εγγράφων.
4. Πεδίο Φόρμας PDF ΝΕΟ!
Αν το PDF σας περιέχει κανονικά πεδία φόρμας PDF, το Legalesign μπορεί να τα εισάγει αυτόματα.
Καλή κωδικοποίηση!
Σε αυτόν τον οδηγό αποκτήσατε διαπιστευτήρια API, κάνατε επιτυχημένα ερωτήσεις για τις ομάδες σας, στείλατε έγγραφο για υπογραφή χρησιμοποιώντας PDF, και κατεβάσατε υπογεγραμμένο έγγραφο.
Είμαστε εδώ για βοήθεια, επικοινωνήστε με την υποστήριξη για οποιαδήποτε βοήθεια.
Εξετάστε τις επιλογές αποστολής που έχετε στη διάθεσή σας. Αφιερώστε λίγη ώρα διαβάζοντας όλα τα χαρακτηριστικά στο create document endpoint, ιδιαίτερα τα 'signers', 'pdftext' και 'signertext'. Δημιουργία εγγράφου υπογραφής.