Cấu hình theo từng site
Bật và cấu hình API công khai độc lập cho từng site trong một không gian làm việc.
Cấu hình API công khai theo từng site kiểm soát chính xác những gì được công khai và cho ai. Lấy nội dung đã xuất bản, sitemap và chuyển hướng với cùng một cấu trúc JSON nhất quán ở mọi nơi — không có schema GraphQL phải học, không có client sinh tự động phải đồng bộ. Mọi yêu cầu bên dưới đều là thật: một blog xây trên CMSHub, gọi chỉ bằng curl.
Khi một site đã bật và cho phép một bộ sưu tập, các bản ghi đã xuất bản của nó chỉ cách một lệnh GET đơn giản — xác định hoàn toàn qua header Host, không cần API key cho dữ liệu công khai.
https://the-signal.blog/api/postscurl https://the-signal.blog/api/posts{
"siteId": "the-signal-4f2a",
"siteName": "The Signal",
"baseUrl": "https://the-signal.blog",
"collection": {
"id": "3b0d6f2a-9c41-4e8a-8f2e-1d4c9a7b6e11",
"slug": "posts",
"name": "Posts"
},
"data": [
{
"id": "a91f2e3c-7d5b-4a10-9c3e-6f8a2b1d0e44",
"locale": "en",
"translationOfId": null,
"data": {
"title": "Shipping a public content API without a GraphQL schema",
"slug": "shipping-a-public-content-api",
"excerpt": "Plain REST beats a bespoke query language when a frontend just needs JSON.",
"category": "Engineering",
"author": "Dana Osei",
"published_at": "2026-09-10"
}
},
{
"id": "d2c5b8a1-4e3f-4c9d-8b7a-2f1e6d5c4b33",
"locale": "en",
"translationOfId": null,
"data": {
"title": "What the quality gate actually checks before you publish",
"slug": "the-quality-gate-explained",
"excerpt": "Every generated page passes the same checks, whether it's post 1 or post 10,000.",
"category": "Product",
"author": "Dana Osei",
"published_at": "2026-09-04"
}
}
],
"meta": {
"locale": "en",
"pagination": { "start": 0, "limit": 20, "total": 2, "nextCursor": null }
}
}sitemap.xml và robots.txt được tạo từ cùng danh mục trang mà content API đọc — không có cấu hình riêng phải đồng bộ, không có gì phải tạo lại bằng tay.
https://the-signal.blog/sitemap.xmlcurl https://the-signal.blog/sitemap.xml<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url><loc>https://the-signal.blog/posts/shipping-a-public-content-api</loc><lastmod>2026-09-10T14:22:00.000Z</lastmod></url>
<url><loc>https://the-signal.blog/posts/the-quality-gate-explained</loc><lastmod>2026-09-04T09:15:00.000Z</lastmod></url>
</urlset>API nội dung công khai luôn đóng cho đến khi bạn cấu hình rõ ràng những gì một site được công khai — không có endpoint mở sẵn nào lặng lẽ phục vụ nội dung chưa xuất bản hay bản nháp.
Bật và cấu hình API công khai độc lập cho từng site trong một không gian làm việc.
API công khai chỉ phục vụ những gì đã qua cổng chất lượng và thực sự được xuất bản — không bao giờ là bản nháp.
Mọi route đều nằm dưới đường dẫn có phiên bản, nên tích hợp bạn xây hôm nay vẫn chạy khi CMSHub phát triển.
Bật content API công khai cho một site của bạn và lấy một trang được tạo.