Zum Hauptinhalt springen

GraphQL Schnellstart

Dieser Schnellstart zeigt Ihnen, wie Sie den GraphQL Explorer verwenden, um:

  • zu bestätigen, dass Ihr Konto mit einer einfachen Abfrage funktioniert
  • Ihre groupId und templateId zu finden
  • ein Testdokument mit den minimal erforderlichen Feldern zu senden
  • den Aufgabenbericht abzufragen, um die abgeschlossene Dokumentenerstellung zu bestätigen
  • denselben Ablauf in Node.js, Python oder C# zu übertragen

Bevor Sie anfangen

Sie benötigen:

  • API-Zugang für Ihr Konto aktiviert. Falls Sie diesen noch nicht haben, kontaktieren Sie uns.
  • Ein Legalesign-Konto, in das Sie sich einloggen können
  • Mindestens eine Gruppe und eine Vorlage in Ihrem Konto

Wählen Sie die Authentifizierung

Der Explorer nutzt Ihre angemeldete Legalesign-Sitzung. In Ihrem eigenen Code unterstützt GraphQL SRP-Authentifizierung für den vollständigen Schema-Zugriff und API-Schlüssel für einen unterstützten Teilbereich.

ModusAbdeckungHeaderAm besten für
SRPVolles GraphQL-SchemaAuthorization: Bearer <access-token>Komplettintegration
API-SchlüsselNur unterstützter TeilbereichAuthorization: Bearer <api-key>Serverseitige Automatisierung und häufige Sende-/Leseabläufe

Dieser Schnellstart verwendet SRP-Authentifizierung in den Sprachenbeispielen, da sie über das volle GraphQL-Schema funktioniert. Wenn Sie einen Developer Portal API-Schlüssel nutzen, prüfen Sie die API-Key GraphQL-Referenz und die Auth-Badges auf den Referenzseiten.

Öffnen Sie den GraphQL Explorer

Gehen Sie zum GraphQL Explorer.

Info

Wenn Sie in Legalesign eingeloggt sind, erfolgt die Authentifizierung im Explorer automatisch.

Kopieren Sie die unten stehenden Abfragen in den GraphQL Explorer, um loszulegen. Später verwenden Sie dasselbe graphql in Ihrem eigenen Code.

Abfragen Ihres Benutzers

Starten Sie mit einer harmlosen Abfrage, um zu bestätigen, dass der Explorer funktioniert:

query MyUser {
user {
id
firstName
lastName
email
}
}

Wenn dies erfolgreich ist, funktioniert Ihre Explorer-Sitzung und Sie sind bereit, die IDs abzurufen, die für einen Versand benötigt werden.

Abfragen Ihrer Gruppen

Listen Sie als nächstes die Gruppen auf, zu denen Ihr Benutzer gehört:

query MyGroups {
user {
memberConnection(first: 10) {
groupMembers {
group {
id
name
}
}
}
}
}

Kopieren Sie die id für die Gruppe, von der Sie senden möchten. Das ist Ihre groupId.

Abfragen der Vorlagen in dieser Gruppe

Fragen Sie nun die Vorlagen in dieser Gruppe ab:

query GroupTemplates($groupId: ID!) {
group(id: $groupId) {
id
name
templateConnection(first: 10) {
templates {
id
title
}
}
}
}

Verwenden Sie diese Variablen:

{
"groupId": "<your-group-id>"
}

Kopieren Sie die id für die Vorlage, die Sie senden möchten. Das ist Ihre templateId.

Senden Sie Ihr erstes Dokument

Fügen Sie diese Mutation in den Explorer ein:

mutation SendDocument($input: DocumentSendSettingsInput!) {
send(input: $input)
}

Fügen Sie diese Variablen hinzu und ersetzen Sie die Platzhalterwerte:

{
"input": {
"groupId": "<your-group-id>",
"templateId": "<your-template-id>",
"title": "Test Document",
"recipients": [
{
"firstName": "Jane",
"lastName": "Smith",
"email": "jane@example.com",
"order": 0
}
]
}
}

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

Wenn die Mutation erfolgreich ist, gibt sie eine Aufgaben-ID zurück. Legalesign verarbeitet Sendungen asynchron, daher startet die Aufgabe den Versandauftrag, anstatt auf die Zustellung zu warten.

Abfragen des Aufgabenberichts

Tipp

Polling ist gut für den Einstieg. Für die Produktion können Sie auf Subscriptions umsteigen, um den Versandfortschritt in Echtzeit zu verfolgen.

Nach send verwenden Sie die zurückgegebene Aufgaben-ID, um die task-Abfrage zu polllen:

query GetTask($id: ID!) {
task(id: $id) {
data
report {
status
batchId
documents
errors
}
}
}

Verwenden Sie diese Variablen:

{
"id": "<task-id-from-send>"
}

Das report-Feld ermöglicht es Ihnen, zu bestätigen, wann die Dokumentenerstellung nach einem gültigen Versand, der die asynchrone Aufgabe gestartet hat, abgeschlossen ist.

Überwachen Sie report.status, bis es einen Endzustand erreicht:

  • COMPLETED bedeutet, dass die Dokumentenerstellung abgeschlossen ist
  • FAILED bedeutet, dass die Dokumentenerstellung nicht erfolgreich abgeschlossen wurde

Solange die Aufgabe noch läuft, können Zwischenzustände wie PENDING oder READY angezeigt werden.

Für den Einstieg und zum Prototyping ist das Polling der task-Abfrage eine einfache Möglichkeit, den Fortschritt zu prüfen. Für die Produktion sind Echtzeit-Updates mit Subscriptions besser geeignet.

Siehe:

Tipp

Verwenden Sie beim Testen eine echte Empfänger-E-Mail-Adresse, die Sie kontrollieren, damit Sie bestätigen können, dass der Versand wie erwartet abgeschlossen wurde.

Tipp

Sie können groupId und templateId auch aus den URLs Ihres Dashboards und des Formular-Editors extrahieren – sie sind die einzigen langen alphanumerischen Werte in diesen URLs.

Zum Code wechseln

Für den programmgesteuerten Zugriff wählen Sie zuerst einen Authentifizierungsmodus und erhalten ein Token oder einen API-Schlüssel. Siehe Authentifizieren mit der API.

Authentifizieren und eine Anfrage machen

Sobald Sie Ihr Token oder Ihren API-Schlüssel haben, senden Sie eine GraphQL-POST-Anfrage mit einem Authorization-Header:

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 })
});

return response.json();
}

async function main() {
const result = await graphql(TOKEN, `
query {
user {
id
firstName
lastName
email
}
}
`);

console.log(JSON.stringify(result, null, 2));
}

main().catch(console.error);

Nächste Schritte

  1. Wenn Sie eine sprachspezifische Einrichtung benötigen, verwenden Sie Node.js Setup oder C# Setup
  2. Wenn Sie zuerst Ihre eigene Vorlage erstellen möchten, folgen Sie Datei als Vorlage hochladen
  3. Lesen Sie Dokument senden für das vollständige Node.js-Codebeispiel
  4. Durchsuchen Sie die send-Mutationsreferenz