> ## 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ác loại cổng dữ liệu (Data source types)

> Tra cứu các loại Data source và khi nào nên dùng.

Trang này mô tả các **Data source (cổng dữ liệu)** trong Cleeksy DOP. Data source là “điểm kết nối” giúp app nhận dữ liệu từ bên ngoài hoặc chia sẻ dữ liệu cho hệ thống/app khác.

> Gợi ý: trước khi chọn loại data source, xác định rõ **hướng dữ liệu**: vào app (intake), ra ngoài (expose), hay hai chiều.
> Ghi chú: Trong tài liệu này, **Internal portal (cổng nội bộ)** bao gồm cả cách gọi **request portal** (cổng yêu cầu) trong một số ngữ cảnh.

***

## Tổng quan các loại Data source

| Loại                              | Mục tiêu                                 | Hướng dữ liệu          | Dùng khi                                      |
| --------------------------------- | ---------------------------------------- | ---------------------- | --------------------------------------------- |
| Internal portal (Internal portal) | Form nội bộ (request) có kiểm soát quyền | Vào app                | Nhân viên nội bộ gửi dữ liệu, cần role gating |
| Public portal                     | Form công khai                           | Vào app                | Thu thập dữ liệu từ bên ngoài, cần chống spam |
| Webhook portal                    | Nhận sự kiện/payload từ hệ thống ngoài   | Vào app                | Hệ thống ngoài đẩy dữ liệu vào app            |
| API portal                        | Cung cấp API đọc/ghi có kiểm soát        | Ra ngoài (và/hoặc vào) | Hệ thống ngoài cần pull/push dữ liệu          |
| Connected app                     | Kết nối giữa các app trong Cleeksy       | Hai chiều tuỳ cấu hình | Cross-app trong một value slice               |

***

## 1) Internal / Public portal (các cổng dạng form)

### Khi nên dùng

* Dữ liệu chủ yếu đến từ “người nhập”
* Cần chuẩn hoá field theo form
* Cần kiểm soát ai được submit (internal) hoặc chống spam (public)

### Điểm cấu hình chính

* Chọn entity đích và field cần nhận
* Map field form → field entity
* Validation ở mức form (bắt buộc, format)
* Quyền submit và giới hạn truy cập

Liên quan:

* Internal portal: [Cổng nội bộ (Internal portal)](/build-apps/integrations/internal-portal)
* Public portal: [Cổng công khai (Public portal)](/build-apps/integrations/public-portal)

***

## 2) Webhook portal (cổng webhook)

### Khi nên dùng

* Hệ thống ngoài phát sinh sự kiện và cần “đẩy” dữ liệu vào app
* Muốn xử lý theo gần thời gian thực

### Điểm cấu hình chính

* Xác định payload tối thiểu cần nhận
* Map payload → field
* Xử lý lỗi và retry (idempotency ở mức thiết kế)

Liên quan: [Webhook portal (cổng webhook)](/build-apps/integrations/webhook-portal)

***

## 3) API portal (cổng API)

### Khi nên dùng

* Hệ thống ngoài cần **pull** dữ liệu theo điều kiện
* Hoặc cần **push** dữ liệu có kiểm soát

### Điểm cấu hình chính

* Token/authentication cơ bản
* Endpoint patterns (list/get/create/update)
* Filter/parameter cho truy vấn

Liên quan: [API portal (cổng API)](/build-apps/integrations/api-portal)

***

## 4) Connected app (kết nối ứng dụng)

Connected app là **một loại Data source** dùng để kết nối dữ liệu giữa các app trong Cleeksy. Nó thường đi kèm cơ chế chia sẻ dữ liệu giữa app (publish/consume) và các field liên kết (Data Connection/Lookup/Rollup).

Liên quan:

* [Kết nối ứng dụng (Connected app)](/build-apps/integrations/connected-app)
* [Chia sẻ dữ liệu (Publish/Consume)](/build-apps/integrations/publish-consume-overview)

***

## Quy tắc chọn nhanh

* Cần người nhập dữ liệu → ưu tiên portal (internal/public)
* Cần hệ thống ngoài đẩy dữ liệu → webhook
* Cần hệ thống ngoài truy vấn theo điều kiện → API
* Cần app ↔ app trong Cleeksy → Connected app + publish/consume + liên kết dữ liệu

***

## Bảo mật tối thiểu

* Không đưa token vào nơi công khai
* Chỉ expose field cần thiết (nguyên tắc tối thiểu)
* Dùng validation để chặn dữ liệu lỗi ngay tại cổng

Liên quan: [Bảo mật (Security)](/build-apps/integrations/security-tokens)
