Webhook: Empfangen von Formularübermittlungen an benutzerdefinierte Skripte

Verwenden Sie Webhooks, ein System automatischer Benachrichtigungen, um Formularübermittlungen an benutzerdefinierte Skripte zu empfangen. Die erfassten Daten werden Ihnen per POST zugestellt.
Um Webhook zu aktivieren, gehen Sie zu Website-Einstellungen → Formulare → Webhook.
Geben Sie die Adresse Ihres Skripts ein. Wenn es notwendig ist, Cookies zu senden, aktivieren Sie das Kontrollkästchen. Speichern Sie die Änderungen.
Hinweis: Der Link zum Skript muss verfügbar sein, und das Skript muss innerhalb von fünf Sekunden antworten. Andernfalls werden die Daten nicht gesendet, und das System unternimmt zwei weitere Versuche, sie zu senden, einen Versuch pro Minute.
Hinweis: Ihr Skript muss das sichere HTTPS-Protokoll verwenden.
Rufen Sie die Seite auf und aktivieren Sie das Kontrollkästchen "WEBHOOK" im Inhaltsbereich des Formularblocks.

Klicken Sie auf "Speichern und schließen", und veröffentlichen Sie die Seite. Wenn jemand das Formular ausfüllt, werden die Daten per POST an die Adresse des Skripts gesendet, das Sie in den Site-Einstellungen angegeben haben.
Ein Beispiel für ein Skript zum Senden von Beiträgen an Ihre E-Mail
Platzieren Sie das Skript auf Ihrem Server und fügen Sie seine Adresse zu den Webhook-Einstellungen hinzu. Danach werden Sie die erfassten Daten per E-Mail erhalten.
<?php

header('Access-Control-Allow-Origin: *');

$headers = "From: from@webhookservesite.com";​ 
/* change this sample email address to the valid email that you would like to receive letters from  */
​
 $message = print_r($_POST,true);
 @mail('to@mail.com', 'Tilda TEST', $message, $headers);
/* change this sample email address to the valid email that you would like to receive submissions to  */

echo"ok";

?>
Übertragung von Produktdaten
In den Einstellungen des Webhook-Dienstes finden Sie zusätzliche Einstellungen für die Übertragung von Produktdaten an das Skript: Übergabe von Produktdaten in der Reihenfolge in Arrays und Übergabe von externalid (externer Code) aus anderen Systemen.
Das Kontrollkästchen externalid ist nur verfügbar, wenn Sie die Option wählen, Produktdaten als Arrays zu übertragen. Wenn Sie es aktivieren, wird die externalid des Produkts im Katalog übertragen, um dieses Produkt mit dem externen System zu verbinden.
Wie man mehr Informationen erhält und Variablen in PHP abruft
Um Daten aus allen Feldern und Werten ohne Änderungen abzurufen, müssen Sie auf die Variable $_POST zugreifen. $_POST ist ein assoziatives Array, zum Beispiel:
E-Mail=test%40email.com 
Name=test+name 
Telefon=0123456789 
Kommentare=Beispiel+Kommentar 
Selectbox=rot 
Kontrollkästchen=ja 
Datum=25-03-2017 
Uhrzeit=17%3A59 
Anzahl=124 
Url=website.de
Um Informationen über ein bestimmtes Feld abzurufen, müssen Sie auf das Array-Element über den Namen zugreifen, z. B. $_POST["Date"], wobei "Date" ein Variablenname ist, der im Formularfeld angegeben wurde.

Wenn Sie Ihre Kommentare zu den Feldern hinzufügen möchten, können Sie dies mit diesem Beispiel tun:
<?php

header('Access-Control-Allow-Origin: *');

$headers = "From: from@webhookservesite.ru";​

$message = "";

foreach($_POST as $key => $value) {
  if($key == "Date") {
    $message .= "Hotel check out date"; 
  } else { 
    $message .= $key; 
  }
  $message .= ": " . $value . "\n"; 
} 

$message = ​print_r($message, true);

@mail('to@mail.com', 'Tilda TEST', $message, $headers);

echo "ok";

?> 
Wenn Sie die Variablennamen der Felder nicht ändern, rufen Sie die Informationen ab, die sich auf die Feldnamen beziehen, deren erste Buchstaben in Großbuchstaben geschrieben sind.

Wenn Sie einen anderen Variablennamen für ein bestimmtes Feld festgelegt haben, sehen die abgerufenen Informationen wie folgt aus:
customnamefield=gelb
Zusätzlich zu den Daten der Formularfelder können Sie auch die folgenden Daten abrufen:
tranid=467251%3A8442970
formid=form48844953
wobei sich "tranid" auf die Lead-ID (eine eindeutige Lead-Nummer) aus dem Abschnitt "Leads" und "formid" auf die Block-ID (die eindeutige Nummer des Blocks, der für die Datenübermittlung verwendet wurde) bezieht.

Einige Zeichen werden vor der Übertragung von Formularantworten ersetzt, z. B. wird das "@"-Zeichen durch "%40" ersetzt, das Doppelpunkt-Zeichen (":") wird durch "%3a" ersetzt. Um diese Zeichen zu dekodieren, können Sie die Funktion urldecode verwenden.(https://www.php.net/manual/en/function.urldecode.php).

Abrufen der Adresse, von der die Formularantwort übermittelt wurde

Sie können auf die Variable $_SERVER["HTTP_REFERER"] zugreifen, um die Adresse abzurufen, von der die Formularantwort über einen Webhook übermittelt wurde.

Abrufen einer Cookie-Datei (optional)

Aktivieren Sie das Kontrollkästchen "Cookies senden" in den Webhook-Einstellungen, wenn Sie möchten, dass das Formular das Feld COOKIES enthält, wenn beispielsweise eine Cookie-Datei vorhanden ist:
COOKIES=_ga%3DGA1.2.1861016115.1519204131%3B+_ym_uid%3D2021810468765220932 
Bitte beachten Sie, dass Sie keine Cookie-Datei mit der Antwort auf das Formular erhalten, wenn der Nutzer Ihre Website noch nie besucht hat. Wenn der Nutzer eine Webseite mit einem UTM-Tag besucht hat und spätestens 30 Tage danach auf die Website zurückgekehrt ist, enthält die Cookie-Datei z. B. UTM-Parameter:
COOKIES=TILDAUTM%3Dutm_source%253Dyandex%257C%257C%257Cutm_medium%253Dcpc%257C%257C%257Cutm_campaign%253Dpromo%257C%257C%257Cutm_content%253Dblocktext%257C%257C%257Cutm_term%253Dpoisk%257C%257C%257C 
Sie können die folgenden Dienste verwenden, um zu überprüfen, wie die Daten der Felder aus den Formularantworten aussehen:
http://requestcatcher.com
https://webhook.site
Hinweis: Das Support-Team von Tilda hilft leider nicht bei Fragen im Zusammenhang mit benutzerdefinierten Codes.
Hergestellt am
Tilda