php - 如何将 Gravity Form 条目传递到第三方网站 (CRM)?
问题描述
企业主在 WordPress 上有一个网站,在每个潜在客户可以请求报价的页面上都有相同的重力表格表单。每当有人提交表单时,该信息将被传递,客户将作为潜在客户记录在他的 CRM 中。
当我们联系 CRM 所有者时,他给了我们一些关于他开发的 API 的基本文档。它告诉我们使用什么 URL 以及如何在数组中格式化我们的变量。使用这篇文章和 CRM 提供的文档,我编写了以下内容并将其放在 WP 子主题的 functions.php 文件中:
// Assigning variables to user input from the form; input_x is the "name" of each field; type is text for all
$fname = $_POST[‘input_1’];
$lname = $_POST[‘input_9’];
$email = $_POST[‘input_2’];
$phone = $_POST[‘input_3’];
$message = $_POST[‘input_5’];
//This was the API url provided by the CRM, I think it tells the code what it’s talking to?
$url="https://www.CRMwebsite.com/get_leads.php";
// Putting customer info into array that assigns data to the correct CRM fields for storage
$data = array (
“Username” => ‘Clients_CRM_username_goes_here’,
“First_Name” => $fname,
“Last_Name” => $lname,
“Email” => $email,
“Phone” => $phone,
“Notes” => $message,
);
// Everything below this was provided by the CRM so I didn’t touch it
$data=http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
但是当我提交表单时,CRM 中不会出现新数据。我在这里验证了所有代码,没有收到任何错误。我试着取出变量,看看是否改变了事情,但没有骰子。我还尝试将 urlencode() 放在顶部的短语周围(例如: $fname = urlencode($_POST['input_1']) )。我对可能是什么问题有一些想法:
- 上面的代码可能需要在某种函数或其他函数中让它知道它需要在提交时触发,而不仅仅是像现在一样漂浮在 functions.php 文件中......但我不知道从哪里开始
- 而不是使用 $_POST['input_1'] 中的字段名称,我可能需要使用 Gravity Forms 获取函数来检索数据或字段 ID 或其他内容
- 我可能需要设置用户名 $_POST['DudesUsername'] (似乎不对,但也许)
- 有些东西发送不正确,由于不熟悉 PHP,我看不到它(尽管不太可能,因为验证器没有说任何东西)
但是所有这些事情都稍微超出了我的知识范围,所以我想在我整天在文档中尝试修复最初没有错误的东西之前先问一下。提前感谢您的帮助,对不起,这是一个很长的帖子!
解决方案
推荐阅读
- javascript - 如何向我的网站添加加载动画?
- postgresql - 如何提交 PostgreSQL 中处于空闲状态的事务?
- swift - 如何在 UIView 中为表格视图标题部分绘制自定义形状?
- pyspark - 使用 pyspark 识别大量数据的变化
- php - SQL Server 未从存储过程返回值
- python - 在 Python 中的字符串格式中循环
- php - centos如何安装curl php
- reactjs - 我无法将我的图像文件链接到我的反应文件
- android-sdk-tools - 在 POP OS 20.04 上启动模拟器时 Android Studio 4.0.1 错误“无法找到 adb”
- python - 如何制作具有多个系列和计数的条形图