Webhooks - Kunci API Jenis Pengesahan - Nama Rahsia dan Nilai Rahsia - dalam PHP
<p>Saya cuba mengesahkan webhook menggunakan kunci api (nama rahsia dan nilai rahsia).所以我制作了两个文件:</p>
<p>webhook.php:</p>
<pre class="brush:php;toolbar:false;"><?php
include('webhook-api-key.php');
// Dapatkan semula badan permintaan daripada permintaan POST webhook
jika ($http_status_code === 200){
$request_body = file_get_contents('php://input');
// Tukar badan permintaan daripada JSON kepada objek PHP
$request_data = json_decode($request_body);
// Ekstrak sifat kenalan daripada data permintaan
$contact_properties = $request_data->properties;
// Ekstrak nilai sifat e-mel
$email = $contact_properties->email->value;
// Ekstrak nilai harta nama pertama
$first_name = $contact_properties->firstname->value;
// Ekstrak nilai harta nama akhir
$last_name = $contact_properties->lastname->value;
// Lakukan sesuatu dengan data kenalan, seperti menambahkannya pada pangkalan data atau menghantar pemberitahuan e-mel
// Sebagai contoh:
$data_hubungi = tatasusunan(
'e-mel' => $e-mel,
'first_name' => $first_name,
'last_name' => $last_name
);
// Tambahkan data kenalan ke pangkalan data atau hantar pemberitahuan e-mel, dsb.
// Hantar respons HTTP ke HubSpot yang menunjukkan bahawa webhook telah berjaya diterima dan diproses
http_response_code(200);
}
?></pra>
<p>和 webhook-api-key.php:</p>
<pre class="brush:php;toolbar:false;"><?php
$endpoint_url = 'https:/.../hubspot/webhook.php';
// Sediakan nama rahsia dan nilai rahsia kunci API
$api_key_secret_name = 'perkataan';
$api_key_secret_value = 'anther_word';
// Sediakan pengepala permintaan HTTP POST
$headers = array(
'Content-Type: application/json',
'Kebenaran: Pembawa '.$api_key_secret_value
);
// Sediakan badan permintaan HTTP POST
$body = array(
'kunci_api' => $api_key_secret_value
);
// Hantar permintaan HTTP POST ke URL titik akhir webhook
$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));
$respon = curl_exec($ch);
// Semak ralat
if(curl_errno($ch)) {
$error_message = curl_error($ch);
echo 'Ralat: '.$error_message;
}
// Dapatkan kod status respons HTTP
$http_status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// Tutup permintaan HTTP POST
curl_close($ch);
// Kendalikan respons webhook
jika ($http_status_code === 200) {
echo 'Webhook berjaya disahkan.';
} lain {
echo 'Pengesahan webhook gagal dengan kod status HTTP: ' . $http_status_code;
}
?></pra>
<p>在 Hubspot 配置中,网址为“https:/.../hubspot/webhook.php”。</p>
<p>Adakah ini okey? Saya bertanya kerana apabila saya cuba mengujinya ia membunuh pelayan saya dan saya tidak dapat mencari contoh di internet menggunakan pengesahan jenis ini. </p>
<p>Terima kasih! </p>