Bỏ qua để đến nội dung

Bài blog trên Duda

Bài blog Duda dùng cùng các MCP tool như WordPress — create_draft, update_draft, schedule_draft, unschedule, list_drafts, get_post. Adapter dispatch theo site.platform.

  • Duda Team plan trở lên (bắt buộc để truy cập API)
  • Secret DUDA_API_USER + DUDA_API_PASS đã set trên worker
  • Site đã đăng ký với platform: dudaduda_site_name đã set
  • Blog đã tồn tại trên Duda site (Duda tạo blog object lúc tạo bản nháp đầu tiên nếu chưa có, nhưng editor post type phải được bật)
create_draft
site_id="<duda-site-id>"
title="Welcome to our new site"
content_md="Hello world..."
tags=["launch", "announcement"]
author="Sarah"
featured_image_url="https://cdn.example.com/hero.jpg"

Đặc thù Duda:

  • content_md được chuyển thành HTML rồi encode base64 trước khi POST tới /api/sites/multiscreen/{site_name}/blog/posts/import. An toàn UTF-8.
  • tagstên dạng chuỗi (không phải ID như WordPress). Worker truyền thẳng qua.
  • featured_image_url trở thành main_image.url trong payload Duda. Không có bước upload_media riêng.
  • Bài viết được tạo ở dạng DRAFT. Worker từ chối mọi đường dẫn có thể publish ngay.
schedule_draft
site_id="<duda-site-id>"
post_id="abc-1234"
scheduled_at="2026-06-10T08:00:00Z"

Thời gian dự phòng ≥ 60 giây — quá khứ hoặc timestamp gần ngay-bây-giờ sẽ throw ForbiddenOperationError.

unschedule site_id="<duda-site-id>" post_id="abc-1234"

Đưa một bài đã lên lịch về dạng bản nháp. Không có đường dẫn published→draft vì worker không reach được bài đã publish (endpoint list /posts của Duda trả về các item PUBLISHED, nhưng call unschedule bị gated bằng kiểm tra status).

  • upload_media — Duda chỉ chấp nhận URL ảnh
  • list_taxonomies / create_taxonomy — tag Duda là chuỗi tự do
  • create_page_from_code — trang code-first chỉ WordPress mới có
  • list_page_templates — Duda có hệ thống template riêng, không expose qua REST

Xem Trang Duda cho workflow Pages v2.