Πήγαινε στο κύριο περιεχόμενο

Γρήγορη Έναρξη Websocket σε Πραγματικό Χρόνο

Αυτή η γρήγορη έναρξη συγκεντρώνει τα ελάχιστα που χρειάζεστε για να ξεκινήσετε να λαμβάνετε πραγματικού χρόνου Legalesign GraphQL γεγονότα.

πληροφορίες

Αν προτιμάτε server-to-server callbacks αντί για επίμονες συνδέσεις, είναι διαθέσιμα και webhooks (περιγράφονται στην ενότητα REST API).

Χρησιμοποιείτε έναν βοηθό κωδικοποίησης AI;

Για καλύτερα αποτελέσματα, δώστε στο εργαλείο AI αυτές τις σελίδες μαζί:

Θα:

  • αποκτήσετε ένα access token
  • ανοίξετε μια σύνδεση AppSync websocket
  • εγγραφείτε σε feed χρήστη ή ομάδας
  • αναλύσετε το φάκελο γεγονότος
  • δρομολογήσετε με βάση το category και το event

Πριν Ξεκινήσετε

Χρειάζεστε:

  • ενεργοποιημένη πρόσβαση API για τον λογαριασμό σας
  • ένα λογαριασμό χρήστη Legalesign
  • ένα access token
  • ένα groupId αν θέλετε να χρησιμοποιήσετε το subscribeGroupFeed

Ξεκινήστε από εδώ αν δεν έχετε ολοκληρώσει αυτά τα βήματα:

Βήμα 1: Επιλέξτε ένα Feed

Χρησιμοποιήστε:

  • subscribeUserFeed για γεγονότα που αφορούν χρήστες, όπως πρόοδος ανέβασματος
  • subscribeGroupFeed για γεγονότα που αφορούν ομάδες, όπως ενημερώσεις εγγράφων, παραληπτών, προτύπων, εργασιών, πιστώσεων και κύκλου ζωής

Feed Χρήστη

subscription SubscribeUserFeed {
subscribeUserFeed {
userId
data
}
}

Feed Ομάδας

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

Βήμα 2: Συνδεθείτε στο Websocket Endpoint

Χρησιμοποιήστε το endpoint AppSync websocket:

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

Περάσετε το bearer token σας στις παραμέτρους σύνδεσης.

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

Βήμα 3: Εγγραφείτε

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

Βήμα 4: Αναλύστε το Εσωτερικό Φορτίο

Το πεδίο της συνδρομής επιστρέφει:

  • ένα περιτύλιγμα παράδοσης (groupId ή userId)
  • μια συμβολοσειρά JSON στο data

Αναλύστε το εσωτερικό πεδίο data πριν κάνετε οτιδήποτε άλλο:

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

Παράδειγμα:

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

Βήμα 5: Δρομολογήστε με βάση το category και το event

Μην φτιάχνετε νέες ενσωματώσεις γύρω από τους κώδικες τύπου legacy systemMessage.

Χρησιμοποιήστε:

  • το category για να προσδιορίσετε την οικογένεια του γεγονότος
  • το event για να προσδιορίσετε την ειδική αλλαγή

Παραδείγματα:

  • category: "upload", event: "uploadCompleted"
  • category: "task", event: "taskCompleted"
  • category: "documentLifecycle", event: "documentCreated"
  • category: "recipientLifecycle", event: "recipientVisiting"

Τυπικά Πρότυπα Εκκίνησης

Αν διαλέγετε από που να ξεκινήσετε:

Τι να Διαβάσετε Μετά