Archust Docs

Publishers — Kết nối xuất bản

Kết nối WordPress, Ghost, Shopify, Haravan, Webflow, Webhook và xuất bản.

Publishers — Kết nối xuất bản

Publishers cho phép bạn xuất bản draft trực tiếp lên nhiều nền tảng. Credentials được mã hoá và luôn test trước khi lưu.

Connections

/dashboard/publishers — list, filter, tạo bằng Dialog

Lịch sử

/dashboard/publishers/[id]/history — attempts + payload

Kênh hỗ trợ

15 platforms (6 có form đầy đủ + webhook)

Bạn tìm thấy gì ở đâu

TrangĐường dẫnMô tả
Publishers/dashboard/publishersDanh sách connections, filter, tạo/sửa/xóa bằng Dialog
Lịch sử Publish/dashboard/publishers/[id]/historypublisher_attempts + payload + verify

Không có trang /dashboard/publishers/new riêng — bấm New Connection sẽ mở Dialog ngay trên /dashboard/publishers. Các URL /new cũ sẽ tự điều hướng về trang danh sách.

Nền tảng hỗ trợ

AdapterAuthGhi chú
WordPressApp PasswordREST v2 /wp-json/wp/v2/posts
WordPress.comAccess TokenWP.com REST
GhostAdmin API KeyGhost Admin API v5 (field adminUrl/apiKey, alias siteUrl/adminApiKey)
WebflowAccess Token + Site/Collection IDCMS Collections + field mapping
ShopifyClient ID/Secret hoặc Access Token + Blog GIDBlog GID tự normalize gid://shopify/Blog/{id}
HaravanAccess Token + Blog ID/HandleHaravan Blog API
WebhookURL + Secret/HeadersHỗ trợ fieldMapping (50 fields) + payloadMode: legacy/mapped
Notion, Medium, Hashnode, Contentful, Sanity, DevTo, LinkedIn, CustomKhai trong PublisherPlatform enum nhưng chưa có form đầy đủ — dùng Webhook nếu cần

Verification được coi là fresh trong 30 ngày (PUBLISHER_VERIFICATION_MAX_AGE_DAYS). Quá hạn UI sẽ nhắc test lại.

Tạo / Sửa kết nối — bạn điền gì

WordPress: siteUrl (https), username, appPassword Ghost: adminUrl, apiKey Webflow: siteUrl, siteId, accessToken, collectionId + fieldMapping (title/slug/content...) Shopify: shopDomain (phải là *.myshopify.com), blogId hoặc gid://shopify/Blog/{id}, authorName, clientId+clientSecret hoặc accessToken, storefrontUrl optional Haravan: accessToken, blogId (numeric), blogHandle (slug), authorName, storefrontUrl Webhook: webhookUrl, secret, headers, fieldMapping (tối đa 50)

Tất cả đều có Zod schema validate — thiếu trường sẽ báo lỗi ngay trên form.

Quy trình xuất bản

Chọn bài: trong Blogs bấm Publish → chọn một hoặc nhiều publishers.
Tạo attempt: hệ thống tạo publisher_attempts với idempotencyKey để retry không tạo trùng.
Thực thi: lần lượt gọi adapter tương ứng với config đã mã hoá.
Lưu kết quả: status, platformPostId, publishedUrl, statusCode, error, snapshot payload.
Verify: có thể gọi verifyPublishedArticle để kiểm tra bài còn tồn tại trên platform.
Trạng thái attemptÝ nghĩa
pendingChờ thực thi
successplatformPostId + publishedUrl
failedCó thể retry cùng idempotencyKey

Quyền & Bảo mật

Hành độngAi làm được
Xem list, history, attempt payloadMọi member
Tạo, sửa, testConnection, getCategories/Tagsorg:admin
Xóa, rotateCredentials, updateWebhookMapping, verifyPublishedArticle, testWebhookDeliveryorg:admin
  • Credentials chỉ lưu dạng mã hoá, không bao giờ trả raw về client — DTO chỉ hiện url/username đã mask
  • delete sẽ kiểm tra còn draft/job nào đang tham chiếu không
  • Webhook hỗ trợ HMAC signing qua secret và custom headers

Webhook Field Mapping

Nếu dùng Webhook với payloadMode: mapped, bạn có thể map tối đa 50 fields từ:

draft.title, draft.content, draft.excerpt, draft.metaDescription, draft.tags, draft.categories, draft.featuredImageUrl, draft.status, draft.publishedAt, draft.seo.score, draft.seo.keywords, metadata.article

Mỗi mapping gồm outputKey (chỉ chữ/số/_ ), sourceKey, enabled, order.

On this page