Chuyển đến nội dung chính
Một bài đăng xuất bản nội dung lên một hoặc nhiều nền tảng được kết nối với profile. Bạn gửi một request, MADIAD Hub phân phối nội dung đến từng nền tảng bạn liệt kê và trả về kết quả theo từng nền tảng.

Chọn endpoint theo loại media

EndpointDùng cho
POST /v1/posts/textCập nhật chỉ có văn bản
POST /v1/posts/photosMột hoặc nhiều ảnh (bao gồm carousel ảnh)
POST /v1/posts/videoMột video duy nhất
Endpoint ảnh và video dùng multipart/form-data. Văn bản dùng JSON.

Phân phối với platforms[]

Liệt kê tất cả nền tảng đích. Nội dung giống nhau được gửi đến từng nền tảng, trừ khi bạn ghi đè theo từng nền tảng.
curl -X POST https://api.madiad.com/v1/posts/photos \
  -H "Authorization: Bearer $MADIAD_API_KEY" \
  -H "Idempotency-Key: launch-001" \
  -F "profile_id=prof_01HZX9F2K4M7N6QR8T0V2W4Y6Z" \
  -F "platforms[]=instagram" \
  -F "platforms[]=facebook" \
  -F "platforms[]=tiktok" \
  -F "caption=New blend dropping today" \
  -F "photos[]=@./launch.jpg"

Ghi đè theo từng nền tảng

caption là chú thích chung mặc định. Ghi đè cho một nền tảng cụ thể bằng field <platform>_caption, tiện lợi cho hashtag, mention hoặc giới hạn độ dài.
  -F "caption=New blend dropping today" \
  -F "instagram_caption=New blend dropping today ☕ #specialtycoffee" \
  -F "x_caption=New blend out now →"
Cùng kiểu tiền tố này áp dụng cho các tùy chọn theo nền tảng khác, chẳng hạn instagram_first_comment.

Tùy chọn nâng cao theo nền tảng

Bất kỳ tùy chọn nào một nền tảng hỗ trợ đều có thể truyền qua, MADIAD Hub forward nguyên vẹn, nên bạn không bị giới hạn ở các field liệt kê ở đây. Thêm tiền tố tên nền tảng khi tùy chọn đó đặc thù cho nền tảng. Một vài ví dụ phổ biến:
FieldNền tảngTác dụng
instagram_first_commentInstagramTự động đăng bình luận đầu tiên sau khi xuất bản
media_typeInstagramREELS, STORIES, …
tiktok_privacy_levelTikTokPUBLIC_TO_EVERYONE, SELF_ONLY, …
disable_comment, disable_duet, disable_stitchTikTokCông tắc tương tác
youtube_tags[]YouTubeTags cho video
privacyStatusYouTubepublic, unlisted, private
visibilityLinkedInPhạm vi hiển thị bài đăng
x_poll_options[] + poll_durationXĐính kèm poll
Các field dạng mảng dùng quy ước field[], lặp lại key một lần cho mỗi giá trị.

Caption sinh bằng AI

Để MADIAD Hub tự viết caption thay vì bạn cung cấp. Hữu ích nhất với bài ảnh và video:
  -F "autogenerate=true" \
  -F "autogenerate_language=vi"
FieldTác dụng
autogenerateSinh cả title lẫn description
autogenerate_titleChỉ sinh title
autogenerate_descriptionChỉ sinh description
autogenerate_languageÉp ngôn ngữ đầu ra (ví dụ en, vi)

Yêu cầu của từng nền tảng

Bài đăng Facebook đi đến một Page, không phải profile cá nhân. Nếu profile chỉ có một Page thì tự động dùng Page đó; nếu có nhiều Page, truyền facebook_page_id để chọn.
Gửi ảnh dưới dạng file nhị phân (photos[]=@file). Với video, bạn có thể tải file lên hoặc truyền một video_url công khai.
Bài đăng Reddit yêu cầu tiêu đề ngoài chú thích, truyền qua reddit_title.

Đọc response

Lệnh đăng trả về status của bài, các nền tảng đã nhắm tới, và các id để bạn poll:
{
  "status": "processing",
  "profile_id": "prof_01HZX9F2K4M7N6QR8T0V2W4Y6Z",
  "platforms": ["instagram", "facebook", "tiktok"],
  "request_id": "req_01HZX9H6S8T0V2W4X6Y8Z0A2B4",
  "job_id": null,
  "results": null
}
  • completed: đã xuất bản đồng bộ, results chứa kết quả theo từng nền tảng.
  • processing: đang tải lên (thường gặp với video). Poll bằng request_id, hoặc đăng ký webhooks.
  • scheduled: đã xếp lịch cho thời điểm tương lai, poll bằng job_id.
Khi có results, nó được phân theo nền tảng:
{
  "results": {
    "instagram": { "status": "published", "url": "https://instagram.com/p/abc123" },
    "tiktok":    { "status": "processing" }
  }
}
Một bài đăng có thể thành công một phần, khi một nền tảng xuất bản được còn nền tảng khác thất bại. Hãy kiểm tra results theo từng nền tảng thay vì chỉ dựa vào status ở cấp cao nhất.

Kiểm tra trạng thái sau

Poll một bài bất đồng bộ hoặc đã lên lịch bằng request_id hoặc job_id từ response của lệnh đăng:
curl "https://api.madiad.com/v1/posts/status?request_id=req_01HZX9H6S8T0V2W4X6Y8Z0A2B4" \
  -H "Authorization: Bearer $MADIAD_API_KEY"
Để nhận cập nhật chủ động thay vì kiểm tra định kỳ, xem Webhooks.