Aller au contenu principal

Démarrage rapide GraphQL

Ce démarrage rapide vous montre comment utiliser l’Explorateur GraphQL pour :

  • confirmer que votre compte fonctionne avec une requête simple
  • trouver votre groupId et templateId
  • envoyer un document test avec les champs minimum requis
  • interroger le rapport de tâche pour confirmer que la création du document est terminée
  • transférer le même flux en Node.js, Python ou C#

Avant de commencer

Vous avez besoin de :

  • l’accès API activé pour votre compte. Si vous ne l’avez pas encore, contactez-nous.
  • un compte Legalesign sur lequel vous pouvez vous connecter
  • au moins un groupe et un modèle dans votre compte

Choisissez l’authentification

L’Explorateur utilise votre session Legalesign connectée. Dans votre propre code, GraphQL supporte l’authentification SRP pour un accès complet au schéma et les clés API pour un sous-ensemble supporté.

ModeCouvertureEn-têteIdéal pour
SRPSchéma GraphQL completAuthorization: Bearer <access-token>Intégrations complètes
Clé APISous-ensemble supporté uniquementAuthorization: Bearer <api-key>Automatisation côté serveur et flux courants d’envoi/lecture

Ce démarrage rapide utilise l’authentification SRP dans les exemples de langage car elle fonctionne sur l’intégralité du schéma GraphQL. Si vous utilisez une clé API Developer Portal, consultez la référence GraphQL clé API et les badges d’auth sur les pages de référence.

Ouvrir l’Explorateur GraphQL

Allez sur le GraphQL Explorer.

info

Si vous êtes connecté à Legalesign, l’authentification est automatique dans l’Explorateur.

Copiez et collez les requêtes ci-dessous dans le GraphQL Explorer pour commencer. Plus tard, vous utiliserez le même graphql dans votre propre code.

Interrogez votre utilisateur

Commencez avec une requête sans risque pour confirmer que l’Explorateur fonctionne :

query MyUser {
user {
id
firstName
lastName
email
}
}

Si cela réussit, votre session Explorer fonctionne et vous êtes prêt à rechercher les ID nécessaires pour un envoi.

Interrogez vos groupes

Ensuite, listez les groupes auxquels votre utilisateur appartient :

query MyGroups {
user {
memberConnection(first: 10) {
groupMembers {
group {
id
name
}
}
}
}
}

Copiez l’id du groupe à partir duquel vous souhaitez envoyer. C’est votre groupId.

Interrogez les modèles de ce groupe

Maintenant, interrogez les modèles dans ce groupe :

query GroupTemplates($groupId: ID!) {
group(id: $groupId) {
id
name
templateConnection(first: 10) {
templates {
id
title
}
}
}
}

Utilisez ces variables :

{
"groupId": "<your-group-id>"
}

Copiez l’id du modèle que vous souhaitez envoyer. C’est votre templateId.

Envoyez votre premier document

Collez cette mutation dans l’Explorateur :

mutation SendDocument($input: DocumentSendSettingsInput!) {
send(input: $input)
}

Ajoutez ces variables et remplacez les valeurs de remplacement :

{
"input": {
"groupId": "<your-group-id>",
"templateId": "<your-template-id>",
"title": "Test Document",
"recipients": [
{
"firstName": "Jane",
"lastName": "Smith",
"email": "jane@example.com",
"order": 0
}
]
}
}

Si l’entrée est invalide, la mutation renvoie immédiatement une erreur de validation.

Si la mutation réussit, elle renvoie un ID de tâche. Legalesign traite les envois de manière asynchrone, ainsi la tâche démarre le travail d’envoi sans attendre la fin de livraison.

Interrogez le rapport de tâche

astuce

L’interrogation (polling) est suffisante pour commencer. En production, vous pouvez passer aux subscriptions pour suivre la progression d’envoi en temps réel à la place.

Après send, utilisez l’ID de tâche retourné pour interroger la requête task :

query GetTask($id: ID!) {
task(id: $id) {
data
report {
status
batchId
documents
errors
}
}
}

Utilisez ces variables :

{
"id": "<task-id-from-send>"
}

Le champ report vous permet de confirmer quand la création du document est terminée après qu’un envoi valide ait démarré la tâche asynchrone.

Surveillez report.status jusqu’à ce qu’il atteigne un état final :

  • COMPLETED signifie que la création du document est terminée
  • FAILED signifie que la création du document n’a pas réussi

Lorsque la tâche est encore en cours, vous pouvez voir des statuts intermédiaires tels que PENDING ou READY.

Pour débuter et prototyper, l’interrogation de task est une méthode simple pour vérifier l’avancement. En production, les mises à jour en temps réel sont mieux gérées avec les subscriptions.

Voir :

astuce

Utilisez une adresse email réelle que vous contrôlez pendant les tests, pour pouvoir confirmer que l’envoi s’est terminé comme prévu.

astuce

Vous pouvez aussi extraire groupId et templateId depuis votre tableau de bord et les URL de l’éditeur de formulaires – ce sont les seules chaînes alphanumériques longues dans ces URL.

Passez au code

Pour un accès programmatique, choisissez d’abord un mode d’authentification et obtenez un jeton ou une clé API. Voir Authentifiez-vous avec l’API.

Authentifiez-vous et faites une requête

Une fois que vous avez votre jeton ou clé API, envoyez une requête POST GraphQL avec un en-tête Authorization :

index.js
const GRAPHQL_ENDPOINT = 'https://graphql.uk.legalesign.com/graphql';
const TOKEN = '<token-or-api-key>';

async function graphql(token, query, variables = {}) {
const response = await fetch(GRAPHQL_ENDPOINT, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({ query, variables })
});

return response.json();
}

async function main() {
const result = await graphql(TOKEN, `
query {
user {
id
firstName
lastName
email
}
}
`);

console.log(JSON.stringify(result, null, 2));
}

main().catch(console.error);

Étapes suivantes

  1. Si vous avez besoin d’une configuration spécifique au langage, utilisez Node.js Setup ou C# Setup
  2. Si vous voulez créer d’abord votre propre modèle, suivez Uploader un fichier en tant que modèle
  3. Lisez Envoyer un document pour l’exemple complet en Node.js
  4. Parcourez la référence mutation send