> ## Documentation Index
> Fetch the complete documentation index at: https://learn.cleeksy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cổng công khai (Public portal)

> Tạo cổng công khai để thu thập dữ liệu từ bên ngoài.

Public portal (cổng công khai) là một loại **Data source** dùng để nhận dữ liệu từ bên ngoài tổ chức (khách hàng/đối tác/ứng viên…). Public portal tạo record vào Entity đích theo form đã cấu hình.

Liên quan:

* [Cổng dữ liệu (Data source)](/build-apps/integrations/data-sources-overview)
* [Cổng nội bộ (Internal portal)](/build-apps/integrations/internal-portal)
* [Rà soát & vận hành (App review)](/build-apps/app-review)

***

## 1) Khi nào dùng Public portal?

* Thu thập yêu cầu/đăng ký từ khách hàng hoặc đối tác
* Onboarding nhà cung cấp (supplier onboarding)
* Thu thập phản hồi (feedback) hoặc báo lỗi (bug report)
* Nhận hồ sơ ứng viên (khi có quy trình xử lý)

Nếu người submit là nội bộ, ưu tiên [Cổng nội bộ (Internal portal)](/build-apps/integrations/internal-portal) để dễ quản trị quyền.

***

## 2) Public form patterns (mẫu form công khai)

### Pattern A — One-shot submission + xử lý nội bộ

Form công khai chỉ tạo record và đưa vào trạng thái “Pending review”.

Dùng cho: contact form, đăng ký dịch vụ, yêu cầu báo giá.

### Pattern B — Submission + theo dõi bằng mã

Sau khi submit, trả về mã (auto number) để người gửi tra cứu/trích dẫn khi cần hỗ trợ.

Dùng cho: support request, warranty claim.

### Pattern C — Submission + bước xác minh

Record đi vào bước “Verify” trước khi chuyển sang xử lý chính, nhằm lọc dữ liệu rác.

Dùng cho: supplier onboarding, lead intake.

***

## 3) Validation (chặn lỗi trước khi vào hệ thống)

Thực hành tốt:

* Bắt buộc field tối thiểu để có thể xử lý (tên, liên hệ, nội dung)
* Kiểm tra định dạng cơ bản (email/phone/date)
* Giới hạn độ dài text để tránh payload bất thường
* Với attachment: giới hạn loại file và dung lượng theo chính sách vận hành

Validation nên kết hợp:

* Validation ngay trên form (nếu có hỗ trợ)
* Workflow bước “Review/Verify” để kiểm tra nghiệp vụ

Liên quan: [Controls trong hệ thống (workflow vs validation vs roles)](/foundations/controls-in-system)

***

## 4) Giảm spam/lạm dụng (nguyên tắc an toàn khi công khai)

Public portal cần thiết kế để “nhận đúng thứ cần nhận” và hạn chế abuse:

### A) Giới hạn bề mặt

* Chỉ mở các field cần thiết
* Tránh thu thập dữ liệu nhạy cảm nếu không bắt buộc
* Hạn chế attachment khi không cần

### B) Đưa vào hàng chờ kiểm duyệt

* Record vào trạng thái “Pending review”
* Team nội bộ xác minh trước khi xử lý tiếp

### C) Chống trùng và làm sạch dữ liệu

* Dùng Auto number để định danh
* Dùng rule phát hiện trùng (email/phone + thời gian) nếu bài toán cần
* Có bước “Reject/Discard” rõ ràng để loại dữ liệu rác

### D) Đặt kỳ vọng cho người gửi

* Hướng dẫn rõ ngay trên form (nội dung hợp lệ, tài liệu cần kèm…)
* Thông báo thời gian phản hồi dự kiến

<Note>
  Khi cần lớp kiểm tra bổ sung từ hệ thống ngoài (token theo chiến dịch, kiểm tra danh sách chặn…), có thể kết hợp với [Webhook portal (cổng webhook)](/build-apps/integrations/webhook-portal) hoặc [API portal (cổng API)](/build-apps/integrations/api-portal) để kiểm tra trước khi ghi nhận.
</Note>

***

## 5) Kết hợp workflow để xử lý an toàn

Một luồng tối thiểu thường dùng:

* New submission → Pending review → Accepted/Rejected → Processing → Closed

Gợi ý:

* Tạo view “Pending review” cho người kiểm duyệt
* Log lý do reject để cải tiến form và giảm spam

Liên quan: [Phê duyệt (Approvals)](/build-apps/workflows/approvals)

***

## Bước tiếp theo

* Nhận dữ liệu từ hệ thống ngoài: [Webhook portal (cổng webhook)](/build-apps/integrations/webhook-portal)
* Tích hợp có cấu trúc: [API portal (cổng API)](/build-apps/integrations/api-portal)
* Intake nội bộ: [Cổng nội bộ (Internal portal)](/build-apps/integrations/internal-portal)
