Aller au contenu principal

Télécharger un fichier en tant que modèle

Ce guide vous accompagne à travers le processus complet de création d'un modèle et de téléchargement d'un fichier PDF, image ou Word à utiliser comme modèle de document dans Legalesign.

Ce Que Vous Apprendrez

À la fin de ce guide, vous saurez comment :

  1. Créer un nouveau modèle dans votre groupe Legalesign
  2. Obtenir l'ID du modèle et l'URL de téléchargement depuis la réponse de la mutation
  3. Télécharger votre fichier source vers le modèle
  4. Vérifier que le téléchargement a réussi

Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Un compte Legalesign avec accès API
  • Vos identifiants d'authentification (voir notre guide d'authentification)
  • Un fichier PDF, image ou Word prêt à être téléchargé (maximum 50 Mo)
  • Votre ID de groupe (l'espace de travail où vous souhaitez créer le modèle)

Le Processus Complet

Étape 1 : Créer un Modèle

Tout d'abord, créez un modèle vide dans Legalesign. Cela retourne à la fois l'ID du modèle et une URL de téléchargement pré-signée pour le téléchargement du PDF. Pour cela, vous devez exécuter une mutation GraphQL ; si vous ne l'avez jamais fait auparavant, consultez l'Introduction à GraphQL.

Qu'est-ce qu'un Modèle ?

Un modèle est une structure de document réutilisable dans Legalesign. Une fois que vous avez téléchargé un PDF dans un modèle, vous pouvez :

  • Ajouter des champs de signature et des champs de formulaire
  • L'envoyer à plusieurs destinataires
  • Le réutiliser pour différents signataires

Mutation GraphQL

mutation CreateTemplate($input: templateCreateInput!) {
createTemplate(input: $input) {
id
uploadUrl
}
}

Variables d'Entrée

{
"input": {
"groupId": "grpYourGroupAPIId",
"title": "Employment Contract Template"
}
}

Paramètres Expliqués

  • groupId : L'ID encodé en base 64 de votre groupe/espace de travail (vous pouvez l'obtenir à partir de l'URL dans Console https://console.legalesign.com/)
  • title : Un nom descriptif pour votre modèle (vous pouvez le modifier plus tard)

Étape 2 : Extraire l'ID du Modèle et l'URL de Téléchargement

La mutation retourne un objet templateCreateOutput. Enregistrez le champ id et la chaîne uploadUrl.

Exemple de réponse :

{
"data": {
"createTemplate": {
"id": "dHBsYjQ5YTg5NWQtYWRhMy0xMWYwLWIxZGMtMDY5NzZlZmU0MzIx",
"uploadUrl": "https://s3.amazonaws.com/bucket/path?signature=..."
}
}
}
astuce

L'ID du modèle est une chaîne encodée en Base64. Enregistrez les deux valeurs de la réponse. L'uploadUrl est à durée limitée et doit être utilisée rapidement.

Étape 3 : Téléchargez Votre PDF

Utilisez l'uploadUrl retournée pour télécharger votre fichier PDF directement sur S3. Cela variera selon votre environnement de développement. Dans notre exemple en JavaScript, nous avons utilisé fetch, mais vous pouvez utiliser d'autres bibliothèques, y compris aws-amplify.

Exemples Complets Fonctionnels

import fs from 'fs';

const AUTH_TOKEN = '<token-from-authentication-guide>';

const uploadPdfTemplate = async (groupId, title, pdfFilePath) => {
const graphqlEndpoint = 'https://graphql.uk.legalesign.com/graphql';

// Step 1: Create the template
console.log('Creating template...');
const createResponse = await fetch(graphqlEndpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${AUTH_TOKEN}`
},
body: JSON.stringify({
query: `
mutation CreateTemplate($input: templateCreateInput!) {
createTemplate(input: $input) {
id
uploadUrl
}
}
`,
variables: {
input: {
groupId: groupId,
title: title
}
}
})
});

const createResult = await createResponse.json();
const templateId = createResult.data.createTemplate.id;
const uploadUrl = createResult.data.createTemplate.uploadUrl;
console.log('Template created with ID:', templateId);

// Step 2: Upload the PDF
console.log('Uploading PDF...');
const fileData = fs.readFileSync(pdfFilePath);

const uploadResponse = await fetch(uploadUrl, {
method: 'PUT',
body: fileData,
headers: {
'Content-Type': 'application/pdf'
}
});

if (!uploadResponse.ok) {
throw new Error(`Upload failed: ${uploadResponse.statusText}`);
}

console.log('PDF uploaded successfully!');

return {
success: true,
templateId: templateId,
title: title
};
};

// Usage example
uploadPdfTemplate(
'grpYourGroupId',
'Employment Contract',
'./contract.pdf'
).then(result => {
console.log('Complete!', result);
}).catch(error => {
console.error('Error:', error);
});

Aucune dépendance supplémentaire n'est nécessaire — Node.js 18+ inclut fetch nativement.

Que Se Passe-t-il Après le Téléchargement ?

Une fois votre PDF téléchargé, Legalesign effectue automatiquement :

  1. Analyse antivirus — Vérifie que le fichier est sûr
  2. Validation ou conversion du fichier — Vérifie que les PDFs sont valides ou convertit les fichiers pris en charge tels que les documents Word et images en PDF
  3. Extraction des informations de page — Obtient le nombre de pages et les dimensions
  4. Traitement du fichier — L'optimise pour la visualisation et la signature
  5. Stockage sécurisé — Le déplace vers un stockage permanent

Ce processus prend généralement quelques secondes. Une fois terminé, votre modèle est prêt à l'emploi !

Suivi de la Progression du Téléchargement

Pour obtenir un retour d'information en temps réel sur le traitement du téléchargement (analyse, validation, finalisation), utilisez les abonnements. Voir Suivi de la progression du téléchargement avec les abonnements.

Alternativement, interrogez périodiquement le champ fileUploaded du modèle jusqu'à ce qu'il retourne true :

query CheckUploadStatus($id: ID!) {
template(id: $id) {
id
fileUploaded
}
}

Ajout de Signatures et de Champs

Si vous souhaitez automatiser les participants et le placement des champs, vous pouvez préparer le fichier source avant le téléchargement de plusieurs manières :

  • Balises de texte — Ajoutez des balises de texte Legalesign dans le document source pour que les participants, champs de signature et champs de formulaire puissent être créés automatiquement lors du traitement. Voir l'explication de l'API REST dans le tutoriel de démarrage rapide et la référence de l'endpoint Convertir les balises de texte.
  • Champs PDF intégrés — Si votre PDF contient déjà des champs de formulaire intégrés, Legalesign peut les utiliser dans le cadre du téléchargement et du workflow de préparation du modèle.

Étapes Suivantes

Maintenant que vous avez un modèle avec un PDF, vous pouvez :

  1. Ajouter des champs de signature — Utilisez la mutation createTemplateElement pour ajouter des champs
  2. Créer des rôles — Définir qui signera le document
  3. Envoyer pour signature — Utilisez la mutation send pour envoyer aux destinataires

Problèmes Courants et Solutions

Erreur "Pas d'autorisation"

Vérifiez que votre ID de groupe est correct et que vous êtes authentifié avec le bon compte.

Erreur "Fichier trop volumineux"

Compressez votre PDF — la taille maximale est de 50 Mo.

URL de téléchargement expirée

Utilisez l'uploadUrl retournée par createTemplate rapidement. Si elle expire avant le téléchargement, demandez une URL fraîche avec la requête upload en utilisant l'ID du modèle enregistré.

Erreur "PDF invalide"

Ouvrez le PDF dans un lecteur de PDF pour vérifier qu'il est valide, puis ré-exportez-le ou enregistrez-le à nouveau.