Αποστολή μιας Παρτίδας Εγγράφων
Ένα batch ομαδοποιεί πολλαπλά έγγραφα σε μία ενιαία λειτουργία αποστολής. Κάθε έγγραφο μπορεί να αποσταλεί σε διαφορετικούς αποδέκτες και να χρησιμοποιήσει διαφορετικό πρότυπο. Εσείς ελέγχετε τη σειρά με την οποία αποστέλλονται τα έγγραφα και αν οι υπογράφοντες ειδοποιούνται όταν ολοκληρώνονται τα προηγούμενα έγγραφα στο batch.
Η εμπειρία υπογραφής για τα batch διαφέρει επίσης από την τυπική αποστολή εγγράφου. Οι υπογράφοντες βλέπουν τα άλλα έγγραφα στο batch ως μέρος της ροής υπογραφής τους, δίνοντάς τους ορατότητα στο πλήρες σύνολο εγγράφων που πρέπει να υπογράψουν. Πότε και εάν ένας υπογράφων μπορεί να ενεργήσει σε κάθε έγγραφο εξακολουθεί να ελέγχεται από το sequentialSigning (η σειρά με την οποία υπογράφουν τα μέρη μέσα σε ένα έγγραφο) και το enforceOrder (η σειρά με την οποία απελευθερώνονται τα έγγραφα μέσα στο batch). Δείτε Τα τέσσερα workflows batching για πλήρη ανάλυση του πώς συνδυάζονται αυτές οι δύο ρυθμίσεις.
Η διαδικασία έχει τρία βήματα:
- Δημιουργήστε το batch — λάβετε ένα batch ID
- Προσθέστε έγγραφα στο batch — μία μετάλλαξη ανά έγγραφο
- Ξεκινήστε το batch — ενεργοποιεί την αποστολή
Prerequisites
- Λογαριασμός Legalesign με πρόσβαση API και τα στοιχεία πιστοποίησης (δεν μεταφράζεται, σύνδεσμος: authenticate)
- Τουλάχιστον ένα πρότυπο με ρυθμισμένους ρόλους, και το ID προτύπου του
- Το group ID σας
Step 1: Create the Batch
Καλέστε το sendBatch για να αρχικοποιήσετε το batch και να λάβετε ένα batch ID. Θα χρησιμοποιήσετε αυτό το ID σε κάθε επόμενη κλήση.
mutation CreateBatch {
sendBatch(input: {
batchName: "August contracts"
groupId: "Z3JwWW91ckdyb3VwSWQ="
enforceOrder: true
notifySender: true
notifySenderAttach: false
notifyParticipants: true
notifyParticipantsAttach: false
})
}
Απάντηση:
{
"data": {
"sendBatch": "dHNrWW91ckJhdGNoSWQtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw"
}
}
Αποθηκεύστε το επιστρεφόμενο ID — αυτό είναι το batchId σας για όλες τις επόμενες κλήσεις.
Κύρια πεδία:
enforceOrder: true— τα έγγραφα αποστέλλονται σύμφωνα με τη σειράsendOrder; το επόμενο έγγραφο αποστέλλεται μόλις ολοκληρωθεί το προηγούμενοnotifySender/notifyParticipants— ελέγχουν τις ειδοποιήσεις email κατά την ολοκλήρωσηnotifySenderAttach/notifyParticipantsAttach— αν επισυνάπτεται το υπογεγραμμένο PDF σε αυτές τις ειδοποιήσεις
Δείτε το SendBatchInput για όλα τα πεδία.
Step 2: Add Documents to the Batch
Καλέστε το sendBatchDocument μία φορά για κάθε έγγραφο. Χρησιμοποιήστε το sendOrder για να ελέγξετε τη σειρά (αρίθμηση από το 0).
Πρώτο έγγραφο (sendOrder: 0)
mutation AddDocumentToBatch {
sendBatchDocument(input: {
batchId: "dHNrWW91ckJhdGNoSWQtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw"
sendOrder: 0
document: {
title: "Service Agreement"
templateId: "dHBsWW91clRlbXBsYXRlSWQtMDAwMC0wMDAwLTAwMDA="
groupId: "Z3JwWW91ckdyb3VwSWQ="
tag: ""
pdfPassword: ""
retainPdfPassword: false
allowPrinting: true
allowCopying: true
sequentialSigning: true
documentCCEmail: []
senderFields: [
{ id: "ZWxlWW91clNlbmRlckZpZWxkSWQ=", value: "Acme Ltd" }
]
participantFields: [
{ id: "ZWxlUGFydGljaXBhbnRGaWVsZDE=", value: "" }
{ id: "ZWxlUGFydGljaXBhbnRGaWVsZDI=", value: "" }
{ id: "ZWxlUGFydGljaXBhbnRGaWVsZDM=", value: "" }
]
recipients: [
{
order: 0
signerIndex: 1
roleId: "cm9sWW91clJvbGVJZA=="
experience: "ZXhwWW91ckV4cGVyaWVuY2VJZA=="
firstName: "Alex"
lastName: "Taylor"
email: "alex.taylor@example.com"
phoneNumber: ""
expiryDate: null
timeZone: "Europe/London"
skipped: false
}
]
}
})
}
Απάντηση:
{
"data": {
"sendBatchDocument": "dHNrWW91ckJhdGNoSWQtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw"
}
}
Η απάντηση επαναλαμβάνει το batchId — όχι το ID εγγράφου.
Δεύτερο έγγραφο (sendOrder: 1)
Επαναλάβετε τη μετάλλαξη με διαφορετικό πρότυπο, sendOrder: 1 και ίδιους ή διαφορετικούς αποδέκτες:
mutation AddDocumentToBatch {
sendBatchDocument(input: {
batchId: "dHNrWW91ckJhdGNoSWQtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw"
sendOrder: 1
document: {
title: "Data Processing Agreement"
templateId: "dHBsWW91clNlY29uZFRlbXBsYXRlSWQ="
groupId: "Z3JwWW91ckdyb3VwSWQ="
tag: ""
pdfPassword: ""
retainPdfPassword: false
allowPrinting: true
allowCopying: true
sequentialSigning: true
documentCCEmail: []
senderFields: [
{ id: "ZWxlU2VuZGVyRmllbGRBMQ==", value: "" }
{ id: "ZWxlU2VuZGVyRmllbGRBMg==", value: "Acme Ltd" }
]
participantFields: [
{ id: "ZWxlUGFydGljaXBhbnRGaWVsZEEx", value: "" }
{ id: "ZWxlUGFydGljaXBhbnRGaWVsZEEy", value: "" }
{ id: "ZWxlUGFydGljaXBhbnRGaWVsZEEz", value: "" }
]
recipients: [
{
order: 0
signerIndex: 1
roleId: "cm9sU2Vjb25kUm9sZUlk"
experience: "ZXhwWW91ckV4cGVyaWVuY2VJZA=="
firstName: "Alex"
lastName: "Taylor"
email: "alex.taylor@example.com"
phoneNumber: ""
expiryDate: null
timeZone: "Europe/London"
skipped: false
}
]
}
})
}
Προσθέστε όσα έγγραφα χρειάζεστε πριν προχωρήσετε στο Βήμα 3.
Κάθε έγγραφο μπορεί να χρησιμοποιεί διαφορετικό πρότυπο και διαφορετικούς παραλήπτες. Η τιμή sendOrder καθορίζει τη σειρά όταν το enforceOrder είναι true.
Δείτε το SendBatchDocumentInput για όλα τα πεδία. Το εμφωλευμένο αντικείμενο document ακολουθεί τους ίδιους κανόνες επικύρωσης με το DocumentSendSettingsInput.
Step 3: Start the Batch
Μόλις προστεθούν όλα τα έγγραφα, καλέστε το startBatch για να ορίσετε το batch ως έτοιμο. Αυτό ενεργοποιεί την αποστολή.
mutation StartBatch {
startBatch(input: {
batchId: "dHNrWW91ckJhdGNoSWQtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw"
groupId: "Z3JwWW91ckdyb3VwSWQ="
})
}
Απάντηση:
{
"data": {
"startBatch": "dHNrWW91ckJhdGNoSWQtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw"
}
}
Μετά το startBatch, η Legalesign τοποθετεί τα έγγραφα σε ουρά. Εάν το enforceOrder είναι true, το πρώτο έγγραφο (sendOrder: 0) αποστέλλεται άμεσα και τα επόμενα έγγραφα κρατούνται μέχρι να ολοκληρωθεί το προηγούμενο.
Tracking Batch Progress
Τα batch διαθέτουν και δική τους αφιερωμένη προβολή στην Legalesign web app, προσφέροντας μια συγκεντρωτική επισκόπηση όλων των εγγράφων στο batch και της κατάστασης υπογραφής τους — χρήσιμο για την παρακολούθηση της προόδου χωρίς να χρειάζεται ερώτηση στο API.
Για να ερωτήσετε την κατάσταση του batch προγραμματιστικά, χρησιμοποιήστε το batch ID:
query GetBatch {
batch(id: "dHNrWW91ckJhdGNoSWQtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw") {
id
status
documents {
edges {
node {
id
title
status
}
}
}
}
}
Μπορείτε επίσης να χρησιμοποιήσετε συνδρομές για να λαμβάνετε ενημερώσεις σε πραγματικό χρόνο — δείτε Track Document and Recipient Lifecycle with Subscriptions.