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
categoryundeventrouten
Bevor Sie beginnen
Sie benötigen:
- API-Zugriff, der für Ihr Konto aktiviert ist
- ein Legalesign-Benutzerkonto
- ein Zugriffstoken
- eine
groupId, wenn SiesubscribeGroupFeedverwenden möchten
Beginnen Sie hier, wenn Sie diese Schritte noch nicht gemacht haben:
Schritt 1: Wählen Sie einen Feed
Verwenden Sie:
subscribeUserFeedfür benutzerorientierte Ereignisse wie Upload-FortschrittsubscribeGroupFeedfü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 (
groupIdoderuserId) - 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: