properties; // 提取email属性值 $email = $contact_properties->email->value; // 提取名字属性值 $first_name = $contact_properties->名字->值; // 提取姓氏属性值 $last_name = $contact_properties->姓氏->值; // 对联系人数据执行某些操作,例如将其添加到数据库或发送电子邮件通知 // 例如: $contact_data = 数组( '电子邮件' => $电子邮件, '名字' => $名字, '姓氏' => $姓氏 ); // 将联系人数据添加到数据库或发送电子邮件通知等 // 向 HubSpot 发送 HTTP 响应,表明 Webhook 已成功接收并处理 http_response_code(200); } ?></pre> <p>和 webhook-api-key.php:</p>; $api_key_secret_value ); // 将 HTTP POST 请求发送到 webhook 端点 URL $ch =curl_init($endpoint_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body)); $响应=curl_exec($ch); // 检查是否有错误 如果(curl_errno($ ch)){ $error_message=curl_error($ch); echo '错误:'.$error_message; } // 获取HTTP响应状态码 $http_status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); // 关闭HTTP POST请求 卷曲_关闭($ch); // 处理 webhook 响应 如果($http_status_code === 200){ echo 'Webhook 已成功验证。'; } 别的 { echo 'Webhook 身份验证失败,HTTP 状态代码:' 。 $http_status_code; } ?></pre> <p>在 Hubspot 配置中,网址为“https:/.../hubspot/webhook.php”。</p> <p>这样可以吗?我这么问是因为当我尝试测试它时它杀死了我的服务器,并且我在互联网上找不到使用这种身份验证的示例。</p> <p>谢谢!</p>
P粉4133078452023-08-31 10:55:59
所以其实很简单。互联网上没有示例,文档也很差,它更多地解释了 Hubspot 签名而不是 API 密钥。 我最终明白了它是如何工作的,这是工作代码:
$expectedSecretName = 'word'; // Replace with your expected secret name $expectedSecretValue = 'another_word'; // Replace with your expected secret value $requestBody = file_get_contents('php://input'); $data = json_decode($requestBody); if($_SERVER['HTTP_WORD'] == $expectedSecretValue){ //do something with values $email = $data->email; $firstname= $data->firstname; $lastname= $data->lastname; } else{ //not from Hubspot }