Avvio Rapido Websocket in Tempo Reale
Questo avvio rapido riunisce il minimo necessario per iniziare a ricevere eventi Legalesign GraphQL in tempo reale.
Se preferisci callback server-to-server invece di connessioni persistenti, sono disponibili anche i webhook (descritti nella sezione REST API).
Per risultati ottimali, fornisci al tuo strumento AI queste pagine insieme:
Farai:
- ottenere un token di accesso
- aprire una connessione websocket AppSync
- iscriverti a un feed utente o di gruppo
- analizzare l'involucro dell'evento
- instradare in base a
categoryedevent
Prima di Iniziare
Hai bisogno di:
- accesso API abilitato per il tuo account
- un account utente Legalesign
- un token di accesso
- un
groupIdse desideri usaresubscribeGroupFeed
Inizia qui se non hai ancora completato questi passaggi:
Passo 1: Scegli un Feed
Usa:
subscribeUserFeedper eventi destinati all'utente come il progresso di caricamentosubscribeGroupFeedper eventi destinati al gruppo come aggiornamenti di documento, destinatario, modello, compito, credito e ciclo di vita
Feed utente
subscription SubscribeUserFeed {
subscribeUserFeed {
userId
data
}
}
Feed gruppo
subscription SubscribeGroupFeed($groupId: String!) {
subscribeGroupFeed(groupId: $groupId) {
groupId
data
}
}
Passo 2: Connettersi all'Endpoint Websocket
Usa l'endpoint websocket AppSync:
wss://graphql.uk.legalesign.com/graphql
Passa il tuo token bearer nei parametri di connessione.
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}`,
},
});
Passo 3: Iscriviti
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'),
}
);
Passo 4: Analizza il Payload Interno
Il campo subscription restituisce:
- un involucro di consegna (
groupIdouserId) - una stringa JSON in
data
Analizza il campo interno data prima di fare altro:
const parseEnvelope = (payload) => {
const raw = payload?.data;
if (!raw) return null;
return typeof raw === 'string' ? JSON.parse(raw) : raw;
};
Esempio:
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);
}
Passo 5: Instrada in base a category ed event
Non costruire nuove integrazioni attorno ai codici legacy in stile systemMessage.
Usa:
categoryper identificare la famiglia dell'eventoeventper identificare il cambiamento specifico
Esempi:
category: "upload",event: "uploadCompleted"category: "task",event: "taskCompleted"category: "documentLifecycle",event: "documentCreated"category: "recipientLifecycle",event: "recipientVisiting"
Schemi Tipici di Partenza
Se stai scegliendo da dove iniziare:
- UI per elaborazione file: Traccia il progresso di caricamento con le Subscription
- UI workflow di invio: Traccia i compiti di invio con le Subscription
- UI dashboard/attività: Traccia il ciclo di vita di documento e destinatario con le Subscription