Leitfäden

Senden Sie Unterzeichner zu einem lokalisierten Signing-Erlebnis mit einem URL-Parameter

„Dunkle Grafik, die eine lokalisierte mehrsprachige Signiererfahrung auf einem professionellen digitalen Dokument zeigt."

Wenn Sie Verträge an Unterzeichner in mehreren Ländern senden, ist dies der schnellste Weg zu einem lokalisierten Erlebnis für jeden von ihnen. Fügen Sie ?lang=fr zum Link eines französischen Unterzeichners hinzu, ?lang=de zum Link eines deutschen Unterzeichners, und Firma.dev übernimmt den Rest. Jeder Bildschirm, den sie sehen, von Anleitungen und Schaltflächen bis hin zu rechtlichen Texten, wird ab der ersten Seite in dieser Sprache geladen. Kein Konto auf ihrer Seite erforderlich, keine Einstellungen auf Ihrer Seite zu konfigurieren.

Wie der Parameter ?lang= funktioniert

Der ?lang=-Parameter kann an jeden Firma.dev-Signierlink angehängt werden. Es zwingt die gesamte Signiererfahrung in die angegebene Sprache und überschreibt sowohl die automatische Browservervollständigung als auch alle arbeitsbereichsspezifischen Standards. Der Unterzeichner muss nichts tun, er folgt einfach dem Link und die Benutzeroberfläche ist bereits in der richtigen Sprache.

Die sieben unterstützten Sprachcodes sind:

Code

Sprache

en

Englisch

es

Spanisch

fr

Französisch

de

Deutsch

it

Italienisch

pt

Portugiesisch

el

Griechisch

Eine standardmäßige Signier-URL sieht so aus:

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}

Mit einer Sprachüberschreibung:

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

Das ist die gesamte Änderung. Keine zusätzlichen API-Aufrufe, keine Vorlagenanpassungen, keine pro-Signer-Konfiguration.

Eine Signieranfrage, mehrere lokalisierte Links

Das praktische Muster für mehrteilige oder internationale Dokumente: Erstellen Sie eine einzige Signieranfrage mit deaktivierten automatischen E-Mails von Firma.dev, holen Sie sich die Signier-URLs für jeden Empfänger, und fügen Sie dann den entsprechenden ?lang=-Parameter für jeden hinzu, bevor Sie diesen über Ihr eigenes System senden.

Der folgende Code stammt aus dem White-Labeling-Leitfaden, mit ?lang= pro dem Lokalisierungsleitfaden hinzugefügt:

// 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}`
  })
}

Das Dokument ist für alle gleich. Die Signiererfahrung, die jeder sieht, ist in ihrer Sprache. Sie kümmern sich um die Linkkonstruktion, Firma.dev kümmert sich um das Rendering. Ersetzen Sie ?lang=fr durch den Sprachcode, der zu jedem Empfänger passt.

Dieses Muster ist besonders nützlich, wenn die automatischen E-Mails von Firma.dev deaktiviert sind und Sie Signierlinks über Ihr eigenes Benachrichtigungssystem verteilen. Sie kontrollieren bereits die Lieferung, daher ist das Hinzufügen des ?lang=-Parameters eine triviale Ergänzung.

Automatischer Fallback ohne den Parameter

Wenn kein ?lang=-Parameter vorhanden ist, liest Firma.dev die Spracheinstellungen des Browsers des Unterzeichners aus und passt sie an die nächste unterstützte Sprache an. Wenn ihr Browser auf Französisch eingestellt ist, sehen sie eine französische Benutzeroberfläche. Wenn ihre Sprache nicht unterstützt wird, wird auf Englisch zurückgegriffen.

Dieser Fallback funktioniert gut für direkte Links, bei denen Sie den Lieferkontext nicht kontrollieren. Bei integrierten Signaturen in iframes oder einer beliebigen Situation, in der Sie serverseitig URLs erstellen, ist das explizite Übergeben von ?lang= die zuverlässigere Methode. Die Erkennung der Browsersprache innerhalb eines iframes kann je nach Konfiguration der übergeordneten Anwendung inkonsistent sein.

Die Empfehlung in den Dokumenten ist einfach: Verwenden Sie ?lang= in eingebetteten Kontexten und wenn Sie die Region des Unterzeichners kennen, lassen Sie die Erkennung des Browsers für direkte Links, die Sie nicht kontrollieren.

Das vollständige Lokalisierungsbild

Der ?lang=-Parameter ist ein Teil des Lokalisierungsstapels von Firma.dev. Für einen vollständig lokalisierten Signatur-Workflow fügen sich die Teile wie folgt zusammen:

Sprache der Signiererfahrung wird durch ?lang= im Link oder durch die Erkennung des Browsers als Fallback gesteuert. Dies deckt alles ab, was der Unterzeichner während des Signierablaufs sieht.

Benachrichtigungs-E-Mails werden durch das language-Feld in den Arbeitsbereichseinstellungen gesteuert. Stellen Sie den Arbeitsbereich auf Französisch ein und alle automatisierten Signier-E-Mails werden in Französisch versendet, ohne dass eine benutzerdefinierte Vorlage erforderlich ist.

Signaturstile werden automatisch basierend auf dem Namen jedes Unterzeichners gehandhabt. Griechische, kyrillische, japanische und koreanische Namen erhalten Unterschriften-Schriftarten, die für ihr Schriftsystem entwickelt wurden, ohne dass eine Konfiguration erforderlich ist.

Zusammen decken diese drei Ebenen das gesamte Erlebnis ab: die ein- und ausgehenden E-Mails, den eigentlichen Signierfluss und wie die Unterschrift auf dem Dokument aussieht. Der Lokalisierungsleitfaden von Firma.dev behandelt alle drei im Detail.

Holen Sie sich Ihren API-Schlüssel und beginnen Sie kostenlos zu bauen, keine Kreditkarte erforderlich.

  1. Überschrift

Hintergrundbild

Bereit, elektronischen Unterschriften zu Ihrer Anwendung hinzuzufügen?

Kostenlos starten. Keine Kreditkarte erforderlich. Zahlen Sie nur 0,029 € pro Umschlag, wenn Sie bereit sind, live zu gehen.

Hintergrundbild

Bereit, elektronischen Unterschriften zu Ihrer Anwendung hinzuzufügen?

Kostenlos starten. Keine Kreditkarte erforderlich. Zahlen Sie nur 0,029 € pro Umschlag, wenn Sie bereit sind, live zu gehen.

Hintergrundbild

Bereit, elektronischen Unterschriften zu Ihrer Anwendung hinzuzufügen?

Kostenlos starten. Keine Kreditkarte erforderlich. Zahlen Sie nur 0,029 € pro Umschlag, wenn Sie bereit sind, live zu gehen.