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:
  • Name Tên khách hàng (Ví dụ: Nguyễn Văn A)
  • Phone Số điện thoại (Ví dụ: 091234567889)
  • Addres Địa chỉ nhận hàng Quậ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
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>