Как интегрировать квиз через Webhooks?

Инструкция по интеграции квиза через Webhooks

Для чего нужен Webhooks?

Вы можете оповещать сторонние приложения о поступивших заявках. На указанный в настройках квиза URL будут отправляться данные о новой заявке. Вам необходимо с помощью скрипта принять данные и отправить их в сторону требуемого сервиса. Данный способ подойдёт для интеграций со своей CRM или с сервисами, с которыми у нас ещё нет интеграции.

На указанный URL будет отправлен POST-запрос.  Протестировать получение заявок можно с помощью  http://webhook.site

Скрипт хука должен обязательно отдавать положительный статус при приёме заявок (20* - 200, 204 и т.п.)

Формат данных:

{
"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": "Какая сумма Вашей задолженности перед кредитными организациями в рублях?*",
"a": "Более 1 000 000 руб."
},
{
"q": "Срок просрочки по кредитам?",
"a": "от 1 до 3 месяцев"
}
],
"contacts": {
"name": "Имя",
"email": "email@email.ru",
"phone": "89851234567"
},
"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"
},
"notify": "now"
}
}

Код PHP для получения данных о новой заявке:

$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;

Образец кода для получения вопроса/ответа по отдельности:

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

}


//-------------Первый ВОПРОС------------------------ //

$question1 = $arr[0][0]["q"]; // Вопрос №1
$answer1 = $arr[0][0]["a"]; // Ответ на вопрос №1

//-------------Второй ВОПРОС------------------------ //
$question2 = $arr[1][1]["q"]; // Вопрос №2
$answer2 = $arr[1][1]["a"]; // Ответ на вопрос №2

//-------------Третий ВОПРОС------------------------ //
$question3 = $arr[2][2]["q"]; // Вопрос №3
$answer3 = $arr[2][2]["a"]; // Ответ на вопрос №3

👆 На этом пока всё