I have a form in Typeform, So if an user enter his details the details should be send via webhook api and it should be stored in my Wordpress website that's what I'm looking for . 1st doing API so I'm looking for some code or functions to get datas from the Form url of the typeform. Without Plugin so I want to learn through codes ..
First you need to build your own API endpoint to receive Typeform Webhook payload. I assume you will be building this in PHP since you are using Wordpress.
You can create a webhook.php
file in your Wordpress installation, eg. in /wp-content
directory:
<?php
$headers = getallheaders();
$header_signature = $headers["Typeform-Signature"];
$secret = "abc123"; // replace with a unique webhook secret
$payload = @file_get_contents("php://input");
$hashed_payload = hash_hmac("sha256", $payload, $secret, true);
$base64encoded = "sha256=".base64_encode($hashed_payload);
if ($header_signature !== $base64encoded) {
die("invalid signature");
}
// now you can process webhook payload
// see https://developer.typeform.com/webhooks/example-payload/
$data = json_decode($payload);
$definition = $data->form_response->definition; // form definition
$answers = $data->form_response->answers; // respondent answers
// you could save it to your wordpress database
// code below depends on what questions you have in your typeform
require_once "../wp-load.php";
global $wpdb; // see https://developer.wordpress.org/reference/classes/wpdb/
$wpdb->insert('my_typeform_data', array(
'name' => $answers[0]->text,
'phone_number' => $answers[1]->phone_number
));
Now you can setup webhook for your typeform:
https://example.com/wp-content/webhook.php
To secure your webhook:
$secret
variable above)For testing: