Webhook: Odbieranie zgłoszeń formularzy do skryptów niestandardowych

Użyj webhooków, systemu automatycznych powiadomień, aby otrzymywać zgłoszenia formularzy do niestandardowych skryptów. Przechwycone dane zostaną dostarczone za pomocą metody POST.
Aby aktywować Webhook, przejdź do Ustawienia strony → Formularze → Webhook.
Wprowadź adres skryptu. Jeśli konieczne jest wysyłanie plików cookie, zaznacz pole wyboru. Zapisz zmiany.
Uwaga: Link do skryptu musi być dostępny, a skrypt musi odpowiedzieć w ciągu pięciu sekund. W przeciwnym razie dane nie zostaną wysłane, a system podejmie jeszcze dwie próby ich wysłania, jedną na minutę.
Uwaga: skrypt musi korzystać z bezpiecznego protokołu HTTPS.
Przejdź do strony i zaznacz pole wyboru "WEBHOOK" w panelu zawartości bloku formularza.

Kliknij "Zapisz i zamknij", a następnie opublikuj stronę. Gdy ktoś wypełni formularz, dane zostaną wysłane metodą POST na adres skryptu określony w ustawieniach strony.
Przykładowy skrypt do wysyłania zgłoszeń na adres e-mail
Umieść skrypt na swoim serwerze i dodaj jego adres do ustawień Webhook. Następnie zaczniesz otrzymywać przechwycone dane pocztą elektroniczną.

<?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";

?>
Przesyłanie danych produktu
W ustawieniach usługi Webhook można znaleźć dodatkowe ustawienia dotyczące przesyłania danych produktu do skryptu: Przesyłanie danych produktu w kolejności w tablicach oraz Przesyłanie externalid (kodu zewnętrznego) z innych systemów.
Pole wyboru externalid jest dostępne tylko w przypadku wybrania opcji przesyłania danych produktów jako tablic. Po jego zaznaczeniu identyfikator zewnętrzny produktu w katalogu zostanie przesłany w celu połączenia tego produktu z systemem zewnętrznym.
Jak uzyskać więcej informacji i pobrać zmienne w PHP
Aby pobrać dane ze wszystkich pól i wartości bez zmian, należy uzyskać dostęp do zmiennej $_POST. $_POST jest tablicą asocjacyjną, na przykład:

Email=test%40email.com 
Name=test+name 
Telefon=0123456789 
Komentarze=przykład+komentarz 
Selectbox=czerwony 
Pole wyboru=tak 
Data=25-03-2017 
Czas=17%3A59 
Ilość=124 
Url=website.com
Aby pobrać informacje o konkretnym polu, należy uzyskać dostęp do elementu tablicy według nazwy, takiej jak $_POST["Date"], gdzie "Date" to nazwa zmiennej, która została określona w polu formularza.

Jeśli chcesz dodać komentarze do pól, możesz użyć tego przykładu, aby to zrobić:

<?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";

?> 
Jeśli nazwy zmiennych pól nie zostaną zmienione, pobrane zostaną informacje związane z nazwami pól, w których pierwsze litery są wielkie.

Jeśli dla danego pola ustawiono inną nazwę zmiennej, pobrane z niego informacje będą wyglądać następująco:

customnamefield=żółty
Oprócz danych pól formularza można również pobrać następujące dane:

tranid=467251%3A8442970
formid=form48844953
gdzie "tranid" odnosi się do Lead ID (unikalnego numeru leadu) z sekcji "Leads", a "formid" odnosi się do Block ID (unikalnego numeru bloku, który został użyty do przesłania danych).

Niektóre znaki zostaną zastąpione przed przesłaniem odpowiedzi formularza, np. znak "@" zostanie zastąpiony znakiem "%40", znak dwukropka (":") zostanie zastąpiony znakiem "%3a". Aby zdekodować te znaki, można użyć funkcji urldecode.(https://www.php.net/manual/en/function.urldecode.php).

Jak pobrać adres, z którego przesłanoodpowiedź formularza

Możesz uzyskać dostęp do zmiennej $_SERVER["HTTP_REFERER"], aby pobrać adres, z którego przesłano odpowiedź formularza za pośrednictwem webhooka.

Jak uzyskać plik cookie (opcjonalnie)

Zaznacz pole wyboru "Wyślij pliki cookie" w ustawieniach webhook, jeśli chcesz, aby formularz zawierał pole COOKIES za każdym razem, gdy istnieje plik cookie, na przykład:

COOKIES=_ga%3DGA1.2.1861016115.1519204131%3B+_ym_uid%3D2021810468765220932 

Należy pamiętać, że nie otrzymasz pliku cookie z odpowiedzią na formularz, jeśli użytkownik nigdy wcześniej nie odwiedził Twojej witryny. Jeśli użytkownik odwiedził stronę internetową z tagiem UTM i powrócił na stronę nie później niż 30 dni po tym, plik cookie będzie zawierał parametry UTM, na przykład:

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 

Możesz skorzystać z następujących usług, aby sprawdzić, jak wyglądają dane pól pochodzące z odpowiedzi formularza:
http://requestcatcher.com
https://webhook.site
Uwaga: Niestety, zespół wsparcia Tilda nie odpowiada na pytania związane z kodami niestandardowymi.
Wykonane na
Tilda