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 vers Node.js, Python, ou C#
Avant de Commencer
Vous avez besoin de :
- Un compte Legalesign sur lequel vous pouvez vous connecter
- Au moins un groupe et un modèle (template) dans votre compte
- Une clé API - comment obtenir une clé API
Choisir l'Authentification
L'Explorateur utilise votre session Legalesign connectée. Dans votre propre code, GraphQL prend en charge 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’ensemble du schéma GraphQL. Si vous utilisez une clé API du Portail développeur, consultez la référence GraphQL clé API et les badges d’authentification sur les pages de référence.
Ouvrir l'Explorateur GraphQL
Accédez au 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.
Interroger Votre Utilisateur
Commencez par une requête sans risque pour confirmer que l’Explorateur fonctionne :
query MyUser {
user {
id
firstName
lastName
email
}
}
Si ceci réussit, votre session Explorer fonctionne et vous êtes prêt à rechercher les identifiants nécessaires pour un envoi.
Interroger 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 voulez envoyer. C'est votre groupId.
Interroger les Modèles dans Ce Groupe
Interrogez maintenant 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.
Envoyer Votre Premier Document
Collez cette mutation dans l’Explorateur :
mutation SendDocument($input: DocumentSendSettingsInput!) {
send(input: $input)
}
Ajoutez ces variables et remplacez les valeurs de substitution :
{
"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 retourne immédiatement une erreur de validation.
Si la mutation réussit, elle retourne un ID de tâche. Legalesign traite les envois de façon asynchrone, donc la tâche démarre le travail d’envoi sans attendre la fin de la livraison.
Interroger le Rapport de Tâche
L’interrogation répétée (polling) est acceptable pour commencer. En production, vous pouvez passer aux subscriptions pour suivre la progression de l’envoi en temps réel.
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 a lancé la tâche asynchrone.
Surveillez report.status jusqu’à ce qu’il atteigne un état terminal :
COMPLETEDsignifie que la création du document est terminéeFAILEDsignifie que la création du document n’a pas été réussie
Tant que la tâche est en cours, vous pouvez voir des statuts intermédiaires tels que PENDING ou READY.
Pour démarrer et prototyper, interroger task est une méthode simple pour vérifier la progression. En production, les mises à jour en temps réel sont mieux gérées avec les subscriptions.
Voir :
- requête task
- TaskReport
- Résoudre les problèmes de validation d’envoi
- Exemples de subscription
- Suivi des tâches d’envoi avec les subscriptions
Utilisez une adresse email de destinataire réelle dont vous avez le contrôle lors des tests, afin de pouvoir confirmer que l’envoi s’est déroulé comme prévu.
Vous pouvez aussi extraire vos groupId et templateId à partir des URLs du tableau de bord et de l’éditeur de formulaire - ce sont les seules longues chaînes alphanumériques dans ces URLs.
Passer au Code
Pour accéder par programmation, choisissez d'abord un mode d’authentification et obtenez un jeton ou une clé API. Voir S’authentifier 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 Configuration Node.js ou Configuration C#
- Si vous souhaitez créer vous-même un modèle d'abord, suivez Télécharger un fichier comme modèle
- Lisez Envoyer un document pour l’exemple complet de code Node.js
- Parcourez la référence mutation send