将 POST 数据发送到 Mautic 表单

Sending POST data to a Mautic form

我正在尝试将 PayPal POST 数据发送到 Mautic 表单,如此 guide 所示。

我对示例中的代码所做的唯一更改是删除了 IP 转发内容。

我的代码似乎正在连接到 Mautic 并发送数据,因为 Mautic 在表单提交中创建了一个新联系人,但它只记录了 IP 地址和创建日期 - none字段已填写。我尝试记录来自 Mautic 的响应,我得到了重定向到表单提交消息和 HTTP code 302

这是我用来向函数发送数据的代码:

//collect contact details
$payer_email = $_POST['payer_email'];
$given_name = $_POST['first_name'];
$surname = $_POST['last_name'];
$phone = $_POST['contact_phone'];

//build array and forward to mautic
$_REQUEST = array('Given name' => $given_name, 'Surname' => $surname, 'Email' => $payer_email, 'Phone' => $phone);
pushMauticForm($_REQUEST, 4);
}

生成如下数组:

[Email] => buyer@paypalsandbox.com
[Given name] => John
[Surname] => Smith
[Phone] => 

字段名称与我的表单字段标签匹配,并且顺序相同。

我觉得我遗漏了一些简单的东西,但我就是想不通它是什么。有什么想法吗?

这是因为您正在被重定向。在 pushMauticForm 中添加以下内容以跟随重定向。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

我的猜测是您尝试发送字段标签,但 Mautic 需要字段别名。尝试这样的事情:

pushMauticForm(
    array(
        'payer_email' => $_POST['payer_email'],
        'given_name' => $_POST['first_name'],
        'surname' => $_POST['last_name'],
        'phone' => $_POST['contact_phone'],
    ),
    4
);

仔细检查真实的别名。最好的方法可能是当您在表单详细信息页面中单击 手动复制 按钮时,您可以在其中看到生成的 HTML 表单。别名在 <input name="mauticform[>>alias_is_here<<]"/> 标签中。