hosting
GET /v1/sites/{siteId}/preview-urls
Get the URLs at which a site can be viewed before its DNS resolves.
การยืนยันตัวตน
ส่ง API key ในรูปแบบ bearer token คีย์ดังกล่าวต้องมีสิทธิ์ sites.view หากไม่มีสิทธิ์ ระบบจะปฏิเสธด้วยรหัส 403 แทนที่จะเป็น 404
ปลายทางนี้ไม่ต้องใช้รหัสองค์กร คีย์ของคุณระบุองค์กรที่เป็นเจ้าของอยู่แล้ว และการตอบกลับจะถูกจำกัดขอบเขตไว้เฉพาะองค์กรนั้น
ทดลองใช้เลย
แทนที่สิ่งใดๆ ที่อยู่ภายในวงเล็บแหลมด้วยค่าของคุณเอง และตัวยึดตำแหน่งคีย์ด้วยคีย์จากแดชบอร์ดของคุณ
curl -X GET https://api.zinndigital.com/v1/sites/{siteId}/preview-urls \
-H "Authorization: Bearer zdk_live_…"เข้าสู่ระบบแล้วใช่ไหม คอนโซล API ในแดชบอร์ดของคุณจะเติมรหัสองค์กรจริงและคีย์ของคุณเองโดยอัตโนมัติ และทำการส่งคำขอไปยัง API จริง เพื่อให้คุณเห็นผลลัพธ์ที่เป็นข้อมูลจริง เปิดจุดสิ้นสุดนี้ในคอนโซล API
รายละเอียด
How a customer sees their site before they point their domain at us — the "temporary URL" the product has advertised on both lines since the first feature matrix (docs/37) and the import flow tells them to use ("Check it over, then point your domain at us"). Requires sites.view. Every hostname is read from the hosting platform, never derived: they are not uniformly <label>.<preview-domain> and a formula produces confidently wrong links (one live package answers with a datacentre label in the middle of the hostname). vendor_branded marks a URL whose hostname is not under our configured preview domain — a docs/62 §3.7 breach. Such a URL is reported so staff can see it, and must not be offered to a customer by any client. A site with no preview URL returns 200 with an empty urls and a machine-readable unavailable_reason — that is an answer, not an error. ⛔ A fleet site is deliberately not a 404 here, unlike the /hosting/* reads: a vendor package is a property of the vendor, so a site without one has no such resource, but a preview URL is a property of the site and the reason it has none is something the customer is owed. Since W41-L a site on our own fleet has a real preview address of its own, minted under our preview domain and served over HTTPS, so unsupported_driver no longer describes the fleet. The reasons now mean: not_needed — the site is already reachable at its own address, which is the answer once the customer's domain points at us (⚖️ owner, 2026-09-08: "no one needs a preview url for something that is already pointing to us"); none_issued — the address is decided but not yet published, or a resold package's temporary URL is switched off; unsupported_driver — the site runs somewhere this platform cannot mint one, such as an edge host. ⭐ A platform preview address is a converged state, not an issuance: it is withdrawn a fortnight after the customer's own domain starts reaching us, and it comes back on its own if their DNS later moves away again. platform and retires_at on each URL are what a client needs to say which of those is true.
พารามิเตอร์
| ชื่อ | ประเภท | จำเป็นต้องมี | ลักษณะของสิ่งนี้ |
|---|---|---|---|
siteId (path) | Uuid | ใช่ | Site ID (UUIDv7). |
การตอบกลับ
| ชื่อ | ประเภท | จำเป็นต้องมี | ลักษณะของสิ่งนี้ |
|---|---|---|---|
urls | SitePreviewUrl[] | ใช่ | Every preview URL the platform serves for this site. |
unavailable_reason | string<, unsupported_driver, none_issued, not_needed> | ใช่ | Why there is no usable preview URL, blank when there is one. A stable machine identifier the client localises — never display text. |
ข้อผิดพลาดที่เอนด์พอยต์นี้สามารถส่งกลับได้
401 · 403 · 404 · 429 · 503