@parzif4l

Как словить данные с вебхука из Elementor Pro Form?

В Elementor Pro Form, Webhook URL указываю ссылку - http://scripts/webhookformtg.php?name=[field id="name"]&tel=[field id="tel"]&vopros=[field id="vopros"]

Пробовал ниже указанный код, но он не работает.
$deal_tel = $_GET['tel'];
$deal_name = $_GET['name']; 
$deal_vopros = $_GET['vopros'];


Кажется я что то я не понимаю, буду рад любой подсказке куда рыть.
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
@parzif4l Автор вопроса
Решение:

Webhook = http://scripts/webhookformtg.php

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $encodedData = file_get_contents('php://input');
}


А если кому интересно отправка лидов из формы Elementor Pro Form в телеграм:

<?php
// Юзал библиотеку "irazasyed/telegram-bot-sdk": "dev-master"
include('vendor/autoload.php'); 
use Telegram\Bot\Api;

 // Токен бота
$telegram = new Api('5063232304:AAFtmlcBuRQpYUtzd3biba5ZUwzRy0ZoYws');
// id чата, getupdates в помощь вам
$chat_id = -955466225; 
$result = $telegram->getWebhookUpdates();
$result = json_decode($result, true);

$callback_data = $result['callback_query']['data'];
$callback_id = $result['callback_query']['message']['chat']['id'];
$callback_message_text = $result['callback_query']['message']['text'];
$callback_message_id = $result['callback_query']['message']['message_id'];
$callback_from = $result['callback_query']['from']['first_name'];
$text_message = $result['message']['text'];

// Перехват инфы из webhook-a
if ($_SERVER['REQUEST_METHOD'] === 'POST') { 
    $encodedData = file_get_contents('php://input');
} 

// Функция расшифровки данных полученных из webhook
function decodeData($encodedData) { 
    $decodedData = [];
    parse_str(urldecode($encodedData), $decodedData);
    return $decodedData;
}

// Расшифровка данных полученных из webhook
$decodedData = decodeData($encodedData);
//Пустой массив для хранения данных
$dataArray = []; 

//Перебор данных в массив с ключами
foreach ($decodedData as $key => $value) {
    $dataArray[$key] = $value; 
}

// Тект/заголовки
$form       = "<strong>Форма:</strong>   ";
$comment    = "<strong>Комментарий:</strong>   ";
$name       = "\n<strong>Имя:</strong>   ";
$number      = "<strong>Номер телефона:</strong>   ";

// Массив с данными из webhook
$arr = array(
    $form => "Eagleway",
    $comment => $dataArray["Дополнительные_вопросы"],
    $name => $dataArray["Ваше_имя"],
    $number =>  $dataArray["Ваш_номер_телефона:"]. "\n",
);

// Сбор текста 
foreach ($arr as $key => $value) {
    if ($key == " ") {
        $txt .= " " . $key . " <em>" . $value . "</em>" . "\n";
    } else {
        $txt .= "" . $key . " <em>" . $value . "</em>" . "\n";
    }
};

// Отправка сообщении
$telegram->sendMessage([
    'chat_id' => $chat_id,
    'text' => $txt,
    'parse_mode' => 'html']);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Smirator
Привет, я бы попробовал такой вариант

if ($_SERVER['REQUEST_METHOD'] === 'GET') {
    $deal_tel = isset($_REQUEST['tel']) ? $_REQUEST['tel'] : '';
    $deal_name = isset($_REQUEST['name']) ? $_REQUEST['name'] : '';
    $deal_vopros = isset($_REQUEST['vopros']) ? $_REQUEST['vopros'] : '';
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы