Sleamhnú go príomh-ábhar

Ceangail le Síntiúsanna AppSync

Taispeánann an treoir seo conas a cheangal le pointe deireadh websocket Legalesign AppSync agus tosú ag glacadh síntiúchán GraphQL.

Úsáid an leathanach seo don socrú ceangail.

Úsáid na leathanaigh seo don láimhseáil sonraí íosta:

Roimh Deireadh a Chríochnaigh Tú

Tá gá agat le:

  • sealbhóir rochtana bailí
  • pointe deireadh GraphQL Legalesign
  • cliant GraphQL cumasaithe do websocket

Faigh sealbhóir rochtana ar dtús:

Pointí Deiridh

Pointe deireadh HTTP GraphQL:

https://graphql.uk.legalesign.com/graphql

Pointe deireadh Websocket:

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

Fíordheimhniú

Pas do sealbhóir rochtana nuair atá tú ag oscailt an cheangail websocket.

Paraiméadair ceangail tipiciúla:

{
"Authorization": "Bearer <access-token>"
}

Oibríochtaí Síntiúsanna

Soláthar Úsáideora

subscription SubscribeUserFeed {
subscribeUserFeed {
userId
data
}
}

Soláthar Grúpa

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

Sampla JavaScript

Úsáideann an sampla seo graphql-ws:

import { createClient } from 'graphql-ws';
import WebSocket from 'ws';

const accessToken = '<access-token>';

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

const unsubscribeUser = client.subscribe(
{
query: `
subscription SubscribeUserFeed {
subscribeUserFeed {
userId
data
}
}
`,
},
{
next: ({ data }) => {
console.log('user feed message', data);
},
error: (err) => {
console.error('user feed error', err);
},
complete: () => {
console.log('user feed closed');
},
}
);

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

// Later:
// unsubscribeUser();
// unsubscribeGroup();

Anailís ar an bPéacáil Istigh

Filltear an réimse síntiús le coimeádán agus sreang JSON i data.

Déan an péacáil istigh a anailísiú sula ndéanann tú bealach ó categoryevent:

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

Sampla:

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

console.log(event.category, event.event, event.data);
}

Athcheangal agus Athnuachan an Tsoicéad

Ba cheart do chliaint táirgthe:

  • athcheangal go huathoibríoch má thiteann an websocket
  • sealbhóirí rochtana atá imithe in éag a athnuachan
  • síntiúcháin a oscailt arís tar éis athcheangail

Má stadann síntiúcháin ag fáil nuashonruithe tar éis seisiún fada, is é an chéad rud le seiceáil ná teorannú ama an tsoicéid.