Guides et tutoriels

Envoyez les signataires vers une expérience de signature localisée avec un paramètre d'URL

Texte alternatif : "Graphique à thème sombre avec 'Localized Signing Experience' en texte blanc. Texte multilingue et un document numérique avec des éléments d'interface colorés sont montrés, véhiculant un ton professionnel et moderne."

Si vous envoyez des contrats à des signataires dans plusieurs pays, voici le moyen le plus rapide d'offrir une expérience localisée à chacun d'entre eux. Ajoutez ?lang=fr au lien d'un signataire français, ?lang=de au lien d'un signataire allemand, et Firma.dev s'occupe du reste. Chaque écran qu'ils voient, des instructions et des boutons jusqu'au texte légal, se charge dans cette langue dès la première page. Aucun compte requis de leur côté, aucun paramètre à configurer du vôtre.

Comment fonctionne le paramètre ?lang=

Le paramètre ?lang= peut être ajouté à n'importe quel lien de signature Firma.dev. Il force l'ensemble de l'expérience de signature dans la langue spécifiée, remplaçant à la fois la détection automatique du navigateur et tous les paramètres par défaut au niveau de l'espace de travail. Le signataire n'a rien à faire, il suit simplement le lien et l'interface est déjà dans la bonne langue.

Les sept codes de langue pris en charge sont :

Code

Langue

en

Anglais

es

Espagnol

fr

Français

de

Allemand

it

Italien

pt

Portugais

el

Grec

Une URL de signature standard ressemble à ceci :

https://app.firma.dev/signing/{signing_request_user_id}
https://app.firma.dev/signing/{signing_request_user_id}
https://app.firma.dev/signing/{signing_request_user_id}

Avec un remplacement de langue :

https://app.firma.dev/signing/{signing_request_user_id}?lang=fr
https://app.firma.dev/signing/{signing_request_user_id}?lang=fr
https://app.firma.dev/signing/{signing_request_user_id}?lang=fr

C'est le seul changement. Aucun appel API supplémentaire, aucune modification du modèle, aucune configuration par signataire.

Une demande de signature, plusieurs liens localisés

Le modèle pratique pour les documents multipartites ou internationaux : créez une seule demande de signature avec les e-mails automatisés de Firma.dev désactivés, récupérez les URL de signature pour chaque destinataire, puis ajoutez le paramètre ?lang= approprié pour chacun avant d'envoyer via votre propre système.

Le code suivant provient du guide de white-labeling, avec ?lang= ajouté selon le guide de localisation :

// Create signing request with emails disabled
const response = await fetch(
  'https://api.firma.dev/functions/v1/signing-request-api/signing-requests',
  {
    method: 'POST',
    headers: {
      'Authorization': API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      workspace_id: workspaceId,
      template_id: templateId,
      settings: {
        send_signing_email: false,
        send_finish_email: false
      },
      recipients: [
        { first_name: 'Jane', last_name: 'Smith', email: 'jane@example.com', designation: 'Signer', order: 1 }
      ]
    })
  }
)
const signingRequest = await response.json()

// Get signing URLs for each recipient
const usersResponse = await fetch(
  `https://api.firma.dev/functions/v1/signing-request-api/signing-requests/${signingRequest.id}/users`,
  {
    headers: { 'Authorization': API_KEY }
  }
)
const { results: users } = await usersResponse.json()

// Send emails through your own system with ?lang= appended
for (const user of users) {
  const signingUrl = `https://app.firma.dev/signing/${user.id}?lang=fr`
  await yourEmailService.send({
    to: user.email,
    subject: 'Please sign your document',
    body: `Click here to sign: ${signingUrl}`
  })
}
// Create signing request with emails disabled
const response = await fetch(
  'https://api.firma.dev/functions/v1/signing-request-api/signing-requests',
  {
    method: 'POST',
    headers: {
      'Authorization': API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      workspace_id: workspaceId,
      template_id: templateId,
      settings: {
        send_signing_email: false,
        send_finish_email: false
      },
      recipients: [
        { first_name: 'Jane', last_name: 'Smith', email: 'jane@example.com', designation: 'Signer', order: 1 }
      ]
    })
  }
)
const signingRequest = await response.json()

// Get signing URLs for each recipient
const usersResponse = await fetch(
  `https://api.firma.dev/functions/v1/signing-request-api/signing-requests/${signingRequest.id}/users`,
  {
    headers: { 'Authorization': API_KEY }
  }
)
const { results: users } = await usersResponse.json()

// Send emails through your own system with ?lang= appended
for (const user of users) {
  const signingUrl = `https://app.firma.dev/signing/${user.id}?lang=fr`
  await yourEmailService.send({
    to: user.email,
    subject: 'Please sign your document',
    body: `Click here to sign: ${signingUrl}`
  })
}
// Create signing request with emails disabled
const response = await fetch(
  'https://api.firma.dev/functions/v1/signing-request-api/signing-requests',
  {
    method: 'POST',
    headers: {
      'Authorization': API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      workspace_id: workspaceId,
      template_id: templateId,
      settings: {
        send_signing_email: false,
        send_finish_email: false
      },
      recipients: [
        { first_name: 'Jane', last_name: 'Smith', email: 'jane@example.com', designation: 'Signer', order: 1 }
      ]
    })
  }
)
const signingRequest = await response.json()

// Get signing URLs for each recipient
const usersResponse = await fetch(
  `https://api.firma.dev/functions/v1/signing-request-api/signing-requests/${signingRequest.id}/users`,
  {
    headers: { 'Authorization': API_KEY }
  }
)
const { results: users } = await usersResponse.json()

// Send emails through your own system with ?lang= appended
for (const user of users) {
  const signingUrl = `https://app.firma.dev/signing/${user.id}?lang=fr`
  await yourEmailService.send({
    to: user.email,
    subject: 'Please sign your document',
    body: `Click here to sign: ${signingUrl}`
  })
}

Le document est le même pour tout le monde. L'expérience de signature que chaque personne voit est dans sa langue. Vous gérez la construction du lien, Firma.dev gère le rendu. Remplacez ?lang=fr par le code de langue correspondant à chaque destinataire.

Ce modèle est particulièrement utile lorsque les e-mails automatisés de Firma.dev sont désactivés et que vous distribuez des liens de signature via votre propre système de notification. Vous contrôlez déjà la livraison, alors ajouter le paramètre ?lang= est une addition triviale.

Retour automatique sans le paramètre

Lorsqu'aucun paramètre ?lang= n'est présent, Firma.dev lit les paramètres de langue du navigateur du signataire et correspond à la langue prise en charge la plus proche. Si leur navigateur est réglé sur le français, ils verront une interface en français. Si leur langue n'est pas prise en charge, elle passe par défaut à l'anglais.

Ce retour fonctionne bien pour les liens directs où vous ne contrôlez pas le contexte de livraison. Mais pour la signature intégrée dans des iframes, ou tout scénario où vous construisez des URL côté serveur, passer ?lang= explicitement est l'approche la plus fiable. La détection de la langue du navigateur à l'intérieur d'une iframe peut être incohérente en fonction de la configuration de l'application parente.

La recommandation des documents est simple : utilisez ?lang= dans des contextes intégrés et lorsque vous connaissez le lieu du signataire, laissez la détection du navigateur le gérer pour les liens directs où vous ne le faites pas.

Le portrait complet de la localisation

Le paramètre ?lang= est un élément de la pile de localisation de Firma.dev. Pour un flux de travail de signature entièrement localisé, les éléments s'assemblent comme suit :

Langue de l'expérience de signature est contrôlée par ?lang= sur le lien, ou par détection du navigateur comme solution de secours. Cela couvre tout ce que le signataire voit pendant le processus de signature.

Les e-mails de notification sont contrôlés par le champ language sur les paramètres de l'espace de travail. Réglez l'espace de travail sur le français et tous les e-mails de signature automatisés seront envoyés en français, sans modèle personnalisé requis.

Les styles de signature sont gérés automatiquement en fonction du nom de chaque signataire. Les noms grecs, cyrilliques, japonais et coréens bénéficient de polices de signature conçues pour leur système d'écriture sans configuration.

Ensemble, ces trois couches couvrent l'expérience complète : les e-mails entrants, le flux de signature lui-même et l'apparence de la signature sur le document. Le guide de localisation de Firma.dev couvre les trois en détail.

Obtenez votre clé API et commencez à construire gratuitement, aucune carte de crédit requise.

  1. Titre

Background Image

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,029 € par enveloppe lorsque vous êtes prêt à passer en direct.

Background Image

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,029 € par enveloppe lorsque vous êtes prêt à passer en direct.

Background Image

Prêt à ajouter des signatures électroniques à votre application ?

Commencez gratuitement. Aucune carte de crédit requise. Payez seulement 0,029 € par enveloppe lorsque vous êtes prêt à passer en direct.