Facebook Reporting Dashboard
Real-time web analytics and advertising performance.
07/04/2026
📖 Webhook Documentation
Tài liệu hướng dẫn sử dụng các Webhook của hệ thống. Dành cho việc gửi form Website, Ladi tới CRM hoặc các công cụ bên thứ ba.
1. Webhook chuyển dữ liệu từ Website tới Database
Endpoint: https://ezhr.io.vn/hanxen/webhook/proxy.php
Mô tả: Chuyển đổi dữ liệu dạng JSON lưu trữ vào DB theo định dạng quy định trước.
Các trường dữ liệu:
NameTên khách hàng (Ví dụ:Nguyễn Văn A)PhoneSố điện thoại (Ví dụ:091234567889)AddresĐịa chỉ nhận hàngQuận 1, TP.HCM)Các trường khác(Không bắt buộc hiện): Các trường khác này không hiện phải để type="hidden":- Source: Ví dụ:
Website - Campaign: Ví dụ:
LadiPage - Product: Ví dụ:
Thạch Giải Linh - Note: Ví dụ:
Khách từ Website
- Source: Ví dụ:
Cấu trúc HTML mẫu:
<form id="contactForm">
<input type="hidden" name="source" value="Website">
<input type="hidden" name="campaign" value="LadiPage">
<input type="hidden" name="product" value="Thạch Giải Linh">
<input type="hidden" name="Note" value="Khách từ Website">
<div class="form-group">
<label>Họ và tên</label>
<input type="text" name="Name" placeholder="Ví dụ: Nguyễn Văn A" required>
</div>
<div class="form-group">
<label>Số điện thoại</label>
<input type="tel" name="Phone" placeholder="Ví dụ: 0912345678" required pattern="[0-9]{10,11}">
</div>
<div class="form-group">
<label>Địa chỉ</label>
<input type="text" name="Address" placeholder="Ví dụ: Quận 1, TP.HCM">
</div>
<button type="submit" id="submitBtn">Gửi thông tin</button>
<div id="successMessage" class="success-msg">Cảm ơn bạn! Chúng tôi sẽ liên hệ sớm.>/div>
</form>
Cấu trúc JS mẫu:
<script>
const WEBHOOK_BASE_URL = 'https://ezhr.io.vn/hanxen/webhook/';
const PROXY_URL = WEBHOOK_BASE_URL + 'proxy.php';
const THANKS_URL = 'https://domain.com/thanks.php'; // Thay bằng link trang cảm ơn của bạn
const form = document.getElementById('contactForm');
const submitBtn = document.getElementById('submitBtn');
const successMessage = document.getElementById('successMessage');
form.addEventListener('submit', async (e) => {
e.preventDefault();
// Basic UI feedback
submitBtn.disabled = true;
submitBtn.innerText = 'Đang xử lý...';
const formData = new FormData(form);
const jsonData = {};
formData.forEach((value, key) => {
jsonData[key] = value;
});
try {
const res = await fetch(PROXY_URL, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(jsonData)
});
const result = await res.json();
if (res.ok && result.success) {
successMessage.style.display = 'block';
form.reset();
setTimeout(() => {
window.location.href = THANKS_URL;
}, 800);
} else {
alert('Gửi thất bại: ' + (result.message || 'Lỗi không xác định'));
}
} catch (err) {
console.error(err);
alert('Gửi lỗi kết nối. Vui lòng kiểm tra lại mạng hoặc URL: ' + PROXY_URL);
} finally {
submitBtn.disabled = false;
submitBtn.innerText = 'Gửi thông tin';
}
});
</script>