Test form consent — ATS

Kiểm tra /api/leads có nhận và lưu đúng 5 field consent sau khi Live1 cập nhật. Dựa theo mục 5 của tài liệu PPDL-ATS-Live1.

Mỗi lần bấm gửi là tạo một LEAD THẬT trong sheet và CRM.

Các ô tên đã điền sẵn "Test" để đội Live1 và ATS lọc ra được. Đừng đổi thành tên thật.

Nút gửi bị khoá cho tới khi tích ô xác nhận ở dưới cùng.

Dữ liệu gửi lên

sửa được hết

Hai case theo tài liệu

bấm để set nhanh

Case 1 là case quan trọng: form phải gửi được, và sheet phải hiện consent_marketing = false, không phải ô trống.

JSON sẽ gửi

cập nhật theo form

      

Phản hồi từ server

Chưa gửi.
// Bấm "Gửi lead thật" để xem phản hồi.

Nếu bị chặn CORS — dùng curl

không qua trình duyệt

Mở file này bằng file:// thì trình duyệt gửi Origin: null và server rất có thể chặn. Đó là giới hạn của trình duyệt, không phải lỗi API. Copy lệnh dưới, dán vào Terminal — curl không bị CORS.

Kiểm tra gì trong sheet sau khi gửi

CộtPhải thấy
consent_contacttrue
consent_marketingCase 1: false — không được là ô trống. Case 2: true
consent_timestampCòn nguyên millisecond và chữ Z: 2026-09-09T…​.451Z. Nếu thành 09/09/2026 15:42 thì cột chưa đặt Plain text
consent_sourcelanding_page
consent_versionv1.0 — nếu thành số 1 thì cột chưa đặt Plain text
phone0912345678 — còn số 0 đầu. Nếu thành 912345678 thì cột phone chưa đổi Plain text
createdAtCó giá trị. Đối chiếu với giờ bấm gửi để biết là giờ VN hay UTC — đây là câu hỏi 6.2 chưa được trả lời
agreeXem có cột này chưa, và nếu có thì giá trị là gì
Trình tự test đề xuất
  1. Case 1 trước — đây là case dễ hỏng nhất. Bấm "Case 1", tích ô xác nhận, gửi.
  2. Mở sheet, tìm dòng có familyName = Test. Đối chiếu cả 8 dòng ở bảng trên.
  3. Nếu consent_marketing là ô trống thay vì false → chưa đạt, báo lại Live1 kèm ảnh chụp.
  4. Case 2 — xác nhận true ghi được.
  5. Bật "Gửi consent dạng chuỗi" rồi gửi lại Case 1. Nếu kết quả khác lần đầu thì API đang phụ thuộc kiểu dữ liệu — cần chốt với Live1 gửi kiểu nào.
  6. Ghi lại giờ bấm gửi để đối chiếu createdAt (câu hỏi 6.2).