Webhook - 認証タイプ API キー - シークレット名とシークレット値 - PHP の
<p>API キー (シークレット名とシークレット値) を使用して Webhook を認証しようとしています。所以我制作了两个文件:</p>
<p>webhook.php:</p>
<pre class="brush:php;toolbar:false;"><?php
include('webhook-api-key.php');
// Webhook POST リクエストからリクエスト本文を取得します。
if ($http_status_code === 200){
$request_body = file_get_contents('php://input');
// リクエストボディを JSON から PHP オブジェクトに変換します
$request_data = json_decode($request_body);
// リクエストデータから連絡先のプロパティを抽出します
$contact_properties = $request_data->プロパティ;
// 電子メールのプロパティ値を抽出します
$email = $contact_properties->email->value;
// 名のプロパティ値を抽出します
$first_name = $contact_properties->firstname->value;
// 姓のプロパティ値を抽出します
$last_name = $contact_properties->lastname->value;
// 連絡先データをデータベースに追加したり、電子メール通知を送信したりするなど、連絡先データに対して何らかの処理を行います。
// 例えば:
$contact_data = 配列(
'電子メール' => $メール、
'名' => $first_name、
'姓' => $last_name
);
// 連絡先データをデータベースに追加するか、電子メール通知を送信します。
// Webhook が正常に受信され、処理されたことを示す HTTP 応答を HubSpot に送信します。
http_response_code(200);
}
?></pre>
<p>和 webhook-api-key.php:</p>
<pre class="brush:php;toolbar:false;"><?php
$endpoint_url = 'https://.../hubspot/webhook.php';
// API キーのシークレット名とシークレット値を設定します
$api_key_secret_name = '単語';
$api_key_secret_value = 'anther_word';
// HTTP POST リクエストヘッダーを設定します
$headers = 配列(
'コンテンツタイプ: application/json',
'認可: ベアラー '.$api_key_secret_value
);
// HTTP POST リクエストボディを設定します
$body = 配列(
'api_key' => $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));
$response =curl_exec($ch);
// エラーをチェックする
if(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 応答を処理する
if ($http_status_code === 200) {
echo 'Webhook が正常に認証されました。';
} それ以外 {
echo 'Webhook 認証が HTTP ステータス コードで失敗しました: ' 。 $http_status_code;
}
?></pre>
<p>Hubspot 構成では、ネットワークは「https:/.../hubspot/webhook.php」になります。</p>
<p>これでいいですか?私がこれを質問したのは、テストしようとしたときにサーバーが停止し、この種の認証を使用する例がインターネット上で見つからないためです。 </p>
<p>ありがとうございます! </p>