Zum Hauptinhalt springen

Echtzeit-Websocket-Schnellstart

Dieser Schnellstart fasst das Minimum zusammen, das Sie benötigen, um Echtzeit-Legalesign-GraphQL-Ereignisse zu empfangen.

Info

Wenn Sie serverseitige Callbacks statt persistenter Verbindungen bevorzugen, sind auch Webhooks verfügbar (beschrieben im REST-API-Abschnitt).

Nutzen Sie einen KI-Coding-Assistenten?

Für beste Ergebnisse geben Sie Ihrem KI-Tool diese Seiten zusammen:

Sie werden:

  • ein Zugriffstoken erhalten
  • eine AppSync-Websocket-Verbindung öffnen
  • sich auf einen Benutzer- oder Gruppen-Feed abonnieren
  • die Ereignishülle parsen
  • nach category und event routen

Bevor Sie beginnen

Sie benötigen:

  • API-Zugriff, der für Ihr Konto aktiviert ist
  • ein Legalesign-Benutzerkonto
  • ein Zugriffstoken
  • eine groupId, wenn Sie subscribeGroupFeed verwenden möchten

Beginnen Sie hier, wenn Sie diese Schritte noch nicht gemacht haben:

Schritt 1: Wählen Sie einen Feed

Verwenden Sie:

  • subscribeUserFeed für benutzerorientierte Ereignisse wie Upload-Fortschritt
  • subscribeGroupFeed für gruppenorientierte Ereignisse wie Dokument-, Empfänger-, Vorlagen-, Aufgaben-, Kredit- und Lebenszyklus-Updates

Benutzer-Feed

subscription SubscribeUserFeed {
subscribeUserFeed {
userId
data
}
}

Benutzer-Feed

subscription SubscribeGroupFeed($groupId: String!) {
subscribeGroupFeed(groupId: $groupId) {
groupId
data
}
}

Gruppen-Feed

wss://graphql.uk.legalesign.com/graphql

Schritt 2: Verbindung zum Websocket-Endpunkt herstellen

Verwenden Sie den AppSync-Websocket-Endpunkt:

import { createClient } from 'graphql-ws';

import WebSocket from 'ws';

const client = createClient({
url: 'wss://graphql.uk.legalesign.com/graphql',
webSocketImpl: WebSocket,
connectionParams: {
Authorization: `Bearer ${accessToken}`,
},
});

Übergeben Sie Ihr Bearer-Token in den Verbindungsparametern.

client.subscribe(
{
query: `
subscription SubscribeGroupFeed($groupId: String!) {
subscribeGroupFeed(groupId: $groupId) {
groupId
data
}
}
`,
variables: {
groupId: '<your-group-id>',
},
},
{
next: ({ data }) => {
console.log('raw message', data);
},
error: console.error,
complete: () => console.log('subscription closed'),
}
);

Schritt 3: Abonnieren

const parseEnvelope = (payload) => {
const raw = payload?.data;
if (!raw) return null;
return typeof raw === 'string' ? JSON.parse(raw) : raw;
};

Schritt 4: Inneren Payload parsen

Das Subscription-Feld liefert:

  • eine Lieferhülle (groupId oder userId)
  • eine JSON-Zeichenfolge im Feld data

Parsen Sie das innere data-Feld, bevor Sie etwas anderes tun:

next: ({ data }) => {
const wrapper = data?.subscribeGroupFeed;
const event = parseEnvelope(wrapper);

console.log('event id', event?.eventId);
console.log('category', event?.category);
console.log('event', event?.event);
console.log('payload', event?.data);
}

Beispiel: