Cómo utilizar Webhooks

Cómo conectar fácilmente Marquiz con otras aplicaciones

¿Por qué utilizar Webhooks?

Puedes alertar a aplicaciones web de terceros sobre leads entrantes. Los datos de los nuevos leads pueden enviarse a una URL especificada en la configuración del cuestionario. Tendrías que recibir estos datos por tu parte con un script y enviarlos a un servicio de tu elección. Este método sería una solución perfecta para la integración con tu sistema CRM o con servicios para los que aún no proporcionamos una integración respaldada directamente.

Se enviará una solicitud POST a la URL especificada. Puedes probar la recepción de leads en la página web del Webhook.

Aviso importante: El script del hook debe mostrar un estado positivo durante la recepción de leads (por ejemplo, 20* - 200, 204, etc.).

Para añadir la dirección de recepción del webhook a tu cuestionario, ve a "Integrations" (Integraciones) en tu "Editor de cuestionarios" (Quiz editor) y haz clic en el botón "Webhooks".

How to easily connect Marquiz with other apps (Webhooks)

En el menú que aparece, inserta el enlace que lleva a tu script de webhook y no olvides guardar el cuestionario haciendo clic en el botón “Guardar” (Save).

How to easily connect Marquiz with other apps (Webhooks) 1

How to easily connect Marquiz with other apps (Webhooks) 3

Los datos de los leads enviados a la dirección especificada tendrán este aspecto:

{
"raw": [
{
"q": "ab6c5412-5c7f-489d-8d79-173ce632930e",
"a": "3f0bb0ea-fc31-4b49-86b5-337ca0cf86da"
},
{
"q": "d337ecb3-b903-4664-94c1-16acf2c2e3bb",
"a": "f3d4933b-6af3-48a9-a836-0173bbbf6415"
}
],
"answers": [
{
"q": "What is your total sum of loans in USD?*",
"a": "More than 100 000 USD."
},
{
"q": "What is your current loan delay?",
"a": "1 to 3 months"
}
],
"contacts": {
"name": "Name",
"email": "email@email.com",
"phone": "+12342345678"
},
"quiz": {
"id": "600920a2de60d9004900edb9",
"name": "Gift generator🌟"
},
"created": "2018-12-19T10:23:25.796Z",
"extra": {
"href": "http://example.com",
"utm": {
"source": "test_source",
"medium": "test_medium",
"name": "test_campaign", // Campaign
"content": "test_content",
"term": "test_term"
},
"cookies": {
"roistat_visit": "95852",
"roistat_marker": "example.com",
"roistat_marker_old": "example.com",
"roistat_call_tracking": "1",
"roistat_emailtracking_email": "null",
"_ga": "GA1.3.2016698540.1531763909"
},
"discount": 3,
"discountType": "melting",
"discountCurrency": "$",
"currency": "USD",
"currencySymbol": "$",
"notify": "now",
"ab": "A", (if A/B testing is enabled)
"timezone": 5,
"lang": "en",
"referrer": "http://example.com"
"ip": "111.11.111.111"
}
"result": {
"id": "OBq5B3FYI6",
"title": "Result header",
"cost": "1500",
"minCost": null,
"maxCost": null
}
}


Código PHP para la recepción de nuevos leads:

$data = json_decode(file_get_contents('php://input'), true);

$answers = $data['answers'];
$phone = $data['contacts']['phone'];
$email = $data['contacts']['email'];
$name = $data['contacts']['name'];
$createdDate = strtotime($data['created']);
$utm = $data['extra']['utm'];
$rawAnswers = $data['raw'];

// Do anything

http_response_code(200);
exit;


Plantilla de código para la recepción por separado de datos de preguntas y respuestas:

$i = 0;
$arr = array();
foreach($answers as $key=>$value){
$arr[$i][$key] = $value;
$i++;
}

//-------------First QUESTION------------------------ //
$question1 = $arr[0][0]["q"]; // Question №1
$answer1 = $arr[0][0]["a"]; // Answer №1

//-------------Second QUESTION------------------------ //
$question2 = $arr[1][1]["q"]; // Question №2
$answer2 = $arr[1][1]["a"]; // Answer №2

//-------------Third QUESION------------------------ //
$question3 = $arr[2][2]["q"]; // Question №3
$answer3 = $arr[2][2]["a"]; // Answer №3

👆 You’re all caught up