Zum Hauptinhalt springen

Senden eines Dokuments

In diesem Schritt verwenden Sie die send Mutation, um ein Dokument zum Unterzeichnen zu senden. Dies ist die häufigste Operation in der Legalesign API.

Voraussetzungen

Sie benötigen:

Sie können beides durch Abfragen Ihrer Gruppen und deren Vorlagen herausfinden — siehe den vorherigen Schritt.

Dokument senden

index.js
const sendResult = await graphql(token, `
mutation SendDocument($input: DocumentSendSettingsInput!) {
send(input: $input)
}
`, {
input: {
groupId: '<your-group-id>',
templateId: '<your-template-id>',
title: 'Test Document',
recipients: [
{
firstName: 'Jane',
lastName: 'Smith',
email: 'jane@example.com',
order: 0
}
]
}
});

console.log('Task ID:', sendResult.data.send);

Wenn Sie roleId einschließen möchten, fragen Sie die Rollen der Vorlage ab mit template { roles { id signerIndex } } (siehe den vorherigen Schritt).

Wenn die Eingabe ungültig ist, gibt die Mutation sofort einen Fehler zurück.

Wenn die Mutation erfolgreich ist, gibt sie eine Task-ID zurück. Das Dokument wird asynchron verarbeitet.

Status der Aufgabe prüfen

Fragen Sie die task Abfrage ab, um zu überprüfen, wann das Senden abgeschlossen ist:

index.js
const taskId = sendResult.data.send;

const status = await graphql(token, `
query CheckTask($id: ID!) {
task(id: $id) {
data
report {
status
batchId
documents
errors
}
}
}
`, { id: taskId });

console.log(JSON.stringify(status, null, 2));

Überprüfen Sie status.data.task.report?.status in Ihrem Client. Wenn es COMPLETED wird, ist die Dokumenterstellung abgeschlossen. Wenn es FAILED wird, war das Senden nicht erfolgreich.

Vollständiges Beispiel

Hier ist die komplette index.js, die alle Schritte kombiniert:

index.js
const GRAPHQL_ENDPOINT = 'https://graphql.uk.legalesign.com/graphql';
const TOKEN = '<token-or-api-key>';

async function graphql(token, query, variables = {}) {
const response = await fetch(GRAPHQL_ENDPOINT, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({ query, variables })
});
const result = await response.json();
if (result.errors) console.error('GraphQL errors:', result.errors);
return result;
}

async function main() {
const result = await graphql(TOKEN, `
mutation SendDocument($input: DocumentSendSettingsInput!) {
send(input: $input)
}
`, {
input: {
groupId: '<your-group-id>',
templateId: '<your-template-id>',
title: 'Test Document',
recipients: [
{
firstName: 'Jane',
lastName: 'Smith',
email: 'jane@example.com',
order: 0
}
]
}
});

console.log('Task ID:', result.data.send);
}

main().catch(console.error);

Nächste Schritte

Export This Article

Save a copy of this page as PDF or plain text.