{"id":20195,"date":"2025-05-20T00:00:00","date_gmt":"2025-05-20T00:00:00","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/ihr-leitfaden-fuer-webhooks\/"},"modified":"2026-09-14T22:52:23","modified_gmt":"2026-09-14T22:52:23","slug":"ihr-leitfaden-fuer-webhooks","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/","title":{"rendered":"Ihr Leitfaden f\u00fcr die Nutzung von Webhooks"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Sie wissen bereits, dass eine E-Mail nach dem Versand nicht einfach abgehakt ist. Wenn Sie eine Nachricht versenden, m\u00f6chten Sie diese tracken und auf eventuelle Probleme reagieren, oder? Schlie\u00dflich hilft Ihnen das Wissen \u00fcber die Performance Ihrer E-Mails dabei, Ihre Absenderreputation und Zustellbarkeit aufrechtzuerhalten. Indem Sie einen Webhook auf Ihr bevorzugtes CRM verweisen, sieht Ihr Team schnell und einfach relevante Engagement-Metriken ein und trifft Entscheidungen auf Basis aktueller Informationen. Bevor wir uns den Anwendungsf\u00e4llen widmen, sollten wir die Grundlagen von Webhooks kl\u00e4ren. <\/p>\n\n\n\r\n    <nav data-content-type=\"longform\" class=\"toc-block longform-spacings px-5 py-6 px-md-6 px-lg-7 py-md-7 bg-light fs-sm rounded-lg\" aria-labelledby=\"toc-title-4128\"><p class=\"h5 m-0\" id=\"toc-title-4128\">Inhaltsverzeichnis<\/p><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">01<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#was-sind-webhooks\">Was sind Webhooks?<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">02<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#wofuer-werden-webhooks-verwendet\">Wof\u00fcr werden Webhooks verwendet?<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">03<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#wie-funktionieren-webhooks\">Wie funktionieren Webhooks?<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-eins-gewuenschte-daten-auswaehlen\">Schritt eins: Gew\u00fcnschte Daten ausw\u00e4hlen<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-zwei-daten-an-nachrichten-anhaengen\">Schritt zwei: Daten an Nachrichten anh\u00e4ngen<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-drei-url-einrichten\">Schritt drei: URL einrichten<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-vier-skripte-zur-datenerfassung-erstellen\">Schritt vier: Skripte zur Datenerfassung erstellen<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">04<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#webhook-ereignisse-und-parameter\">Webhook-Ereignisse und -Parameter<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">05<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#webhooks-absichern\">Webhooks absichern<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">06<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#webhooks-mit-mailgun-erstellen\">Webhooks mit Mailgun erstellen<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">07<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#mailgun-macht-es-einfach\">Mailgun macht es einfach<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\">Was sind Webhooks?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Einfach ausgedr\u00fcckt sind Webhooks Benachrichtigungen, die nach Eintritt eines Ereignisses entsprechende Daten an eine andere Anwendung senden.<\/b> Sie fungieren als umgekehrte API. Anstatt einen API-Endpunkt wiederholt nach Aktualisierungen abzufragen, sendet Ihnen der Webhook das Update \u00fcber eine HTTP-Anfrage. <a href=\"https:\/\/www.mailgun.com\/de\/glossar\/webhook\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Webhooks<\/a> sind f\u00fcr Apps eine M\u00f6glichkeit, Informationen durch Automatisierung und benutzerdefinierte HTTP-Callbacks auszutauschen\u00a0\u2013 \u00e4hnlich wie bei einer SMS\u00a0\u2013 typischerweise ausgel\u00f6st durch ein Ereignis wie eine erfolgreiche E-Mail-Zustellung oder eine Bounce-Benachrichtigung. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In einer ereignisgesteuerten Architektur erweist sich dies als besonders leistungsstark. Wenn Sie beispielsweise Ihrer Banking-App Ihre Einzahlungsinformationen sowie Ihre Telefonnummer mitteilen und die App Ihnen per SMS mitteilt, dass gerade ein Guthaben eingegangen ist, erm\u00f6glicht ein Webhook den Versand dieser SMS mit den entsprechenden Updates.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wof\u00fcr werden Webhooks verwendet?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Webhooks werden verwendet, um Benachrichtigungen f\u00fcr bestimmte Ereignisse zu erstellen. <\/b>Da Webhooks auf HTTP-POST basieren, sind sie einfach zu nutzen. Dar\u00fcber hinaus lassen sich Webhook-Skripte in fast jeder bevorzugten Skriptsprache schreiben, darunter curl, Ruby, Python, PHP, Java, C# und Go. Sobald die Webhook-Daten erfasst wurden, lassen sie sich in einer Datenbank speichern und nutzen, um die Effektivit\u00e4t von E-Mail-Kampagnen zu messen oder Empf\u00e4ngerprofile zu erg\u00e4nzen. Nutzen Sie sie in verschiedenen Workflows\u00a0\u2013 von der Protokollierung von E-Commerce-Bestellbest\u00e4tigungen bis zur Integration von Stripe-Zahlungsereignissen in Echtzeit in Ihr Backend. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zudem erhalten Sie granularere Daten, als ein Standard-Dashboard liefert, indem Sie die Metriken anpassen, die der Webhook zur\u00fcckgibt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie funktionieren Webhooks?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wie funktioniert ein Webhook also?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn das Ereignis eintritt, sendet die Quellseite eine HTTP-POST-Anfrage an eine URL, die vom Entwicklungsteam f\u00fcr den Empfang des Webhooks konfiguriert wurde. Das Entwicklungsteam richtet sie so ein, dass Ereignisse auf einer Seite ein Verhalten auf einer anderen ausl\u00f6sen. Anschlie\u00dfend werden diese Webhook-Daten als Nutzdaten im JSON- oder XML-Format an die konfigurierte URL gesendet. Hier sind die vier erforderlichen Schritte:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt eins: Gew\u00fcnschte Daten ausw\u00e4hlen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die erste Entscheidung des Entwicklungsteams bei der Planung des E-Mail-Trackings und der Reaktion lautet, welche Daten genau zur\u00fcckgegeben werden sollen. Falls das Ziel darin besteht, Bounces versendeter E-Mails zu erkennen, f\u00fchrt die URL der nutzenden Person ein Skript f\u00fcr eingehende POST-Anfragen aus, um die betroffene E-Mail-Adresse zu erfassen und in einer lokalen Datenbank zu speichern. Dasselbe Skript l\u00e4sst sich erweitern, um Empf\u00e4ngernamen, Betreff oder jeden anderen vom Webhook bereitgestellten Parameter zu erfassen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Sehen wir uns zun\u00e4chst die Webhook-POST-Anfrage an.<\/b> Diese wird f\u00fcr die meisten Nachrichten als <code>application\/x-www-form-urlencoded<\/code> und als <code>multipart\/form-data<\/code> codiert, falls der Nachricht ein Anhang beigef\u00fcgt ist. Die POST-Anfragemethode fordert einen Webserver dazu auf, die im Body der Anfrage-Nachricht enthaltenen Daten zur Speicherung zu akzeptieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hier ist ein Beispiel f\u00fcr einen HTTP-POST von Mailgun an eine URI bei Runescope. Beachten Sie, dass die Kopfzeile f\u00fcr den Content-Type als <code>application\/x-www-form-urlencoded<\/code> festgelegt ist:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    ACCEPT: *\/* \r\nACCEPT-ENCODING: GZIP \r\nCONNECTION: CLOSE \r\nCONTENT-LENGTH: 1325 \r\nCONTENT-TYPE: APPLICATION\/X-WWW-FORM-URLENCODED \r\nHOST: \r\nUSER-AGENT: MAILGUN\/TREQ-0.2.\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Der Body der Nachricht enth\u00e4lt Parameter, die als Schl\u00fcssel-Wert-Paare gespeichert sind. (Wir gehen im folgenden Abschnitt genauer auf die geposteten Daten ein.) Da die Daten codiert sind, wirken sie auf den ersten Blick unleserlich. So sieht der decodierte Body typischerweise aus:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    DOMAIN: BEATNIKZ.NET\r\nEVENT: DELIVERED\r\nMESSAGE-HEADERS: [[&quot;RECEIVED&quot;, &quot;BY LUNA.MAILGUN.NET WITH HTTP; WED, 07 JAN 2015 00:44:03 +0000&quot;], [&quot;MIME-VERSION&quot;, &quot;1.0&quot;], [&quot;CONTENT-TYPE&quot;, [&quot;TEXT\/PLAIN&quot;, {&quot;CHARSET&quot;: &quot;ASCII&quot;}]], [&quot;SUBJECT&quot;, &quot;HELLO&quot;], [&quot;FROM&quot;, &quot;TAG TEST &quot;], [&quot;TO&quot;, &quot;MGBOX01@GMAIL.COM&quot;], [&quot;X-MAILGUN-TAG&quot;, &quot;WEB APP SEPTEMBER NEWSLETTER&quot;], [&quot;X-MAILGUN-TAG&quot;, &quot;NEWSLETTERS&quot;], [&quot;MESSAGE-ID&quot;, &quot;&quot;], [&quot;X-MAILGUN-SID&quot;, &quot;WYI3NGU3NYISICJTZ2JVEDAXQGDTYWLSLMNVBSISICI0MGRKIL0=&quot;], [&quot;DATE&quot;, &quot;WED, 07 JAN 2015 00:44:11 +0000&quot;], [&quot;SENDER&quot;, &quot;NOLAN=YBEATNIKZ.NET@BEATNIKZ.NET&quot;], [&quot;CONTENT-TRANSFER-ENCODING&quot;, [&quot;7BIT&quot;, {}]]]\r\nMESSAGE-ID: \r\nRECIPIENT: MGBOX01@GMAIL.COM\r\nSIGNATURE: EB9FE5C673522299A2259052E56487E54F4D2486A0F1582E91D2C17114A6398\r\nTIMESTAMP: 1420591452\r\nTOKEN: E40542A95B5A6989B5E226CC0E9BB2F120478AF8EE594F884C\r\nX-MAILGUN-SID: WYI3NGU3NYISICJTZ2JVEDAXQGDTYWLSLMNVBSISICI0MGRKIL0=\r\nX-MAILGUN-TAG: WEB APP SEPTEMBER NEWSLETTER\r\nX-MAILGUN-TAG: NEWSLETTERS\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<h3 class=\"wp-block-heading\">Schritt zwei: Daten an Nachrichten anh\u00e4ngen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Beim Versand einer E-Mail erm\u00f6glichen einige ESPs Nutzenden, Daten an ihre Nachrichten anzuh\u00e4ngen, indem sie benutzerdefinierte Daten an die API- oder SMTP-Endpunkte \u00fcbergeben. Die Daten werden als Kopfzeile in der E-Mail dargestellt und sind typischerweise im JSON-Format. Diese benutzerdefinierten Daten sind dann in allen Webhook-Ereignissen enthalten, die sich auf die jeweilige E-Mail beziehen. Es lassen sich auch mehrere Kopfzeilen einf\u00fcgen. Deren Werte werden dann kombiniert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beispiel:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    X-MAILGUN-VARIABLES: {&quot;FIRST_NAME&quot;: &quot;JOHN&quot;, &quot;LAST_NAME&quot;: &quot;SMITH&quot;}\r\nX-MAILGUN-VARIABLES: {&quot;MY_MESSAGE_ID&quot;: 123}\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">So f\u00fcgen Sie diese Kopfzeile zu einer Nachricht hinzu:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    USING API: PASS THE FOLLOWING PARAMETER, &quot;V:MY-CUSTOM-DATA&quot; =&gt; &quot;{&quot;MY_MESSAGE_ID&quot;: 123}&quot;.\r\nUSING SMTP: ADD THE FOLLOWING HEADER TO THE EMAIL, &quot;X-MAILGUN-VARIABLES: {&quot;MY_MESSAGE_ID&quot;: 123}&quot;.\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Alternativ l\u00f6schen Sie einen bestehenden Webhook ganz einfach:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Manchmal ist es hilfreich, den ausgehenden E-Mail-Traffic anhand bestimmter Kriterien zu kategorisieren\u00a0\u2013 beispielsweise, um Anmelde-E-Mails von E-Mails zur Passwortwiederherstellung oder von Kommentaren der Nutzenden zu trennen. Der ESP erlaubt gegebenenfalls, jede ausgehende Nachricht mit einem benutzerdefinierten Wert zu versehen. Diese Werte werden zu Tags, mit denen sich Statistiken zur Zustellbarkeit abrufen oder zusammenfassen lassen. Um einer Webhook-Nachricht ein Tag anzuh\u00e4ngen, f\u00fcgen Sie ihr ein oder mehrere O:TAG hinzu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Code-Beispiel f\u00fcr Tagging:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    CURL -S --USER &#039;API:YOUR_API_KEY&#039; \\\r\n\r\nHTTPS:\/\/API.MAILGUN.NET\/V3\/YOUR_DOMAIN_NAME\/MESSAGES \\\r\n-F FROM=&#039;SENDER BOB &#039; \\\r\n-F TO=&#039;ALICE@EXAMPLE.COM&#039; \\\r\n-F SUBJECT=&#039;HELLO&#039; \\\r\n-F TEXT=&#039;TESTING SOME MAILGUN AWESOMNESS!&#039; \\\r\n-F O:TAG=&#039;SEPTEMBER NEWSLETTER&#039; \\\r\n-F O:TAG=&#039;NEWSLETTERS&#039;\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<h3 class=\"wp-block-heading\">Schritt drei: URL einrichten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Um die Daten von einem Webhook zu erhalten, geben Nutzende ihrem ESP eine URL an, an die Anfragen zugestellt werden. Das bedeutet, dass sie diese URL auch in ihrer App einrichten m\u00fcssen, damit sie \u00fcber das \u00f6ffentliche Web und von verschiedenen IP-Adressen aus erreichbar ist (daher der Sicherheitsbedarf). Die Webhooks des ESP senden dann POST-Daten im Format application\/x-www-form-urlencoded oder multipart\/form-data an die URL.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt vier: Skripte zur Datenerfassung erstellen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Im letzten Schritt <b>f\u00fcgen Sie der URL Skripte hinzu, welche die von den Webhooks bereitgestellten Daten erfassen<\/b> und diese nach Belieben des Entwicklungsteams verarbeiten. Hier werden Sie kreativ und gehen bei den Attributen, die Sie sammeln m\u00f6chten, granular vor. Dies l\u00e4sst sich am besten anhand eines Beispiels verdeutlichen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Ein Anwendungsfall f\u00fcr einen Webhook ist das Tracking von E-Mail-Bounces.<\/b> Daf\u00fcr erfassen Sie einen Anhang und speichern die Datei lokal. Der folgende Code nutzt beispielsweise eine Kombination aus dem Python-Microframework Flask und der HTTP-Bibliothek Requests. Hier ist eine kurze Flask-App, um eine Datei aus einem Bounce-Webhook zu erfassen, den urspr\u00fcnglichen Dateinamen beizubehalten und sie lokal auf Ihrem Webserver zu speichern.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    FROM FLASK IMPORT FLASK\r\nFROM FLASK IMPORT REQUEST\r\nFROM WERKZEUG IMPORT SECURE_FILENAME\r\nAPP = FLASK(__NAME__)\r\n\r\n@APP.ROUTE(&#039;\/WEBHOOK&#039;, METHODS=[&#039;GET&#039;, &#039;POST&#039;])\r\nDEF TRACKING():\r\n#CHECKS IF THE REQUEST IS A POST\r\nIF REQUEST.METHOD == &#039;POST&#039;:\r\nF = REQUEST.FILES[&#039;ATTACHMENT-1&#039;]\r\n# OBTAINS THE FILESTORAGE INSTANCE FROM REQUEST\r\nFILENAME = SECURE_FILENAME(F.FILENAME)\r\nF.SAVE(&#039;\/HOME\/DIRECTORY\/WEBHOOK\/&#039;+ FILENAME)\r\nPRINT FILENAME\r\nRETURN &quot;OK&quot;\r\nIF __NAME__ == &#039;__MAIN__&#039;:\r\nAPP.RUN(HOST=&#039;0.0.0.0&#039;, PORT=100, DEBUG=TRUE)\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Um dies in Aktion zu sehen, f\u00fchren Sie Ihre Anwendung aus und f\u00fcgen Sie die URL (zum Beispiel: <a href=\"http:\/\/yourdomainhere.com:100\/webhook\" target=\"_tabs\" rel=\"noopener noreferrer\">http:\/\/yourdomainhere.com:100\/webhook<\/a>) in den Bounce-Webhook ein und klicken auf &#8222;Test Webhook&#8220;. Sie erhalten eine Datei namens \u201emessage.mime\u201c mit folgendem Inhalt:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    RECEIVED: BY LUNA.MAILGUN.NET WITH SMTP MGRT 8734663311733; FRI, 03 MAY 2013 18:26:27 +0000\r\nCONTENT-TYPE: MULTIPART\/ALTERNATIVE; BOUNDARY=&quot;EB663D73AE0A4D6C9153CC0AEC8B7520&quot;\r\nMIME-VERSION: 1.0\r\nSUBJECT: TEST BOUNCES WEBHOOK\r\nFROM: BOB \r\nTO: ALICE \r\nMESSAGE-ID: \r\nLIST-UNSUBSCRIBE: \r\nX-MAILGUN-SID: WYIWNZI5MCISICJHBGLJZUBLEGFTCGXLLMNVBSISICI2IL0=\r\nX-MAILGUN-VARIABLES: {&quot;MY_VAR_1&quot;: &quot;MAILGUN VARIABLE #1&quot;, &quot;MY-VAR-2&quot;: &quot;AWESOME&quot;}\r\nDATE: FRI, 03 MAY 2013 18:26:27 +0000\r\nSENDER: BOB_USER_ID@AWESOME_WORKFLOWS.MAILGUN.ORG\r\n--EB663D73AE0A4D6C9153CC0AEC8B7520\r\nMIME-VERSION: 1.0\r\nCONTENT-TYPE: TEXT\/PLAIN; CHARSET=&quot;ASCII&quot;\r\nCONTENT-TRANSFER-ENCODING: 7BIT\r\nHI ALICE, DO YOU EXIST ON THIS DOMAIN?\r\n--EB663D73AE0A4D6C9153CC0AEC8B7520\r\nMIME-VERSION: 1.0\r\nCONTENT-TYPE: TEXT\/PLAIN; CHARSET=&quot;ASCII&quot;\r\nCONTENT-TRANSFER-ENCODING: 7BIT\r\nHI ALICE, DO YOU EXIST ON THIS DOMAIN?\r\n--EB663D73AE0A4D6C9153CC0AEC8B7520--\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Diese vier Schritte helfen Ihnen bei der Einrichtung eines vollst\u00e4ndigen Webhooks. Um davon zu profitieren, l\u00f6sen Sie ihn aus und machen sich mit den Ereignisparametern vertraut.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Webhook-Ereignisse und -Parameter<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wie oben erkl\u00e4rt, <a href=\"https:\/\/www.mailgun.com\/resources\/learn\/glossary\/webhook\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Webhooks<\/a> werden diese durch bestimmte Ereignisse ausgel\u00f6st. <b>Im E-Mail-Bereich geh\u00f6ren dazu \u00d6ffnungen, Klicks, Abmeldungen<\/b> und andere Ereignisse im Zusammenhang mit der E-Mail-Zustellung. Hier ist eine vollst\u00e4ndige \u00dcbersicht der Mailgun-Ereignisse, die einen Webhook ausl\u00f6sen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Open: Dieses Ereignis tritt jedes Mal auf, wenn ein Empf\u00e4nger eine Nachricht \u00f6ffnet.<\/b> Das \u00d6ffnungs-Tracking wird aktiviert, indem beim Versand einer Nachricht die Parameter O:TRACKING oder O:TRACKING-OPENS verwendet werden.<\/li>\n\n\n\n<li><b>Click: Dieses Ereignis erfasst jeden Klick eines Empf\u00e4ngers auf Links in einer E-Mail-Nachricht.<\/b> Aktivieren Sie das Klick-Tracking, indem Sie beim Versand einer Nachricht die Parameter O:TRACKING oder O:TRACKING-CLICKS verwenden. Wie bei den \u00d6ffnungen m\u00fcssen die entsprechenden CNAME-Eintr\u00e4ge im DNS der nutzenden Person enthalten sein.<\/li>\n\n\n\n<li><b>Unsubscribe<\/b>: <b>Dieses Ereignis tritt auf, wenn ein Empf\u00e4nger auf den Link zum Abmelden in einer Nachricht klickt. <\/b>Nutzen Sie das Abmelde-Tracking von Mailgun, um diese Informationen zu erhalten.<\/li>\n\n\n\n<li><b>Spam Complaint:<\/b> Nicht jeder ISP bietet Support f\u00fcr Feedback-Loop-Benachrichtigungen (\u201eFBL\u201c) bei Spam-Beschwerden. Stellen Sie jedoch sicher, dass Sie Daten von allen ISPs erhalten, die dies unterst\u00fctzen.<\/li>\n\n\n\n<li><b>Bounce: Eine E-Mail-Nachricht wird als \u201eBounce\u201c bezeichnet, falls sie vom SMTP-Server des Empf\u00e4ngers abgelehnt wird.<\/b> Diese werden oft wie folgt in Hard Bounces oder Soft Bounces unterteilt:\n<ul class=\"wp-block-list\">\n<li><b>Dauerhafter Fehler (\u201eHard Bounce\u201c)<\/b>: Der Empf\u00e4nger wird nicht gefunden und der E-Mail-Server des Empf\u00e4ngers gibt an, dass der Empf\u00e4nger nicht existiert. Die App sollte nach einem dauerhaften Fehler den Zustellversuch an ung\u00fcltige Empf\u00e4nger einstellen. <\/li>\n\n\n\n<li><b>Vor\u00fcbergehender Fehler (\u201eSoft Bounce\u201c)<\/b>: Die E-Mail wird aufgrund eines vor\u00fcbergehenden Problems nicht zugestellt, beispielsweise wegen eines vollen Posteingangs. Apps reagieren programmatisch auf vor\u00fcbergehende Fehler, indem sie eine bestimmte Anzahl von erneuten Versuchen durchf\u00fchren, bevor sie die Empf\u00e4ngeradresse aus der Liste entfernen. <\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><b>Delivered<\/b>: <b>Eine erfolgreiche Zustellung liegt vor, wenn der E-Mail-Server des Empf\u00e4ngers zur\u00fcckmeldet, dass er die Nachricht akzeptiert hat. <\/b>Je nach Ereignis liefern Webhooks verschiedene Parameter, die bei der Identifizierung und Beschreibung der jeweiligen Nachricht helfen. Diese Daten lassen sich dann per Skript zur Analyse parsen. Zu den g\u00e4ngigen Parametern geh\u00f6ren:\n<ul class=\"wp-block-list\">\n<li>Ereignis<\/li>\n\n\n\n<li>Empf\u00e4nger<\/li>\n\n\n\n<li>Absenderdomain<\/li>\n\n\n\n<li>Nachrichtenkopfzeilen<\/li>\n\n\n\n<li>Identifizierungsmerkmale des Empf\u00e4ngers: Land, Region, Stadt, Ger\u00e4t, E-Mail-Client und Betriebssystem<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Je nach ESP z\u00e4hlen zu den weiteren Parametern unter anderem benutzerdefinierte Variablen, Tags, Kampagnennamen sowie Authentifizierungs- oder Nutzer-IDs. Dar\u00fcber hinaus bieten einige Ereignisse weitere Details, wie eine angeklickte URL, einen Grund oder eine Beschreibung f\u00fcr ein negatives Ereignis oder spezielle Codes, die spezifische Ereignisdetails liefern.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Webhooks absichern<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Eine empfangende URL muss \u00f6ffentlich zug\u00e4nglich sein.<\/b> Um die Inhalte abzusichern, sollten Webhooks einen Signatur-Zeitstempel sowie ein Token zur Erstellung einer Hashmap enthalten. Eine Hashmap ist lediglich eine Methode, um Elemente mit Identifikatoren zu speichern. Zus\u00e4tzlich verwendet die Hashmap einen API-Schl\u00fcssel, um zu verifizieren, dass die Daten vom ESP des Entwicklungsteams stammen. Programmieren Sie Ihre Anwendung so, dass sie diese Hashmap \u00fcberpr\u00fcft, sie mit der des ESP vergleicht und die POST-Anfrage nur zul\u00e4sst, falls sie \u00fcbereinstimmt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um zu verifizieren, dass der Webhook vom entsprechenden ESP stammt, verkn\u00fcpfen Sie die Werte f\u00fcr Zeitstempel und Token, codieren den resultierenden String mit dem HMAC-Algorithmus (unter Verwendung des vom ESP bereitgestellten API-Schl\u00fcssels als Schl\u00fcssel und des SHA256-Digest-Modus) und vergleichen das resultierende Hex-Digest mit der Signatur. Dar\u00fcber hinaus speichern Sie den Token-Wert lokal im Cache und lehnen alle weiteren Anfragen mit demselben Token ab. Dadurch wird verhindert, dass Hacker das Token verwenden, um Aktionen zu wiederholen oder fehlzuleiten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der von Ihnen zur\u00fcckgegebene Statuscode (z.\u00a0B. 200 OK) teilt dem Absender mit, ob der Webhook erfolgreich verarbeitet wurde. \u00dcberwachen Sie diese Antworten stets, um die Ausfallsicherheit zu gew\u00e4hrleisten. Eine weitere Sicherheitsebene besteht darin, den Zeitstempel zu \u00fcberpr\u00fcfen, um sicherzustellen, dass der POST-Versuch innerhalb eines bestimmten Zeitrahmens erfolgt ist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nachfolgend finden Sie ein Python-Codebeispiel zur Verifizierung einer Webhook-Signatur:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                Python                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-Python\">\r\n                                <code id=\"code_0_content\" class=\"language-Python\">\r\n\r\n                                    import hashlib \r\nimport hmac \r\n\r\ndef verify(api_key, token, timestamp, signature): \r\n    message = f&quot;{timestamp}{token}&quot; \r\n    expected_signature = hmac.new( \r\n        key=api_key.encode(), \r\n        msg=message.encode(), \r\n        digestmod=hashlib.sha256 \r\n    ).hexdigest() \r\n    return signature == expected_signature\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n    <div data-content-type=\"longform\"  class=\"callout text-body-color px-5 py-6 px-md-6 px-lg-7 py-md-7 longform-spacings rounded-lg bg-light\" data-theme=\"light\">\r\n\r\n        <div class=\"content-body\"> Zudem lassen sich Polling-Mechanismen f\u00fcr Systeme konfigurieren, die keine Webhooks unterst\u00fctzen. <a href=\"https:\/\/documentation.mailgun.com\/docs\/mailgun\/user-manual\/get-started\/\">Unsere Events API<\/a> ist daf\u00fcr hervorragend geeignet, sollte jedoch ein Fallback und nicht der Standard sein. Echtzeit-Daten sind entscheidend.<\/div>\r\n    <\/div>\r\n\n\n\n<h2 class=\"wp-block-heading\">Webhooks mit Mailgun erstellen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vollst\u00e4ndige Informationen und den Code zum Erstellen und L\u00f6schen verschiedener Arten von Webhooks finden Sie in unserer <a href=\"https:\/\/documentation.mailgun.com\/en\/latest\/api-webhooks.html?highlight=webhook#webhooks\" target=\"_tabs\" rel=\"noopener noreferrer\">Dokumentation<\/a>, jedoch haben wir nachfolgend einige g\u00e4ngige Beispiele aufgef\u00fchrt. Sehen Sie sich diese an. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00dcber unsere API erstellen Sie ganz einfach einen neuen Webhook:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    POST \/domains\/\/webhooks\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Oder Sie aktualisieren einen bestehenden:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    PUT \/domains\/\/webhooks\/\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Alternativ l\u00f6schen Sie einen bestehenden Webhook ganz einfach:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    DELETE \/domains\/\/webhooks\/\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Dar\u00fcber hinaus rufen Sie f\u00fcr weitere Informationen zu Ihren Webhooks Details zu jeder beliebigen Webhook-URL ab:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    GET \/domains\/\/webhooks\/\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Nat\u00fcrlich w\u00fcrden wir den Rahmen sprengen, wenn wir Beispiele f\u00fcr alle M\u00f6glichkeiten zeigen w\u00fcrden, wie Sie unsere API zur Erstellung und Optimierung Ihrer Webhooks nutzen k\u00f6nnen. Der Punkt ist, Sie haben quasi freie Hand (wir verraten es auch nicht weiter).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mailgun macht es einfach<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Obwohl es mehrere Methoden gibt, um auf die durch die E-Mail-Zustellung generierten Daten zuzugreifen, einschlie\u00dflich ESP-Dashboards und API-Aufrufen, sollten Sie sich das Leben leichter machen und ein paar Webhooks einsetzen. Sie sind die flexibelste und effizienteste Methode, um granulare E-Mail-Nachrichtendaten zu sammeln.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anstatt Daten von Ihrem ESP abzurufen, entscheiden Sie sich f\u00fcr den kontinuierlichen Erhalt von Push-Daten rund um E-Mails in Echtzeit. Mailgun macht den Umgang mit Webhooks einfach. Das erleichtert Teams die Arbeit, die diese Echtzeit-Informationen nutzen, um Entscheidungen f\u00fcr aktuelle und k\u00fcnftige E-Mail-Kampagnen \u00fcber verschiedene Web-Anwendungen und -Dienste hinweg zu treffen. Gro\u00dfartig, oder?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wissen Sie, was noch gro\u00dfartig ist? Weitere Informationen zu Webhooks. Eine einfache Schritt-f\u00fcr-Schritt-Anleitung zur Nutzung von Webhooks mit Mailgun finden Sie in unserer Dokumentation zu <a href=\"https:\/\/documentation.mailgun.com\/en\/latest\/user_manual.html#webhooks\" target=\"_tabs\" rel=\"noopener noreferrer\">Webhooks<\/a>. F\u00fcr weitere tiefe Einblicke dieser Art abonnieren Sie unseren Newsletter. Webhooks sind n\u00e4mlich nicht die einzige M\u00f6glichkeit, um an granulare Daten zu gelangen.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"longform-spacings\">\r\n        <div class=\"cta bg-primary rounded-lg px-5 py-6 p-md-7 px-md-6\">\r\n                    <div class=\"form-subscription\">\r\n                            <div class=\"h4 mb-3\">\r\n                    Bleiben Sie informiert! Erhalten Sie jede Woche wertvolle Inhalte direkt in Ihr Posteingang.                <\/div>\r\n                                    <form accept-charset=\"UTF-8\" action=\"\" enctype=\"multipart\/form-data\" data-form-subscription method=\"POST\" style=\"max-width: 400px;\">\r\n                <div class=\"row justify-content-between align-items-top g-2\">\r\n                    <div class=\"col-10\">\r\n                        <input type=\"email\" name=\"email\" class=\"form-control\" placeholder=\"Email\" autocomplete=\"email\" required>\r\n                        <div data-fs=\"error\" role=\"alert\" class=\"invalid-feedback\">\r\n                            Please complete this required field.                        <\/div>\r\n                    <\/div>\r\n                                            <div class=\"col-12 order-last mt-3 fs-xxs\" data-fs=\"acceptance\" style=\"display:none;\">\r\n                            \r\n                                <div class=\"form-check\">\r\n                                    <input id=\"formSubscriptionAcceptance-terms-1223\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"terms\">\r\n                                    <label for=\"formSubscriptionAcceptance-terms-1223\" class=\"form-check-label text-body-color\">\r\n                                        Ich habe die Servicebedingungen gelesen und stimme ihnen zu.                                        <span class=\"hs-form-required\">*<\/span>\r\n                                    <\/label>\r\n                                <\/div>\r\n\r\n                            \r\n                                <div class=\"form-check\">\r\n                                    <input id=\"formSubscriptionAcceptance-privacy-3835\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"privacy\">\r\n                                    <label for=\"formSubscriptionAcceptance-privacy-3835\" class=\"form-check-label text-body-color\">\r\n                                        Ich habe die Datenschutzerkl\u00e4rung gelesen und bin damit einverstanden.                                        <span class=\"hs-form-required\">*<\/span>\r\n                                    <\/label>\r\n                                <\/div>\r\n\r\n                                                    <\/div>\r\n                    \r\n                                            <div class=\"col-12 order-last fs-xxs mb-0 mt-2 text-body-color\">\r\n                            Senden Sie mir den Mailjet-Newsletter. Ich bin mit dem Erhalt des Newsletters einverstanden und wei\u00df, dass ich mich jederzeit unkompliziert wieder abmelden kann.                        <\/div>\r\n                    \r\n                    <div class=\"col-2\">\r\n                        <button type=\"submit\" value=\"Submit\" aria-label=\"Submit\" class=\"btn btn-secondary btn-icon\">\r\n                            <svg aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/layout\/chevron-right.svg\"><\/svg>\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <input type=\"hidden\" name=\"formSubscriptionRecaptchaToken\" data-fs=\"recaptcha-token\">\r\n                <input type=\"hidden\" name=\"customListID\" value=\"\">\r\n\r\n            <\/form>\r\n            <div data-fs=\"message-success\" style=\"display: none;\">\r\n                <p class=\"mb-0 mt-2 text-body-color\">\r\n                    Pr\u00fcfen Sie Ihren Posteingang jeden Monat auf Ihren Mailjet Newsletter!                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n        <\/div>\r\n    <\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>Webhooks werden durch Ereignisse ausgel\u00f6st und sind eine einfache M\u00f6glichkeit f\u00fcr Entwickler, E-Mail-Kampagnen und Programme, die Bounces, Abmeldungen, Spam-Berichte und mehr verarbeiten, in Echtzeit zu \u00fcberwachen. Falls Sie SaaS-Tools entwickeln, E-Commerce-Workflows verwalten oder einfach den Datentransfer zwischen verschiedenen Anwendungen optimieren m\u00f6chten, ist dieser Leitfaden genau das Richtige f\u00fcr Sie.<\/p>\n","protected":false},"author":13,"featured_media":4074,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[20],"class_list":["post-20195","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-email"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Was ist ein Webhook? Der ultimative Leitfaden f\u00fcr Webhooks - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Wenn das Entwicklungsteam Apps erstellt, die den Versand von E-Mails beinhalten, ist die Erstellung von Webhooks einer der wichtigsten Schritte. Erfahren Sie, wie Sie die Performance im Blick behalten.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Was ist ein Webhook? Der ultimative Leitfaden f\u00fcr Webhooks - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Wenn das Entwicklungsteam Apps erstellt, die den Versand von E-Mails beinhalten, ist die Erstellung von Webhooks einer der wichtigsten Schritte. Erfahren Sie, wie Sie die Performance im Blick behalten.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-14T22:52:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/ihr-leitfaden-fuer-webhooks\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/ihr-leitfaden-fuer-webhooks\\\/\",\"name\":\"Was ist ein Webhook? Der ultimative Leitfaden f\u00fcr Webhooks - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/ihr-leitfaden-fuer-webhooks\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/ihr-leitfaden-fuer-webhooks\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Email.png\",\"datePublished\":\"2025-05-20T00:00:00+00:00\",\"dateModified\":\"2026-09-14T22:52:23+00:00\",\"description\":\"Wenn das Entwicklungsteam Apps erstellt, die den Versand von E-Mails beinhalten, ist die Erstellung von Webhooks einer der wichtigsten Schritte. Erfahren Sie, wie Sie die Performance im Blick behalten.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/ihr-leitfaden-fuer-webhooks\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/ihr-leitfaden-fuer-webhooks\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/ihr-leitfaden-fuer-webhooks\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Email.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Email.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/ihr-leitfaden-fuer-webhooks\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Ihr Leitfaden f\u00fcr die Nutzung von Webhooks\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Leistungsstarke Transaktions-E-Mail-APIs, mit denen Sie E-Mails senden, empfangen und nachverfolgen k\u00f6nnen, speziell f\u00fcr Entwickler konzipiert. Erfahren Sie noch heute mehr!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"Transactional Email API Service For Developers | Mailgun\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Was ist ein Webhook? Der ultimative Leitfaden f\u00fcr Webhooks - Transactional Email API Service For Developers | Mailgun","description":"Wenn das Entwicklungsteam Apps erstellt, die den Versand von E-Mails beinhalten, ist die Erstellung von Webhooks einer der wichtigsten Schritte. Erfahren Sie, wie Sie die Performance im Blick behalten.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/","og_locale":"de_DE","og_type":"article","og_title":"Was ist ein Webhook? Der ultimative Leitfaden f\u00fcr Webhooks - Transactional Email API Service For Developers | Mailgun","og_description":"Wenn das Entwicklungsteam Apps erstellt, die den Versand von E-Mails beinhalten, ist die Erstellung von Webhooks einer der wichtigsten Schritte. Erfahren Sie, wie Sie die Performance im Blick behalten.","og_url":"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","article_modified_time":"2026-09-14T22:52:23+00:00","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/","url":"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/","name":"Was ist ein Webhook? Der ultimative Leitfaden f\u00fcr Webhooks - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","datePublished":"2025-05-20T00:00:00+00:00","dateModified":"2026-09-14T22:52:23+00:00","description":"Wenn das Entwicklungsteam Apps erstellt, die den Versand von E-Mails beinhalten, ist die Erstellung von Webhooks einer der wichtigsten Schritte. Erfahren Sie, wie Sie die Performance im Blick behalten.","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/ihr-leitfaden-fuer-webhooks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/de\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/de\/blog\/"},{"@type":"ListItem","position":3,"name":"Ihr Leitfaden f\u00fcr die Nutzung von Webhooks"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/de\/#website","url":"https:\/\/www.mailgun.com\/de\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Leistungsstarke Transaktions-E-Mail-APIs, mit denen Sie E-Mails senden, empfangen und nachverfolgen k\u00f6nnen, speziell f\u00fcr Entwickler konzipiert. Erfahren Sie noch heute mehr!","publisher":{"@id":"https:\/\/www.mailgun.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/de\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","width":512,"height":512,"caption":"Transactional Email API Service For Developers | Mailgun"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/20195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/users\/13"}],"version-history":[{"count":1,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/20195\/revisions"}],"predecessor-version":[{"id":20196,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/20195\/revisions\/20196"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media\/4074"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media?parent=20195"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog_category?post=20195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}