Neidio i’r prif gynnwys

Dechrau Cyflym Websocket Amser Real

Mae’r dechrau cyflym hwn yn dod â’r hyn lleiaf sydd ei angen arnoch i ddechrau derbyn digwyddiadau Legalesign GraphQL amser real.

gwybodaeth

Os ydych yn ffafrio galwadau ôl-dros-y-servewr dros gysylltiadau parhaol, mae webhooks hefyd ar gael (disgrifiwyd yn adran y REST API).

Defnyddio cynorthwyydd codio AI?

I gael y canlyniadau gorau, rhodwch eich offeryn AI gyda’r tudalennau hyn gyda’i gilydd:

Byddwch yn:

  • cael tocyn mynediad
  • agor cysylltiad websockets AppSync
  • tanysgrifio i ffynhonnell defnyddiwr neu grŵp
  • dadansoddi paen digwyddiad
  • rheoli ar category a event

Cyn i Chi Ddechrau

Mae arnoch angen:

  • mynediad API wedi’i ganiatáu ar eich cyfrif
  • cyfrif defnyddiwr Legalesign
  • tocyn mynediad
  • groupId os ydych am ddefnyddio subscribeGroupFeed

Dechreuwch yma os nad ydych wedi gwneud y camau hynny eto:

Cam 1: Dewiswch Ffynhonnell

Defnyddiwch:

  • subscribeUserFeed ar gyfer digwyddiadau wedi’u targedu at ddefnyddiwr megis cynnydd mewn lwytho
  • subscribeGroupFeed ar gyfer digwyddiadau wedi’u targedu at grŵp megis diweddariadau dogfennau, derbynyddion, templedi, tasgau, credydau a bywyd cylch

Ffynhonnell Defnyddiwr

subscription SubscribeUserFeed {
subscribeUserFeed {
userId
data
}
}

Ffynhonnell Grŵp

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

Cam 2: Cysylltu â’r Pwynt Terfyn Websocket

Defnyddiwch bwynt terfyn websocket AppSync:

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

Pasio'ch tocyn bearer yn y paramedrau cysylltiad.

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

Cam 3: Tanysgrifio

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

Cam 4: Dadansoddi’r Llwyth Mewnol

Mae’r maes tanysgrifio yn dychwelyd:

  • pecyn danwydd (groupId neu userId)
  • llinyn JSON yn data

Dadansoddwch faes data mewnol cyn gwneud unrhyw beth arall:

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

Enghraifft:

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

Cam 5: Rheoli ar category a event

Peidiwch â chreu integreiddiadau newydd o gwmpas codau systemMessage hen arddull.

Defnyddiwch:

  • category i nodi teulu’r digwyddiad
  • event i nodi’r newid penodol

Enghreifftiau:

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

Patrymau Dechrau Nodweddiadol

Os ydych yn dewis ble i ddechrau: