php Tilda和Bitrix与webhook的集成

xjreopfe  于 2023-09-29  发布在  PHP
关注(0)|答案(1)|浏览(97)

我有一个网站上蒂尔达和Bitrix CRM(框版).我试图整合蒂尔达形式与webhooks。有8个类似的表单(不同的隐藏字段内容)和1个其他表单。PHP文件在服务器https://b24.thesite.ru/myphp_1.php等。它不工作。
这是我的代码:

<?php

$name = $_POST['name'];
$phone = $_POST['phone'];
$wood_type = $_POST['wood_type'];
$is_designer = isset($_POST['is_designer']) ? 'true' : 'false';

$queryUrl = 'https://b24.thesite.ru/rest/93/qqqqqq1q1q1q1qqqqq/crm.lead.add.json';

$queryData = array(
    'fields' => array(
        'title' => 'Новая заявка с mysite.ru',
        'name' => $name,
        'phone' => array(array('VALUE' => $phone, 'VALUE_TYPE' => 'WORK')),
        'select' => $select,
        'is_designer' => $is_designer,
    ),
);

$curl = curl_init($queryUrl);

curl_setopt_array($curl, array(
    CURLOPT_SSL_VERIFYPEER => 0,
    CURLOPT_POST => 1,
    CURLOPT_HEADER => 0,
    CURLOPT_URL => $queryUrl,
    CURLOPT_POSTFIELDS => $queryData,
));

$result = curl_exec($curl);
curl_close($curl);

echo "<pre>";
print_r($result);
print_r(json_decode($result, true));
echo "</pre>";

?>

蒂尔达对我说:

[CODE: 500] webhook URL not avaliable. HTTP/2 500 server: nginx date: Tue, 26 Sep 2023 06:44:07 GMT content-type: text/html; charset = UTF-8 content length:0 vary HTTPS

我的PHP有什么问题?

ecr0jaav

ecr0jaav1#

首先你得

'select' => $select,

而无需初始化$select。你可能想把它改成

'select' => ($_POST['select'] ?? ''),

也许还可以通过一些验证来增强这一点。
第二,这里

$is_designer = isset($_POST['is_designer']) ? 'true' : 'false';

你设置true$is_designer,即使你收到false。您可能需要查看此内容以确定其是否正确。
第三,这里

$name = $_POST['name'];
$phone = $_POST['phone'];
$wood_type = $_POST['wood_type'];

您不会检查$_POST中是否存在这些参数,因此如果它们碰巧未指定,您可能会得到令人尴尬的结果。你可能想把它改成

$name = $_POST['name'] ?? '';
$phone = $_POST['phone'] ?? '';
$wood_type = $_POST['wood_type'] ?? '';

第四,wood_type甚至没有使用……

相关问题