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
groupIdettemplateId - 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é.
| Mode | Couverture | En-tête | Idéal pour |
|---|---|---|---|
| SRP | Schéma GraphQL complet | Authorization: Bearer <access-token> | Intégrations complètes |
| Clé API | Sous-ensemble supporté uniquement | Authorization: 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.
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
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 :
COMPLETEDsignifie que la création du document est terminéeFAILEDsignifie 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 :
- requête task
- TaskReport
- Dépannage Validation envoi
- Exemples de Subscriptions
- Suivre les tâches d’envoi avec Subscriptions
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.
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 :
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
- Si vous avez besoin d’une configuration spécifique au langage, utilisez Node.js Setup ou C# Setup
- Si vous voulez créer d’abord votre propre modèle, suivez Uploader un fichier en tant que modèle
- Lisez Envoyer un document pour l’exemple complet en Node.js
- Parcourez la référence mutation send