Webhook: カスタムスクリプトへのフォーム送信の受信

自動通知システムである Webhook を使用して、カスタム スクリプトへのフォーム送信を受信します。キャプチャされたデータは、POST 経由で配信されます。
Webhook を有効にするには、[サイトの設定] → [フォーム] → Webhook に移動します。
スクリプトのアドレスを入力します。クッキーを送信する必要がある場合は、チェックボックスを選択してください。変更を保存します。
ノート: スクリプトへのリンクが利用可能で、スクリプトが 5 秒以内に応答する必要があります。そうしないと、データは送信されず、システムは 1 分間に 1 回、さらに 2 回送信を試みます。
: スクリプトでは、セキュリティで保護された HTTPS プロトコルを使用する必要があります。
ページに移動し、フォームブロックのコンテンツパネルで「WEBHOOK」チェックボックスを選択します。

「保存して閉じる」をクリックし、ページを公開します。誰かがフォームに記入すると、データはサイト設定で指定したスクリプトのアドレスにPOST経由で送信されます。
提出物をメールに送信するスクリプトのサンプル
スクリプトをサーバーに配置し、そのアドレスを Webhook 設定に追加します。その後、キャプチャしたデータをメールで受信し始めます。
製品データの転送
Webhook サービス設定では、製品データをスクリプトに転送するための追加設定を見つけることができます: 配列内の順序で製品データを転送し、他のシステムから externalid (外部コード) を転送します。
Externalid チェックボックスは、製品データを配列として転送するオプションを選択した場合にのみ使用できます。これを選択すると、カタログ内の製品の externalid が転送され、この製品が外部システムに接続されます。
PHP で詳細情報を取得して変数を取得する方法
すべてのフィールドと値からデータを変更せずに取得するには、$_POST 変数にアクセスする必要があります。 $_POST は連想配列です。次に例を示します。
Email=test%40email.com Name=test+name Phone=0123456789 Comments=example+comment Selectbox=red Checkbox=yes Date=25-03-2017 Time=17%3A59 Quantity=124 Url=website.com
特定のフィールドに関する情報を取得するには、$_POST["Date"]のように、配列要素に名前でアクセスする必要があります。ここで、"Date" はフォームフィールドで指定された変数名です。

フィールドにコメントを追加する場合は、次の例を使用できます。
$value){
  if($key == "日付") {
    $message .= "ホテルのチェックアウト日";
  } else {
    $message .= $key;
  }
  $message .= ": " .$value ."\n";
}

$message = print_r($message, true);

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

echo "ok";

>
フィールドの変数名を変更しない場合、最初の文字が大文字のフィールド名に関連する情報を取得します。

特定のフィールドに別の変数名を設定した場合、そこから取得する情報は次のようになります。
customnamefield=黄色
フォーム フィールドのデータに加えて、次のデータも取得できます。
tranid=467251%3A8442970 formid=form48844953
ここで、「tranid」は「Leads」セクションのリードID(一意のリード番号)を指し、「formid」はブロックID(データ送信に使用されたブロックの一意の番号)を指します。

たとえば、"@" 記号は "%40" に置き換えられ、コロン記号 (":") は "%3a" に置き換えられます。これらの文字をデコードするには、関数 urldecode を使用します。(https://www.php.net/manual/en/function.urldecode.php)。

フォームの回答が送信されたアドレスを取得する方法

$_SERVER["HTTP_REFERER"] 変数にアクセスして、Webhook 経由でフォーム応答が送信されたアドレスを取得できます。

Cookieファイルの取得方法(オプション)

Webhook 設定の [Cookie を送信] チェックボックスをオンにすると、Cookie ファイルがあるたびにフォームに COOKIES フィールドが含まれるようになります。
COOKIES=_ga%3DGA1.2.1861016115.1519204131%3B+_ym_uid%3D2021810468765220932
ユーザーが以前にWebサイトにアクセスしたことがない場合、フォーム応答を含むCookieファイルは受信されないことに注意してください。ユーザーが UTM タグを使用してウェブページにアクセスし、その後 30 日以内にウェブサイトに戻った場合、Cookie ファイルには次のような UTM パラメータが含まれます。
COOKIES=TILDAUTM%3Dutm_source%253Dyandex%257C%257C%257Cutm_medium%253Dcpc%257C%257C%257Cutm_campaign%253Dpromo%257C%257C%257Cutm_content%253Dblocktext%257C%257C%257Cutm_term%Cutm_term%C2C%253D
次のサービスを使用して、フォームの回答からのフィールドのデータがどのように表示されるかを確認できます。
http://requestcatcher.com
https://webhook.site
注:残念ながら、Tildaサポートチームはカスタムコードに関連する質問を支援しません。
作成日
Tilda