Skip to content
Ngôn ngữ: Tiếng Việt

API cho nhà phát triển

Các endpoint API theo khu vực

Cập nhật 1 tháng 11, 2026 8 phút đọc

Mọi endpoint bạn dùng được với khóa API – sắp xếp theo khu vực, kèm phương thức, đường dẫn, phạm vi cần thiết và chức năng.

Phần tổng quan này liệt kê mọi endpoint hoạt động với token từ khóa API. Mọi đường dẫn đều bắt đầu bằng https://dock.at-harbor.com. Các trường chính xác của từng endpoint có trong bản mô tả OpenAPI tại https://dock.at-harbor.com/openapi.yaml.

Xác thực và endpoint công khai

Phương thức và đường dẫnXác thựcMục đích
POST /v1/tokenKhông (ID khóa và mã bí mật trong phần thân)Đổi khóa API lấy access token
GET /v1/plansKhôngGói và giá
GET /v1/pages/available?handle=…KhôngKiểm tra handle còn trống không

Trang

Phương thức và đường dẫnPhạm viMục đích
GET /v1/pagesread:pagesMọi trang trong không gian làm việc với ID, handle, tiêu đề, trạng thái, phiên bản trực tuyến, chế độ hiển thị và URL
POST /v1/pageswrite:pagesTạo trang; bắt buộc: handle (2–64 ký tự, chữ cái, chữ số, dấu gạch ngang) và template_key; tùy chọn title, domain_id, theme_config
GET /v1/pages/{id}read:pagesMột trang; kèm has_unpublished_changes (true nếu bản nháp khác phiên bản đã xuất bản)
PATCH /v1/pages/{id}write:pagesĐổi title, handle hoặc discoverable (hiển thị trong danh bạ)
PATCH /v1/pages/{id}/visibilitywrite:pagespublic, private hoặc password (với password, 4–72 ký tự); có hiệu lực ngay
POST /v1/pages/{id}/publishwrite:pagesXuất bản bản nháp; phản hồi chứa phiên bản mới
GET /v1/pages/{id}/versionsread:pagesCác phiên bản đã xuất bản
GET /v1/pages/{id}/versions/{version}read:pagesMột phiên bản
POST /v1/pages/{id}/versions/{version}/restorewrite:pagesĐưa một phiên bản vào bản nháp; current bỏ mọi thay đổi trong bản nháp
GET /v1/pages/{id}/seoread:pagesVăn bản SEO và văn bản chia sẻ
PATCH /v1/pages/{id}/seowrite:pagesseo_title, seo_description, og_title, og_description, og_image_asset_id, canonical_url, noindex
POST /v1/pages/{id}/invite-linkwrite:pagesLiên kết mời cho trang riêng tư đã xuất bản; days 1–30, mặc định 7. Nếu không thì 409 page_not_private hoặc page_not_published
POST /v1/pages/{id}/invite-link/revokewrite:pagesThu hồi liên kết mời
POST /v1/pages/{id}/uploadswrite:assetsTải tệp lên cho một trang

Bản nháp

Phương thức và đường dẫnPhạm viMục đích
GET /v1/pages/{id}/draftread:pagesBản nháp hiện tại: template_key, config, theme_config, custom_css, seo, gán ảnh và liên kết
PATCH /v1/pages/{id}/draftwrite:pagesÍt nhất một trong config (tối đa 64 KB dạng JSON, mỗi văn bản tối đa 5.000 ký tự), theme_config, custom_css (tối đa 50.000 ký tự và 65.535 byte), seo, template_key, template_asset_bindings
GET /v1/pages/{id}/draft/validateread:pagesKiểm tra bản nháp có xuất bản được không

Khối

Phương thức và đường dẫnPhạm viMục đích
GET /v1/pages/{id}/blocksread:pagesCác khối của trang
POST /v1/pages/{id}/blockswrite:pagesTạo khối; bắt buộc: type và config
PATCH /v1/pages/{id}/blocks/{blockId}write:pagesChỉnh sửa khối
DELETE /v1/pages/{id}/blocks/{blockId}write:pagesXóa khối
POST /v1/pages/{id}/blocks/reorderwrite:pagesĐặt thứ tự
GET /v1/blocks/schemasread:pagesMọi loại khối kèm schema của config

Các loại bạn tạo được: text, image, embed, spacer, social_links, form, integration, donation, modal, heading, notice, coupon, contact, opening_hours, tour, file, vcard, countdown và gallery. Khối liên kết là cố định và không được tạo qua endpoint này. API từ chối loại khối ngoài gói của bạn với 403 block_type_requires_plan. config của một khối tối đa 128 KB dạng JSON, và mỗi văn bản trong đó tối đa 10.000 ký tự; trong hộp thoại thông tin, modal_body_html có thể có tối đa 50.000 ký tự và tối đa 65.535 byte.

Liên kết

Phương thức và đường dẫnPhạm viMục đích
GET /v1/pages/{id}/linksread:linksCác liên kết của trang
POST /v1/pages/{id}/linkswrite:linksTạo liên kết; bắt buộc: title (1–200) và target_url_template (8–2048)
GET /v1/pages/{id}/links/{linkId}read:linksMột liên kết
PATCH /v1/pages/{id}/links/{linkId}write:linksChỉnh sửa liên kết
DELETE /v1/pages/{id}/links/{linkId}write:linksXóa liên kết
POST /v1/pages/{id}/links/reorderwrite:linksĐặt thứ tự: {"order":[IDs]}

Các trường tùy chọn khi tạo và chỉnh sửa: enabled, geo (quy tắc quốc gia với mode allowlist hoặc denylist và countries), device (đích riêng cho từng thiết bị), starts_at và ends_at (lên lịch), protection_tier (chống bot) và age_restriction. Lên lịch, quy tắc quốc gia và thiết bị có từ gói Creator Pro. Khi sắp xếp, chỉ cần gửi các ID cần đưa lên trước – mọi liên kết khác theo sau theo thứ tự cũ. API từ chối các ID không thuộc trang với 422 validation_failed; details.missing_link_ids liệt kê chúng.

Liên kết rút gọn

Phương thức và đường dẫnPhạm viMục đích
GET /v1/short-linksread:short_linksLiên kết rút gọn với limit, offset, sort và tìm kiếm q; phản hồi chứa total
POST /v1/short-linkswrite:short_linksTạo; bắt buộc: target_url (http hoặc https, 8–2048); tùy chọn title (tối đa 120) và custom_slug (3–32, chữ thường, chữ số, dấu gạch ngang)
GET /v1/short-links/{id}read:short_linksMột liên kết rút gọn
PATCH /v1/short-links/{id}write:short_linksĐổi target_url hoặc title
DELETE /v1/short-links/{id}write:short_linksXóa liên kết rút gọn

Nếu đạt giới hạn liên kết rút gọn của gói, API phản hồi 402 plan_limit_reached.

Tệp

Phương thức và đường dẫnPhạm viMục đích
GET /v1/assetsread:assetsCác tệp của không gian làm việc
POST /v1/assetswrite:assetsTải tệp lên (multipart/form-data, trường file; tùy chọn page_id, kind, title, alt_text)
DELETE /v1/assets/{assetId}write:assetsXóa tệp

Biểu mẫu

Phương thức và đường dẫnPhạm viMục đích
GET /v1/formsread:formsBiểu mẫu
POST /v1/formswrite:formsTạo biểu mẫu; bắt buộc: name và fields (1–100 trường)
GET /v1/forms/{id}read:formsMột biểu mẫu
PATCH /v1/forms/{id}write:formsChỉnh sửa biểu mẫu
DELETE /v1/forms/{id}write:formsXóa biểu mẫu
GET /v1/forms/{id}/summaryread:formsTóm tắt
GET /v1/forms/{id}/submissionsread:formsBài gửi, mới nhất trước (limit 1–500, mặc định 100; các trang tiếp theo qua cursor = next_cursor)
GET /v1/forms/{id}/submissions/exportread:formsMọi bài gửi dạng tệp CSV, mới nhất trước, đến giới hạn xuất của gói (từ Creator Pro); header X-Export-Truncated cho biết tệp có bị cắt bớt không

Thống kê

Phương thức và đường dẫnPhạm viMục đích
GET /v1/stats/pages/{id}/summaryread:statsChỉ số chính của một trang
GET /v1/stats/pages/{id}/timeseriesread:statsChuỗi thời gian của một trang
GET /v1/stats/pages/{id}/compareread:statsSo sánh với kỳ trước
GET /v1/stats/pages/{id}/linksread:statsLượt nhấp theo từng liên kết
GET /v1/stats/pages/{id}/widgetsread:statsLượt nhấp vào widget
GET /v1/stats/pages/{id}/conversions/breakdownread:statsChuyển đổi của một trang
GET /v1/stats/workspaces/me/summaryread:statsChỉ số chính của mọi trang
GET /v1/stats/workspaces/me/timeseriesread:statsChuỗi thời gian của mọi trang
GET /v1/stats/workspaces/me/compareread:statsSo sánh với kỳ trước
GET /v1/stats/workspaces/me/top-pagesread:statsTrang hàng đầu
GET /v1/stats/workspaces/me/conversions/breakdownread:statsChuyển đổi của không gian làm việc
GET /v1/stats/workspaces/me/donationsread:donationsTổng thanh toán từ người ủng hộ

Bạn chọn khoảng thời gian như mô tả trong Phân trang, với period hoặc với from và to. Bạn xem được lùi xa đến đâu tùy gói: 365 ngày ở Creator Pro và Agency, 730 ngày ở Enterprise. Các khoảng cũ hơn bị cắt về giới hạn này.

Thông báo đẩy (chỉ đọc)

Phương thức và đường dẫnPhạm viMục đích
GET /v1/push/historyread:statsLịch sử thông báo đẩy (limit, offset)
GET /v1/push/usageread:statsMức dùng giới hạn hằng tuần

Gửi thông báo đẩy và quản lý quy tắc thông báo đẩy chỉ thực hiện được trong bảng điều khiển.

Không gian làm việc, mẫu và tên miền

Phương thức và đường dẫnPhạm viMục đích
GET /v1/workspaces/me/entitlementsread:workspacesTính năng và giới hạn của gói
GET /v1/workspaces/me/usageread:workspacesMức sử dụng hiện tại
GET /v1/workspaces/me/usage/meteringread:workspacesLịch sử sử dụng
GET /v1/workspaces/me/membersread:workspacesDanh sách thành viên
GET /v1/workspaces/me/settingsread:workspacesCài đặt không gian làm việc
GET /v1/workspaces/me/callback-secretsread:workspacesMã bí mật callback (không có mã bí mật dạng văn bản thuần)
GET /v1/workspaces/me/callback-secrets/{id}read:workspacesMột mã bí mật callback (không có mã bí mật dạng văn bản thuần)
GET /v1/templatesread:workspacesMọi mẫu
GET /v1/templates/availableread:workspacesMẫu có sẵn và mẫu không gian làm việc đang hoạt động với giá trị template_key hợp lệ; mẫu không gian làm việc có key ws:<key> và type workspace
GET /v1/templates/{key}read:workspacesMột mẫu
GET /v1/workspaces/me/templatesread:workspacesMẫu không gian làm việc của riêng bạn
GET /v1/workspaces/me/templates/{id}read:workspacesMột mẫu không gian làm việc
POST, PATCH, DELETE /v1/workspaces/me/templates[/{id}]write:templatesTạo, chỉnh sửa, xóa mẫu không gian làm việc; html tối đa 60.000 byte (nếu không thì 422 validation_failed với details.reason maxBytes), tối đa 32 asset_slots
GET /v1/domainsread:workspacesTên miền riêng
GET /v1/domains/availableread:workspacesTên miền dùng được cho trang

Không có với khóa API

Webhook, tích hợp, gửi thông báo đẩy, quản lý tên miền, thành viên, thanh toán và xóa trang chỉ có trong bảng điều khiển. Mã bí mật callback cũng chỉ tạo và quản lý được trong bảng điều khiển; việc liệt kê và đọc chúng (không có mã bí mật dạng văn bản thuần) hoạt động với read:workspaces. Danh sách đầy đủ có trong Chi tiết về phạm vi. Dữ liệu đến – doanh số và dữ liệu trực tiếp của riêng bạn – bạn gửi bằng các secret riêng đến những endpoint được mô tả trong Callback.

Không tìm thấy?

Hãy cho chúng tôi biết bạn cần gì, đội hỗ trợ sẽ trực tiếp giúp bạn.

Liên hệ hỗ trợ