{"id":29997,"date":"2026-10-25T13:15:07","date_gmt":"2026-10-25T12:15:07","guid":{"rendered":"https:\/\/www.e-signature.eu\/?page_id=29997"},"modified":"2026-10-25T21:47:26","modified_gmt":"2026-10-25T20:47:26","slug":"api-v3-fuer-die-dokumentation-von-einschreiben","status":"publish","type":"page","link":"https:\/\/www.e-signature.eu\/de\/elektronische-einschreiben-eidas\/api-v3-fuer-die-dokumentation-von-einschreiben\/","title":{"rendered":"API v3 f\u00fcr die Dokumentation von Einschreiben"},"content":{"rendered":"<style>\n.esig-api{--ink:#1f2937;--muted:#6b7280;--line:#e5e7eb;--soft:#f8fafc;--brand:#1d4ed8;--code:#0f172a;\n font-family:inherit;color:var(--ink);line-height:1.6;max-width:1100px;margin:0 auto;font-size:16px}\n.esig-api h2{font-size:1.6em;margin:2.2em 0 .6em;padding-top:.6em;border-top:1px solid var(--line)}\n.esig-api h3{font-size:1.2em;margin:1.8em 0 .5em}\n.esig-api h4{font-size:1em;margin:1.4em 0 .4em;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}\n.esig-api p,.esig-api li{max-width:820px}\n.esig-api code{font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:.88em;background:#eef2ff;color:#1e3a8a;padding:.1em .35em;border-radius:4px;word-break:break-word}\n.esig-api pre{background:var(--code);color:#e2e8f0;padding:16px 18px;border-radius:8px;overflow-x:auto;font-size:13.5px;line-height:1.5;margin:.8em 0 1.4em}\n.esig-api pre code{background:none;color:inherit;padding:0;font-size:inherit;word-break:normal}\n.esig-api table{border-collapse:collapse;width:100%;margin:.8em 0 1.4em;font-size:.94em;display:block;overflow-x:auto}\n.esig-api th,.esig-api td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}\n.esig-api th{background:var(--soft);font-weight:600}\n.esig-api{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;max-width:1240px}\n.esig-api-main{min-width:0}\n.esig-api-nav{position:relative}\n.esig-api-nav-in{position:sticky;top:var(--esig-top,110px);z-index:20}\n.esig-api-nav-in.is-fixed{position:fixed}\n.esig-api-toc{max-height:calc(100vh - var(--esig-top,110px) - 20px);overflow-y:auto;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:14px 16px;font-size:.92em}\n.esig-api-toc strong{display:block;margin-bottom:.4em}\n.esig-api-toc ol{margin:0;padding-left:1.3em}.esig-api-toc li{margin:.3em 0;max-width:none}\n.esig-api-main a{color:var(--brand)!important;text-decoration:underline!important;text-underline-offset:2px;text-decoration-thickness:1px}.esig-api-main a:hover{text-decoration-thickness:2px}\n.esig-api-details{border:1px solid var(--line);border-radius:8px;padding:10px 16px;margin:.8em 0 1.4em;background:var(--soft)}.esig-api-details summary{cursor:pointer;font-weight:600;color:var(--brand)}.esig-api-details[open] summary{margin-bottom:.6em}.esig-api-details h4{margin:1em 0 .3em;text-transform:none;letter-spacing:0;color:var(--ink)}.esig-api-details ul{margin:.2em 0 .6em}\n.esig-api-toc a{text-decoration:none;color:var(--ink)}.esig-api-toc a:hover{color:var(--brand);text-decoration:underline}\n.esig-api-toc a.is-active{color:var(--brand);font-weight:600;background:#e8efff;border-radius:4px;padding:1px 5px;margin-left:-5px}.esig-api-toc li.is-active::marker{color:var(--brand);font-weight:600}\n.esig-api-toggle{position:absolute;opacity:0;pointer-events:none}\n.esig-api-toc-btn{display:none}\n.esig-api h2{scroll-margin-top:calc(var(--esig-top,110px) + 10px)}\n@media (max-width:900px){\n .esig-api{display:block}\n .esig-api-nav{margin:0 0 1.2em}\n .esig-api-nav-in{top:var(--esig-top,0px)}\n .esig-api-toc-btn{display:flex;align-items:center;justify-content:space-between;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer}\n .esig-api-toc-btn::after{content:\"\u25be\";font-size:1.1em}\n .esig-api-toggle:checked + .esig-api-toc-btn::after{content:\"\u25b4\"}\n .esig-api-toc{display:none;position:static;max-height:60vh;margin-top:6px;box-shadow:0 6px 16px rgba(0,0,0,.08);background:#fff}\n .esig-api-toc strong{display:none}\n .esig-api-toggle:checked ~ .esig-api-toc{display:block}\n .esig-api h2{scroll-margin-top:calc(var(--esig-top,0px) + 60px)}\n}\n.esig-api .ep{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:.6em 0 1em;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:.95em}\n.esig-api .m{font-weight:700;color:#fff;border-radius:4px;padding:2px 8px;font-size:.85em}\n.esig-api .GET{background:#059669}.esig-api .POST{background:#1d4ed8}.esig-api .PATCH{background:#d97706}.esig-api .DELETE{background:#dc2626}\n.esig-api .note{border-left:4px solid var(--brand);background:#eff6ff;padding:10px 14px;border-radius:0 6px 6px 0;margin:1em 0}\n.esig-api .warn{border-left:4px solid #d97706;background:#fffbeb;padding:10px 14px;border-radius:0 6px 6px 0;margin:1em 0}\n.esig-api .badge{display:inline-block;font-size:.75em;font-weight:700;background:#dbeafe;color:#1e40af;border-radius:999px;padding:1px 8px;margin-left:4px;vertical-align:middle}\n.esig-api .req{color:#dc2626;font-weight:700}\n<\/style>\n<div class=\"esig-api\">\n<nav class=\"esig-api-nav\" aria-label=\"Inhalt\">\n<div class=\"esig-api-nav-in\"><input type=\"checkbox\" id=\"esig-api-toc\" class=\"esig-api-toggle\"><label for=\"esig-api-toc\" class=\"esig-api-toc-btn\">Inhalt<\/label><\/p>\n<div class=\"esig-api-toc\"><strong>Inhalt<\/strong><\/p>\n<ol>\n<li><a href=\"#overview\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">\u00dcberblick<\/a><\/li>\n<li><a href=\"#auth\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">Authentifizierung<\/a><\/li>\n<li><a href=\"#conventions\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">Konventionen<\/a><\/li>\n<li><a href=\"#credits\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">Guthaben<\/a><\/li>\n<li><a href=\"#flow\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">Ablauf eines Einschreibens<\/a><\/li>\n<li><a href=\"#sender\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">Absenderadresse<\/a><\/li>\n<li><a href=\"#request\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">Ein Einschreiben senden<\/a><\/li>\n<li><a href=\"#object\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">Das Objekt Einschreiben<\/a><\/li>\n<li><a href=\"#endpoints\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">Weitere Endpoints<\/a><\/li>\n<li><a href=\"#callbacks\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">Callbacks (Webhooks)<\/a><\/li>\n<li><a href=\"#errors\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">Fehler<\/a><\/li>\n<li><a href=\"#retention\" onclick=\"var t=document.getElementById('esig-api-toc');if(t)t.checked=false;\">Aufbewahrung<\/a><\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/nav>\n<div class=\"esig-api-main\">\n<p style=\"color:#6b7280;margin-top:0\">REST-API von e-Signature.eu \u2014 elektronisches Einschreiben<\/p>\n<h2 id=\"overview\">1. \u00dcberblick<\/h2>\n<p>Mit der REST-API von e-Signature.eu sendet Ihre Anwendung elektronische Einschreiben, ohne unsere Website zu nutzen. Sie senden das PDF, eine verifizierte Absenderadresse und den Empf\u00e4nger; das Dokument erh\u00e4lt einen qualifizierten elektronischen Zeitstempel, und der Empf\u00e4nger signiert nach Pr\u00fcfung seiner Identit\u00e4t eine Empfangsbest\u00e4tigung. Sie erhalten das Ergebnis \u00fcber die API oder einen Callback.<\/p>\n<table style=\"display:table;width:100%\">\n<tbody>\n<tr>\n<td style=\"width:180px;min-width:140px;white-space:nowrap\">Basis-URL<\/td>\n<td><code>https:\/\/api.e-signature.eu\/v3\/regis\/<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"width:180px;min-width:140px;white-space:nowrap\">Postman<\/td>\n<td><a href=\"https:\/\/documenter.getpostman.com\/view\/10230512\/2sBYHUSKry\" target=\"_blank\" rel=\"noopener\">Postman-Dokumentation und -Collection<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"note\">Die bisherige Basis-URL <code>https:\/\/www.e-signature.eu\/wp-json\/esig\/v3\/regis\/<\/code> bleibt g\u00fcltig. Wir empfehlen, die URL von <code>api.e-signature.eu<\/code> zu verwenden.<\/p>\n<h2 id=\"auth\">2. Authentifizierung<\/h2>\n<p>Ihre Zugangsdaten finden Sie unter <strong>Mein Konto &gt; API-Signaturen<\/strong>, sobald Sie bei e-signature.eu angemeldet sind:<\/p>\n<ul>\n<li><strong>User ID<\/strong>: in der URL als Parameter <code>userid<\/code> jedes Aufrufs;<\/li>\n<li><strong>API token<\/strong>: im HTTP-Header <code>x-api-key<\/code> jedes Aufrufs.<\/li>\n<\/ul>\n<pre><code>curl -X GET \"https:\/\/api.e-signature.eu\/v3\/regis\/requestBalance?userid=123\" \\\n  -H \"x-api-key: YOUR_API_TOKEN\"<\/code><\/pre>\n<p>Halten Sie Ihr Token geheim: Es gew\u00e4hrt \u00fcber die API vollen Zugriff auf Ihr Konto. Aufrufe m\u00fcssen von Ihrem Server erfolgen, nie aus einem Browser oder einer mobilen App.<\/p>\n<h2 id=\"conventions\">3. Konventionen<\/h2>\n<h3>Anfragen und Antworten<\/h3>\n<ul>\n<li>Nur HTTPS. Request-Bodies sind JSON (<code>Content-Type: application\/json<\/code>).<\/li>\n<li>Jede Antwort ist JSON, in einer dieser beiden Formen:<\/li>\n<\/ul>\n<pre><code>{ \"success\": true,  \"result\": { ... } }\n{ \"success\": false, \"error\": \"Readable error message\" }<\/code><\/pre>\n<h3>Limits<\/h3>\n<table>\n<thead>\n<tr>\n<th>Limit<\/th>\n<th>Wert<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Anfragen<\/td>\n<td>10 pro Minute pro Konto und IP-Adresse (dar\u00fcber HTTP 403, nach einer Minute erneut versuchen)<\/td>\n<\/tr>\n<tr>\n<td>Dokument<\/td>\n<td>Ein PDF pro Anfrage, maximal 30 MB, nicht verschl\u00fcsselt \/ ohne Passwort<\/td>\n<\/tr>\n<tr>\n<td>Download signierter Dokumente<\/td>\n<td>30 Tage nach Abschluss (siehe <a href=\"#retention\">Aufbewahrung<\/a>)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"credits\">4. Guthaben<\/h2>\n<p>Anfragen werden mit Ihrem Prepaid-Guthaben bei e-signature.eu bezahlt. Den Preis einer Methode liefert <a href=\"#getMethods\"><code>getMethods<\/code><\/a> (Ihre individuellen Preise werden ber\u00fccksichtigt). Ihr Guthaben liefern <a href=\"#requestBalance\"><code>requestBalance<\/code><\/a> und jedes Anfrageobjekt (<code>credits_balance<\/code>).<\/p>\n<h3 id=\"auto-recharge\">Automatische Aufladung des Guthabens<\/h3>\n<p>Damit Ihnen nie das Guthaben ausgeht, kann sich Ihr Konto automatisch aufladen. Dies wird einmalig unter <strong>Mein Konto &gt; API-Signaturen<\/strong> eingerichtet, nicht \u00fcber die API:<\/p>\n<ol>\n<li>W\u00e4hlen Sie einen <strong>Schwellenwert<\/strong> (in Credits) und das zu bestellende <strong>Guthabenpaket<\/strong>.<\/li>\n<li>Speichern Sie eine Zahlungsmethode bei unserem Zahlungsanbieter Mollie (Karte oder SEPA-Lastschrift \u00fcber Bancontact, iDEAL\u2026). Einmalig wird eine Verifizierungszahlung von 0,01 \u20ac verlangt.<\/li>\n<li>Jedes Mal, wenn Guthaben abgebucht wird und Ihr Saldo unter den Schwellenwert f\u00e4llt, wird eine Bestellung des gew\u00e4hlten Pakets erstellt und automatisch mit der gespeicherten Zahlungsmethode bezahlt. Die Rechnung erhalten Sie per E-Mail.<\/li>\n<\/ol>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Automatische Aufladung<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Ausl\u00f6ser<\/td>\n<td>Eine Abbuchung von Guthaben (z. B. eine neue Anfrage), durch die das Saldo unter den Schwellenwert f\u00e4llt<\/td>\n<\/tr>\n<tr>\n<td>Gutschrift des Guthabens<\/td>\n<td>Sobald die Zahlung best\u00e4tigt ist: sofort per Karte, nach einigen Werktagen per SEPA-Lastschrift<\/td>\n<\/tr>\n<tr>\n<td>Laufende Aufladungen<\/td>\n<td>Jeweils eine<\/td>\n<\/tr>\n<tr>\n<td>Sicherheitsgrenze<\/td>\n<td>Eine maximale Anzahl automatischer Aufladungen pro 30 Tage<\/td>\n<\/tr>\n<tr>\n<td>Fehlgeschlagene Zahlung<\/td>\n<td>Die Bestellung wird als fehlgeschlagen markiert, die automatische Aufladung wird deaktiviert und Sie werden per E-Mail informiert<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"note\">Die Aufladung wird durch eine Abbuchung ausgel\u00f6st. Eine Anfrage, die mehr kostet als Ihr aktuelles Guthaben, wird abgelehnt (HTTP 403, <code>You do not have enough credits<\/code>) und l\u00f6st keine Aufladung aus: W\u00e4hlen Sie einen Schwellenwert \u00fcber den Kosten Ihrer gr\u00f6\u00dften Anfragen und halten Sie bei SEPA-Lastschrift eine Reserve. Ihr Guthaben ist jederzeit \u00fcber <a href=\"#requestBalance\"><code>requestBalance<\/code><\/a> und <code>credits_balance<\/code> abrufbar.<\/div>\n<h2 id=\"flow\">5. Ablauf eines Einschreibens<\/h2>\n<ol>\n<li>Sie senden das PDF, eine <strong>verifizierte<\/strong> Absenderadresse und den Empf\u00e4nger. Das Dokument erh\u00e4lt einen qualifizierten elektronischen Zeitstempel und das Guthaben wird belastet.<\/li>\n<li>Der Empf\u00e4nger erh\u00e4lt eine E-Mail mit zwei Links: einen, um die Empfangsbest\u00e4tigung zu signieren und das Dokument zu \u00f6ffnen, einen zum Ablehnen.<\/li>\n<li>Zum Signieren best\u00e4tigt der Empf\u00e4nger seine Identit\u00e4t mit einer der zugelassenen Methoden (itsme\u00ae, Evrotrust, OTP\u2026).<\/li>\n<li>Das Einschreiben wird <code>finished<\/code> (signiert), <code>declined<\/code> (abgelehnt) oder <code>expired<\/code>, wenn nach 14 Tagen nichts geschehen ist.<\/li>\n<\/ol>\n<p>Ein Absender, ein Empf\u00e4nger pro Einschreiben. Wie auf der Website wird alle 4 Tage automatisch eine Erinnerung gesendet (nicht einstellbar); es gibt weder manuelle Erinnerung noch Stornierung.<\/p>\n<h2 id=\"sender\">6. Absenderadresse<\/h2>\n<p>Wie auf der Website muss die Absenderadresse (<code>sender_email<\/code>) vor der Verwendung <strong>verifiziert<\/strong> sein:<\/p>\n<ol>\n<li>Rufen Sie <code>verifySender<\/code> auf: Eine E-Mail mit einem Best\u00e4tigungslink wird an die Adresse gesendet (Antwort <code>202<\/code>). Ist die Adresse bereits verifiziert, lautet die Antwort <code>200<\/code> mit <code>\"verified\": true<\/code>.<\/li>\n<li>Der Inhaber der Adresse klickt auf den Link.<\/li>\n<li>Die Adresse kann dann in <code>request<\/code> verwendet werden.<\/li>\n<\/ol>\n<div class=\"ep\"><span class=\"m POST\">POST<\/span><span>\/v3\/regis\/verifySender?userid={userid}<\/span><\/div>\n<pre><code>{ \"email\": \"contact@example.com\", \"lang\": \"en\" }<\/code><\/pre>\n<pre><code>{\n  \"success\": true,\n  \"result\": {\n    \"email\": \"contact@example.com\",\n    \"verified\": false,\n    \"message\": \"A verification email has been sent to contact@example.com. The address can be used as sender_email once the link in this email has been clicked.\"\n  }\n}<\/code><\/pre>\n<div class=\"ep\"><span class=\"m GET\">GET<\/span><span>\/v3\/regis\/senders?userid={userid}<\/span><\/div>\n<p>Listet die Absenderadressen Ihres Kontos mit ihrem Status auf.<\/p>\n<pre><code>{\n  \"success\": true,\n  \"result\": [\n    {\n      \"email\": \"contact@example.com\",\n      \"verified\": true\n    },\n    {\n      \"email\": \"legal@example.com\",\n      \"verified\": false\n    }\n  ]\n}<\/code><\/pre>\n<h2 id=\"request\">7. Ein Einschreiben senden<\/h2>\n<div class=\"ep\"><span class=\"m POST\">POST<\/span><span>\/v3\/regis\/request?userid={userid}<\/span><\/div>\n<pre><code>{\n  \"title\": \"Formal notice rent October\",\n  \"lang\": \"en\",\n  \"sender_email\": \"contact@example.com\",\n  \"recipient\": {\n    \"firstname\": \"Ann\",\n    \"lastname\": \"Peeters\",\n    \"email\": \"ann.peeters@example.com\",\n    \"phone\": \"+32475111222\"\n  },\n  \"methods\": [\n    \"itsme-qes-signature\",\n    \"evrotrust-signature\"\n  ],\n  \"send_email\": true,\n  \"note_html\": \"Please acknowledge receipt.\",\n  \"signature_redirect\": \"https:\/\/www.example.com\/thank-you\",\n  \"external_reference\": \"INV-2026-0042\",\n  \"metadata\": {\n    \"customer_id\": 311\n  },\n  \"pdf_file_base64\": \"JVBERi0xLjcKJeLjz9MK...\"\n}<\/code><\/pre>\n<table>\n<thead>\n<tr>\n<th>Feld<\/th>\n<th>Pflicht<\/th>\n<th>Typ<\/th>\n<th>Beschreibung<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>title<\/code><\/td>\n<td><span class=\"req\">ja<\/span><\/td>\n<td>string<\/td>\n<td>Name des Dokuments. Buchstaben, Ziffern und Bindestriche bleiben erhalten; existiert der Name bereits, wird <code>-1<\/code>, <code>-2<\/code>\u2026 angeh\u00e4ngt.<\/td>\n<\/tr>\n<tr>\n<td><code>lang<\/code><\/td>\n<td><span class=\"req\">ja<\/span><\/td>\n<td>string<\/td>\n<td>Sprache der E-Mails und Seiten: <code>fr<\/code>, <code>nl<\/code>, <code>en<\/code>, <code>de<\/code>, <code>es<\/code>.<\/td>\n<\/tr>\n<tr>\n<td><code>sender_email<\/code><\/td>\n<td><span class=\"req\">ja<\/span><\/td>\n<td>string<\/td>\n<td><strong>Verifizierte<\/strong> Absenderadresse, siehe <a href=\"#sender\">Absenderadresse<\/a>.<\/td>\n<\/tr>\n<tr>\n<td><code>recipient.lastname<\/code>, <code>recipient.email<\/code><\/td>\n<td><span class=\"req\">ja<\/span><\/td>\n<td>string<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><code>recipient.firstname<\/code><\/td>\n<td>nein<\/td>\n<td>string<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><code>recipient.phone<\/code><\/td>\n<td>nein<\/td>\n<td>string<\/td>\n<td>Internationales Format (<code>+32\u2026<\/code>). Eine ung\u00fcltige Nummer wird ignoriert.<\/td>\n<\/tr>\n<tr>\n<td><code>methods<\/code><\/td>\n<td><span class=\"req\">ja<\/span><\/td>\n<td>array<\/td>\n<td>Zugelassene Methoden zum Signieren der Empfangsbest\u00e4tigung, siehe <a href=\"#getMethods\"><code>getMethods<\/code><\/a>.<\/td>\n<\/tr>\n<tr>\n<td><code>pdf_file_base64<\/code><\/td>\n<td><span class=\"req\">ja<\/span><\/td>\n<td>string<\/td>\n<td>Das PDF, base64-kodiert. Eine Datei, maximal 30 MB, nicht verschl\u00fcsselt.<\/td>\n<\/tr>\n<tr>\n<td><code>send_email<\/code><\/td>\n<td>nein<\/td>\n<td>boolean<\/td>\n<td>Standard <code>true<\/code>. Mit <code>false<\/code> wird weder an den Empf\u00e4nger noch an den Absender eine E-Mail gesendet: \u00dcbermitteln Sie <code>signature_link<\/code> und <code>declined_link<\/code> selbst.<\/td>\n<\/tr>\n<tr>\n<td><code>note_html<\/code><\/td>\n<td>nein<\/td>\n<td>string<\/td>\n<td>Nachricht in der E-Mail an den Empf\u00e4nger.<\/td>\n<\/tr>\n<tr>\n<td><code>signature_redirect<\/code><\/td>\n<td>nein<\/td>\n<td>string (URL)<\/td>\n<td>Seite, die dem Empf\u00e4nger nach der Signatur angezeigt wird.<\/td>\n<\/tr>\n<tr>\n<td><code>external_reference<\/code><\/td>\n<td>nein<\/td>\n<td>string<\/td>\n<td>Ihre eigene Kennung (Rechnung, Akte\u2026), maximal 255 Zeichen.<\/td>\n<\/tr>\n<tr>\n<td><code>metadata<\/code><\/td>\n<td>nein<\/td>\n<td>object<\/td>\n<td>Freies JSON-Objekt, maximal 4 KB, unver\u00e4ndert zur\u00fcckgegeben.<\/td>\n<\/tr>\n<tr>\n<td><code>callback_url<\/code><\/td>\n<td>nein<\/td>\n<td>string (URL)<\/td>\n<td>Callback-URL nur f\u00fcr dieses Einschreiben (\u00f6ffentliches HTTPS). Standard: die URL Ihres Kontos.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Kosten<\/h3>\n<p>Preis der teuersten Methode in <code>methods<\/code> f\u00fcr einen Empf\u00e4nger. Wird beim Erstellen des Einschreibens belastet.<\/p>\n<h3>Antwort <code>201 Created<\/code><\/h3>\n<pre><code>{\n  \"success\": true,\n  \"result\": {\n    \"type\": \"regis\",\n    \"id_sign\": 123,\n    \"doc_name\": \"Formal-notice-rent-October\",\n    \"lang\": \"en\",\n    \"sender_email\": \"contact@example.com\",\n    \"status_id\": \"pending\",\n    \"date_added\": \"2026-10-20 11:50:00\",\n    \"date_status\": \"2026-10-20 11:50:00\",\n    \"date_expired\": \"2026-11-03 11:50:00\",\n    \"timezone\": \"Europe\/Brussels\",\n    \"methods\": [\n      \"itsme-qes-signature\",\n      \"evrotrust-signature\"\n    ],\n    \"reminder\": 4,\n    \"last_reminder\": null,\n    \"send_email\": true,\n    \"from_api\": true,\n    \"credits\": 1,\n    \"credits_balance\": 41,\n    \"recipient\": {\n      \"firstname\": \"Ann\",\n      \"lastname\": \"Peeters\",\n      \"email\": \"ann.peeters@example.com\",\n      \"phone\": \"+32475111222\",\n      \"status\": \"pending\",\n      \"signing_time\": \"\",\n      \"signing_method\": \"\",\n      \"verified_firstname\": \"\",\n      \"verified_lastname\": \"\",\n      \"signature_link\": \"https:\/\/www.e-signature.eu\/en\/sign-regis\/?key=\u2026\",\n      \"declined_link\": \"https:\/\/www.e-signature.eu\/en\/sign-regis\/?key=\u2026\"\n    },\n    \"external_reference\": \"INV-2026-0042\",\n    \"metadata\": {\n      \"customer_id\": 311\n    }\n  }\n}<\/code><\/pre>\n<h2 id=\"object\">8. Das Objekt Einschreiben<\/h2>\n<p>Zur\u00fcckgegeben von <code>request<\/code>, <code>getRequest<\/code>, <code>modifyRecipient<\/code>, <code>delete<\/code> und in den Callbacks gesendet. Das Feld <code>\"type\": \"regis\"<\/code> unterscheidet es von einer Signaturanfrage, wenn beide dieselbe Callback-URL nutzen.<\/p>\n<table>\n<thead>\n<tr>\n<th>Feld<\/th>\n<th>Beschreibung<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>id_sign<\/code><\/td>\n<td>Kennung des Einschreibens<\/td>\n<\/tr>\n<tr>\n<td><code>status_id<\/code><\/td>\n<td><code>pending<\/code> wartet auf den Empf\u00e4nger \u00b7 <code>finished<\/code> Best\u00e4tigung signiert \u00b7 <code>declined<\/code> vom Empf\u00e4nger abgelehnt \u00b7 <code>expired<\/code> nach 14 Tagen nicht signiert \u00b7 <code>deleted<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>date_added<\/code>, <code>date_status<\/code>, <code>date_expired<\/code><\/td>\n<td>Erstellung, letzte Status\u00e4nderung, Ablauf (Zeitzone des Einschreibens)<\/td>\n<\/tr>\n<tr>\n<td><code>sender_email<\/code>, <code>lang<\/code>, <code>methods<\/code>, <code>reminder<\/code>, <code>send_email<\/code><\/td>\n<td>Wie bei der Erstellung festgelegt<\/td>\n<\/tr>\n<tr>\n<td><code>last_reminder<\/code><\/td>\n<td>Datum der letzten Erinnerung oder <code>null<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>credits<\/code>, <code>credits_balance<\/code><\/td>\n<td>Guthaben des Einschreibens, aktuelles Guthaben Ihres Kontos<\/td>\n<\/tr>\n<tr>\n<td><code>recipient<\/code><\/td>\n<td><code>firstname<\/code>, <code>lastname<\/code>, <code>email<\/code>, <code>phone<\/code>, <code>status<\/code>; nach der Signatur <code>signing_time<\/code>, <code>signing_method<\/code>, <code>verified_firstname<\/code>, <code>verified_lastname<\/code>; solange offen <code>signature_link<\/code> und <code>declined_link<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>pdf_file_base64<\/code><\/td>\n<td>Zeitgestempeltes Dokument, sobald das Einschreiben nicht mehr offen ist<\/td>\n<\/tr>\n<tr>\n<td><code>receipt_file_base64<\/code><\/td>\n<td>Signierte Empfangsbest\u00e4tigung, bei <code>finished<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>external_reference<\/code>, <code>metadata<\/code><\/td>\n<td>Wie bei der Erstellung gesendet<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"endpoints\">9. Weitere Endpoints<\/h2>\n<p>Alle Endpoints erhalten <code>userid<\/code> in der URL und <code>x-api-key<\/code> in den Headern. <code>id_sign<\/code> wird in der URL \u00fcbergeben.<\/p>\n<h3 id=\"list\">Einschreiben auflisten<\/h3>\n<div class=\"ep\"><span class=\"m GET\">GET<\/span><span>\/v3\/regis\/list?userid={userid}&amp;status_id=pending<\/span><\/div>\n<p><code>status_id<\/code> (optional): <code>pending<\/code>, <code>finished<\/code>, <code>declined<\/code> oder <code>expired<\/code>. <code>external_reference<\/code> (optional): nur die Einschreiben mit dieser Referenz.<\/p>\n<pre><code>{\n  \"success\": true,\n  \"result\": [\n    {\n      \"id_sign\": 123,\n      \"status_id\": \"pending\",\n      \"doc_name\": \"Formal-notice-rent-October\",\n      \"date_added\": \"2026-10-20 11:50:00\",\n      \"external_reference\": \"INV-2026-0042\"\n    }\n  ]\n}<\/code><\/pre>\n<h3 id=\"getRequest\">Ein Einschreiben abrufen<\/h3>\n<div class=\"ep\"><span class=\"m GET\">GET<\/span><span>\/v3\/regis\/getRequest?userid={userid}&amp;id_sign=123<\/span><\/div>\n<h3 id=\"modifyRecipient\">Den Empf\u00e4nger \u00e4ndern<\/h3>\n<div class=\"ep\"><span class=\"m PATCH\">PATCH<\/span><span>\/v3\/regis\/modifyRecipient?userid={userid}&amp;id_sign=123<\/span><\/div>\n<pre><code>{ \"email\": \"a.peeters@example.org\", \"phone\": \"+32475333444\" }<\/code><\/pre>\n<p>Nur Einschreiben <code>pending<\/code>. Senden Sie nur die zu \u00e4ndernden Felder aus <code>firstname<\/code>, <code>lastname<\/code>, <code>email<\/code>, <code>phone<\/code>. \u00c4ndert sich die E-Mail, wird der bisherige Empf\u00e4nger \u00fcber die Stornierung informiert und der neue Empf\u00e4nger erh\u00e4lt das Einschreiben.<\/p>\n<h3 id=\"delete\">Ein Einschreiben l\u00f6schen<\/h3>\n<div class=\"ep\"><span class=\"m DELETE\">DELETE<\/span><span>\/v3\/regis\/delete?userid={userid}&amp;id_sign=123<\/span><\/div>\n<p>Nur Status <code>finished<\/code>, <code>declined<\/code> oder <code>expired<\/code>. L\u00f6scht die Dateien und den Verlauf; die Antwort enth\u00e4lt das Einschreiben ein letztes Mal (<code>status_id: deleted<\/code>): Laden Sie die Dokumente vor dem L\u00f6schen herunter.<\/p>\n<h3 id=\"requestAuditTrail\">Den Audit-Trail herunterladen<\/h3>\n<div class=\"ep\"><span class=\"m GET\">GET<\/span><span>\/v3\/regis\/requestAuditTrail?userid={userid}&amp;id_sign=123<\/span><\/div>\n<p>Nicht verf\u00fcgbar, solange offen. Liefert das Einschreiben mit <code>audit_trail_base64<\/code>: ein zeitgestempeltes PDF mit dem vollst\u00e4ndigen Verlauf.<\/p>\n<h3 id=\"requestBalance\">Das Guthaben abrufen<\/h3>\n<div class=\"ep\"><span class=\"m GET\">GET<\/span><span>\/v3\/regis\/requestBalance?userid={userid}<\/span><\/div>\n<h3 id=\"getMethods\">Methoden auflisten<\/h3>\n<div class=\"ep\"><span class=\"m GET\">GET<\/span><span>\/v3\/regis\/getMethods?userid={userid}&amp;lang=en<\/span><\/div>\n<p>F\u00fcr Einschreiben in <code>methods<\/code> zugelassene Methoden mit dem Preis <strong>f\u00fcr Ihr Konto<\/strong>. Die Liste kann von der der Signatur-API abweichen.<\/p>\n<pre><code>{\n  \"success\": true,\n  \"result\": [\n    {\n      \"id\": \"itsme-qes-signature\",\n      \"label\": \"itsme\u00ae | QES\",\n      \"credits\": 1\n    },\n    {\n      \"id\": \"otp-email-non-qualified\",\n      \"label\": \"OTP by Email\/SMS | SES\",\n      \"credits\": 0.4\n    }\n  ]\n}<\/code><\/pre>\n<h2 id=\"callbacks\">10. Callbacks (Webhooks)<\/h2>\n<p>Legen Sie Ihre Callback-URL unter <strong>Mein Konto &gt; API-Signaturen<\/strong> fest (HTTPS, \u00f6ffentlich erreichbar). Sie k\u00f6nnen zus\u00e4tzlich eine <code>callback_url<\/code> pro Anfrage angeben. Der Callback ist ein <code>POST<\/code> mit einem JSON-Body, der den vollst\u00e4ndigen aktuellen Status der Anfrage enth\u00e4lt (gleiches Format wie <code>getRequest<\/code>), gesendet f\u00fcr \u00fcber die API erstellte Anfragen.<\/p>\n<h3>Ereignisfelder<\/h3>\n<table>\n<thead>\n<tr>\n<th>Feld<\/th>\n<th>Beschreibung<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>event<\/code><\/td>\n<td>Ereignistyp (siehe unten)<\/td>\n<\/tr>\n<tr>\n<td><code>event_id<\/code><\/td>\n<td>Eindeutige Kennung des Ereignisses (<code>evt_\u2026<\/code>). <strong>Bei jeder Wiederholung identisch<\/strong>: Nutzen Sie sie, um Duplikate zu ignorieren.<\/td>\n<\/tr>\n<tr>\n<td><code>event_at<\/code><\/td>\n<td>Datum des Ereignisses (UTC, ISO 8601)<\/td>\n<\/tr>\n<tr>\n<td><code>changes<\/code><\/td>\n<td>Status\u00e4nderung des Empf\u00e4ngers, z. B. <code>[{\"signer_key\": 1, \"from\": \"pending\", \"to\": \"signed\"}]<\/code> (nur bei einer \u00c4nderung)<\/td>\n<\/tr>\n<tr>\n<td><code>changes<\/code> (<code>signer.email_failed<\/code>)<\/td>\n<td>Nicht zugestellte E-Mail, z. B. <code>[{\"signer_key\": 2, \"email\": \"marc.dubois@example.com\", \"bounce_type\": \"permanent\", \"reason\": \"smtp; 550 5.1.1 user unknown\"}]<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>external_reference<\/code>, <code>metadata<\/code><\/td>\n<td>Wie bei der Erstellung der Anfrage gesendet<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Ereignistypen<\/h3>\n<table>\n<thead>\n<tr>\n<th>Ereignis<\/th>\n<th>Wann<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>signer.signed<\/code><\/td>\n<td>Ein Unterzeichner hat signiert, die Anfrage l\u00e4uft noch<\/td>\n<\/tr>\n<tr>\n<td><code>signer.declined<\/code>, <code>signer.skipped<\/code>, <code>signer.expired<\/code><\/td>\n<td>Ein Unterzeichner hat abgelehnt, wurde \u00fcbersprungen oder ist abgelaufen<\/td>\n<\/tr>\n<tr>\n<td><code>request.completed<\/code><\/td>\n<td>Alle Unterzeichner haben signiert: Das signierte PDF ist enthalten (<code>pdf_file_base64<\/code>)<\/td>\n<\/tr>\n<tr>\n<td><code>request.stopped<\/code><\/td>\n<td>Die Anfrage wurde beendet: Das teilweise signierte PDF ist enthalten<\/td>\n<\/tr>\n<tr>\n<td><code>request.cancelled<\/code><\/td>\n<td>Die Anfrage wurde storniert<\/td>\n<\/tr>\n<tr>\n<td><code>request.deleted<\/code><\/td>\n<td>Die Anfrage wurde gel\u00f6scht<\/td>\n<\/tr>\n<tr>\n<td><code>request.expired<\/code><\/td>\n<td>Die Anfrage ist abgelaufen<\/td>\n<\/tr>\n<tr>\n<td><code>request.declined<\/code><\/td>\n<td>Einschreiben vom Empf\u00e4nger abgelehnt<\/td>\n<\/tr>\n<tr>\n<td><code>signer.email_failed<\/code><\/td>\n<td>Eine E-Mail an einen Unterzeichner konnte nicht zugestellt werden, siehe <a href=\"#undelivered\">Nicht zugestellte E-Mails<\/a><\/td>\n<\/tr>\n<tr>\n<td><code>request.updated<\/code><\/td>\n<td>Jede andere \u00c4nderung: Erinnerung gesendet, Unterzeichner ge\u00e4ndert, neue Signaturlinks\u2026<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Der Body enth\u00e4lt stets den vollst\u00e4ndigen aktuellen Status: Ihre Integration kann sich auf <code>status_id<\/code> und den Status jedes Unterzeichners st\u00fctzen statt nur auf den Ereignistyp.<\/p>\n<h3 id=\"undelivered\">Nicht zugestellte E-Mails<\/h3>\n<p>Wird eine von e-Signature.eu an einen Unterzeichner (oder an den Empf\u00e4nger eines Einschreibens) gesendete E-Mail von dessen Mailserver zur\u00fcckgewiesen (unbekannte Adresse, volles Postfach, Server lehnt die Nachricht ab\u2026), erhalten Sie den Callback <code>signer.email_failed<\/code>. Der Status der Anfrage und des Unterzeichners \u00e4ndert sich nicht.<\/p>\n<table>\n<thead>\n<tr>\n<th>Feld von <code>changes<\/code><\/th>\n<th>Beschreibung<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>signer_key<\/code><\/td>\n<td>Schl\u00fcssel des Unterzeichners in <code>signers<\/code> (bei einem Einschreiben immer 1)<\/td>\n<\/tr>\n<tr>\n<td><code>email<\/code><\/td>\n<td>Fehlerhafte Adresse<\/td>\n<\/tr>\n<tr>\n<td><code>bounce_type<\/code><\/td>\n<td><code>permanent<\/code>: die Adresse existiert nicht oder lehnt Nachrichten ab \u00b7 <code>transient<\/code>: vor\u00fcbergehendes Problem (Postfach voll, Server nicht erreichbar), Zustellung nach mehreren Versuchen abgebrochen \u00b7 <code>undetermined<\/code>: unbekannter Grund<\/td>\n<\/tr>\n<tr>\n<td><code>reason<\/code><\/td>\n<td>Technische Meldung des Mailservers des Empf\u00e4ngers, falls vorhanden<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Korrigieren Sie die Adresse mit <code>modifySigner<\/code> (Signaturanfrage) oder <code>modifyRecipient<\/code> (Einschreiben): die Einladung wird an die neue Adresse gesendet, und an die fehlerhafte Adresse wird keine Stornierungs-E-Mail gesendet. Der Kontoinhaber wird zudem per E-Mail informiert, und der Unterzeichner wird im Online-Dashboard mit <strong>E-Mail nicht zugestellt<\/strong> markiert.<\/p>\n<p><code>permanent<\/code>: f\u00fcr diese Anfrage werden keine E-Mails mehr an diese Adresse gesendet (auch keine Erinnerungen), bis sie korrigiert ist. <code>transient<\/code> oder <code>undetermined<\/code>: E-Mails werden nicht blockiert; die n\u00e4chste Erinnerung wird normal gesendet, und schl\u00e4gt sie erneut fehl, erhalten Sie einen neuen Callback <code>signer.email_failed<\/code>.<\/p>\n<p class=\"note\">Betroffen sind nur laufende Anfragen und Unterzeichner, die noch nicht unterschrieben haben. Mit <code>send_email: false<\/code> sendet e-Signature.eu keine E-Mails an die Unterzeichner, daher tritt dieses Ereignis nicht auf.<\/p>\n<h3>Header<\/h3>\n<table>\n<thead>\n<tr>\n<th>Header<\/th>\n<th>Beispiel<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>X-Esig-Api-Version<\/code><\/td>\n<td><code>3<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>X-Esig-Event<\/code><\/td>\n<td><code>signer.signed<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>X-Esig-Event-Id<\/code><\/td>\n<td><code>evt_4f0c2b9e1d7a3c55e8b1a2f0<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>X-Esig-Delivery-Attempt<\/code><\/td>\n<td><code>1<\/code>, <code>2<\/code>, \u2026<\/td>\n<\/tr>\n<tr>\n<td><code>X-Esig-Signature<\/code><\/td>\n<td><code>t=1792407600,v1=5d41402abc4b2a76b9719d911017c592\u2026<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Die Signatur pr\u00fcfen<\/h3>\n<p>Ihr Signaturgeheimnis wird unter <strong>Mein Konto &gt; API-Signaturen<\/strong> angezeigt und kann dort neu erstellt werden. <code>v1<\/code> ist der HMAC-SHA256 von <code>\"&lt;t&gt;.&lt;raw request body&gt;\"<\/code> mit Ihrem Geheimnis, hexadezimal kodiert. Verwenden Sie den <strong>unver\u00e4nderten<\/strong> Body vor jedem JSON-Parsing und lehnen Sie Callbacks ab, die \u00e4lter als 5 Minuten sind.<\/p>\n<h4>PHP<\/h4>\n<pre><code>$body   = file_get_contents( 'php:\/\/input' );\n$header = $_SERVER['HTTP_X_ESIG_SIGNATURE'] ?? '';\npreg_match( '\/t=(\\d+),v1=([a-f0-9]{64})\/', $header, $m );\n$valid = $m\n    &amp;&amp; abs( time() - (int) $m[1] ) &lt;= 300\n    &amp;&amp; hash_equals( hash_hmac( 'sha256', $m[1] . '.' . $body, $secret ), $m[2] );<\/code><\/pre>\n<h4>Node.js<\/h4>\n<pre><code>const crypto = require('crypto');\nfunction verify(rawBody, header, secret) {\n  const m = \/t=(\\d+),v1=([a-f0-9]{64})\/.exec(header || '');\n  if (!m || Math.abs(Date.now() \/ 1000 - Number(m[1])) &gt; 300) return false;\n  const expected = crypto.createHmac('sha256', secret).update(`${m[1]}.${rawBody}`).digest('hex');\n  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(m[2]));\n}<\/code><\/pre>\n<h4>C# (.NET)<\/h4>\n<pre><code>using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions;\nstatic bool Verify(string rawBody, string header, string secret) {\n    var m = Regex.Match(header ?? \"\", @\"t=(\\d+),v1=([a-f0-9]{64})\");\n    if (!m.Success || Math.Abs(DateTimeOffset.UtcNow.ToUnixTimeSeconds() - long.Parse(m.Groups[1].Value)) &gt; 300) return false;\n    using var h = new HMACSHA256(Encoding.UTF8.GetBytes(secret));\n    var expected = Convert.ToHexString(h.ComputeHash(Encoding.UTF8.GetBytes(m.Groups[1].Value + \".\" + rawBody))).ToLowerInvariant();\n    return CryptographicOperations.FixedTimeEquals(Encoding.ASCII.GetBytes(expected), Encoding.ASCII.GetBytes(m.Groups[2].Value));\n}<\/code><\/pre>\n<h3>Antworten und Wiederholungen<\/h3>\n<ul>\n<li>Antworten Sie mit <strong>HTTP 2xx<\/strong>, sobald der Callback eingegangen ist, und verarbeiten Sie ihn bei Bedarf asynchron.<\/li>\n<li>Bei Netzwerkfehler, Zeit\u00fcberschreitung (30 s), HTTP 429 oder 5xx wird der Callback st\u00fcndlich mit derselben <code>event_id<\/code> erneut gesendet, bis zu 24 Versuche. Andere 4xx-Antworten gelten als endg\u00fcltig. \u00c4ndert sich die Anfrage vor einer erfolgreichen Zustellung erneut, enth\u00e4lt der n\u00e4chste Callback ein neues Ereignis und den vollst\u00e4ndigen aktuellen Status. Der aktuelle Status bleibt jederzeit \u00fcber <code>getRequest<\/code> abrufbar.<\/li>\n<li>Weiterleitungen werden befolgt (die Methode <code>POST<\/code> bleibt erhalten). <code>localhost<\/code> und private Adressen sind nicht zul\u00e4ssig.<\/li>\n<\/ul>\n<p>Bei Einschreiben wird der Callback gesendet, wenn die Best\u00e4tigung signiert, abgelehnt oder abgelaufen ist, bei jeder automatischen Erinnerung und wenn der Empf\u00e4nger ge\u00e4ndert wird (auf der Website oder \u00fcber die API). Der Empf\u00e4nger ist <code>signer_key<\/code> 1 in <code>changes<\/code>.<\/p>\n<h2 id=\"errors\">11. Fehler<\/h2>\n<p>Fehler werden mit <code>\"success\": false<\/code> und einer lesbaren Meldung <code>error<\/code> zur\u00fcckgegeben. St\u00fctzen Sie Ihre Logik auf den HTTP-Code: Die Meldungen k\u00f6nnen sich \u00e4ndern.<\/p>\n<table>\n<thead>\n<tr>\n<th>HTTP-Code<\/th>\n<th>Bedeutung<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>200 \/ 201 \/ 202<\/td>\n<td>OK \/ Einschreiben erstellt \/ Best\u00e4tigungs-E-Mail gesendet<\/td>\n<\/tr>\n<tr>\n<td>400<\/td>\n<td>Fehlendes oder ung\u00fcltiges Feld (die Meldung nennt das Feld)<\/td>\n<\/tr>\n<tr>\n<td>401<\/td>\n<td>Ung\u00fcltige <code>userid<\/code> oder <code>x-api-key<\/code><\/td>\n<\/tr>\n<tr>\n<td>403<\/td>\n<td>Nicht genug Guthaben oder Anfragelimit erreicht (10 pro Minute)<\/td>\n<\/tr>\n<tr>\n<td>404<\/td>\n<td><code>id_sign<\/code> fehlt oder ist f\u00fcr dieses Konto unbekannt<\/td>\n<\/tr>\n<tr>\n<td>412<\/td>\n<td>Aktion im aktuellen Status nicht m\u00f6glich (Absenderadresse nicht verifiziert, falscher Status)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"retention\">12. Aufbewahrung<\/h2>\n<p>Das zeitgestempelte Dokument und die signierte Empfangsbest\u00e4tigung k\u00f6nnen <strong>30 Tage<\/strong> lang \u00fcber <code>getRequest<\/code> oder den Callback heruntergeladen werden. Der Audit-Trail wird f\u00fcr den in unserem <a href=\"https:\/\/www.e-signature.eu\/de\/dpa\/\">DPA<\/a> festgelegten Zeitraum aufbewahrt. Archivieren Sie die Dokumente innerhalb von 30 Tagen bei sich.<\/p>\n<\/div>\n<\/div>\n<p><script data-no-optimize=\"1\" data-no-defer=\"1\" data-no-minify=\"1\" data-cfasync=\"false\" nowprocket>\n(function(){\n  var root=document.querySelector('.esig-api'); if(!root) return;\n  var nav=root.querySelector('.esig-api-nav'), box=root.querySelector('.esig-api-nav-in');\n  function headerBottom(){\n    \/* empile les \u00e9l\u00e9ments fixes du haut (barre d'admin WordPress, en-t\u00eate collant\u2026) *\/\n    var b=0, xs=[Math.round(window.innerWidth\/2), 40, window.innerWidth-40];\n    for(var k=0; k<6; k++){\n      var y=b+2, found=0;\n      xs.forEach(function(x){\n        (document.elementsFromPoint?document.elementsFromPoint(x,y):[]).forEach(function(el){\n          for(var n=el; n; n=n.parentElement){\n            if(n===document.body||n===document.documentElement||n===root) break;\n            var p=getComputedStyle(n).position;\n            if(p==='fixed'||p==='sticky'){\n              var r=n.getBoundingClientRect();\n              if(r.top<=y){ if(r.bottom>b){ if(r.bottom<window.innerHeight\/2){ b=r.bottom; found=1; } } }\n              break;\n            }\n          }\n        });\n      });\n      if(!found) break;\n    }\n    return Math.round(b);\n  }\n  \/* section en cours de lecture surlign\u00e9e dans le sommaire *\/\n  var toc=root.querySelector('.esig-api-toc'), links=[].slice.call(root.querySelectorAll('.esig-api-toc a'));\n  var heads=links.map(function(a){ return document.getElementById((a.getAttribute('href')||'').slice(1)); });\n  var current=-1;\n  function spy(top){\n    var cur=0;\n    var line=top+(window.innerHeight-top)*0.3; \/* titre pass\u00e9 au-dessus du premier tiers de l'\u00e9cran *\/\n    heads.forEach(function(h,i){ if(h){ if(h.getBoundingClientRect().top<=line) cur=i; } });\n    if(window.innerHeight+window.scrollY>=document.documentElement.scrollHeight-2) cur=links.length-1;\n    if(cur===current) return;\n    current=cur;\n    links.forEach(function(a,i){ a.classList.toggle('is-active',i===cur); a.parentNode.classList.toggle('is-active',i===cur); });\n    var a=links[cur];\n    if(a){ if(toc.scrollHeight>toc.clientHeight){\n      var y=a.getBoundingClientRect().top-toc.getBoundingClientRect().top+toc.scrollTop;\n      if(y<toc.scrollTop+20) toc.scrollTop=y-20;\n      else if(y>toc.scrollTop+toc.clientHeight-40) toc.scrollTop=y-toc.clientHeight+40;\n    } }\n  }\n  function reset(){box.classList.remove('is-fixed');box.style.left=box.style.width=box.style.top='';nav.style.minHeight='';}\n  var ticking=false;\n  function update(){\n    ticking=false;\n    var mobile=window.innerWidth<=900, gap=mobile?0:20, top=headerBottom()+gap;\n    root.style.setProperty('--esig-top',top+'px');\n    spy(top);\n    reset();\n    var n=nav.getBoundingClientRect(), b=box.getBoundingClientRect(), end=root.getBoundingClientRect().bottom;\n    if(n.top>=top) return;                       \/* pas encore atteint : position normale *\/\n    if(mobile) nav.style.minHeight=b.height+'px'; \/* garde la place du bouton *\/\n    var y=Math.min(top, end-b.height);           \/* s'arr\u00eate en bas de la documentation *\/\n    box.classList.add('is-fixed'); box.style.top=y+'px'; box.style.left=n.left+'px'; box.style.width=n.width+'px';\n    \/* parent avec transform (animations Elementor\u2026) : position:fixed relative \u00e0 ce parent \u2192 correction *\/\n    var f=box.getBoundingClientRect(), dy=f.top-y, dx=f.left-n.left;\n    if(Math.abs(dy)>1||Math.abs(dx)>1){ box.style.top=(y-dy)+'px'; box.style.left=(n.left-dx)+'px'; }\n  }\n  function req(){ if(!ticking){ticking=true;requestAnimationFrame(update);} }\n  window.addEventListener('scroll',req,{passive:true}); window.addEventListener('resize',req);\n  document.addEventListener('change',function(e){ if(e.target){ if(e.target.id==='esig-api-toc') req(); } });\n  update(); window.addEventListener('load',update); setTimeout(update,1500);\n})();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Inhalt Inhalt \u00dcberblick Authentifizierung Konventionen Guthaben Ablauf eines Einschreibens Absenderadresse Ein Einschreiben senden Das Objekt Einschreiben Weitere Endpoints Callbacks (Webhooks)&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":24183,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-29997","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.e-signature.eu\/de\/wp-json\/wp\/v2\/pages\/29997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.e-signature.eu\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.e-signature.eu\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.e-signature.eu\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.e-signature.eu\/de\/wp-json\/wp\/v2\/comments?post=29997"}],"version-history":[{"count":2,"href":"https:\/\/www.e-signature.eu\/de\/wp-json\/wp\/v2\/pages\/29997\/revisions"}],"predecessor-version":[{"id":30020,"href":"https:\/\/www.e-signature.eu\/de\/wp-json\/wp\/v2\/pages\/29997\/revisions\/30020"}],"up":[{"embeddable":true,"href":"https:\/\/www.e-signature.eu\/de\/wp-json\/wp\/v2\/pages\/24183"}],"wp:attachment":[{"href":"https:\/\/www.e-signature.eu\/de\/wp-json\/wp\/v2\/media?parent=29997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}