Chuyển đến nội dung chính
POST
Đăng bài tài liệu

Ủy quyền

Authorization
string
header
bắt buộc

API key của bạn, gửi ở header Authorization: Bearer <key>. Một key quản lý mọi hồ sơ trong tài khoản.

Tiêu đề

Idempotency-Key
string

Khoá bạn tự sinh cho TỪNG bài, ghi xuống TRƯỚC khi gọi. Dùng lại một khoá đã hoàn tất thì API trả về kết quả cũ chứ không đăng bài mới — nhìn từ ngoài giống hệt bị bỏ qua trong im lặng. Dùng lại cho một thân yêu cầu KHÁC thì nhận idempotency_conflict.

Nội dung

application/json
profile_id
string
bắt buộc

Id của hồ sơ thương hiệu cần thao tác. Lấy danh sách bằng GET /v1/profiles.

platforms
enum<string>[]
bắt buộc

Các kênh cần đăng. Nhận cả chuỗi các mã cách nhau bằng dấu phẩy.

Tùy chọn có sẵn:
tiktok,
instagram,
linkedin,
youtube,
facebook,
x,
threads,
pinterest,
reddit,
bluesky,
google_business,
telegram,
discord,
slack,
mastodon,
nostr,
lemmy,
devto,
hashnode,
wordpress,
whop,
listmonk
document_url
string<uri>
bắt buộc

Địa chỉ https:// của tài liệu cần đăng.

caption
string
bắt buộc

PHẦN THÂN của bài. Đây KHÔNG phải tiêu đề: title (và <kênh>_title cho riêng từng kênh) là trường khác. Nhét thân bài vào title thì bài vẫn đăng được nên rất khó phát hiện, nhưng nó đi vòng qua phép kiểm độ dài thân bài.

scheduled_at
string<date-time>

Đăng vào thời điểm này thay vì đăng ngay (ISO 8601). Đi kèm timezone.

timezone
string

Múi giờ IANA cho scheduled_at, ví dụ Asia/Ho_Chi_Minh.

Phản hồi

Thành công.

status
enum<string>

processing và scheduled chưa phải kết quả — tra lại bằng GET /v1/posts/status. draft: không kênh nào từ chối, nhưng ít nhất một kênh đang giữ bài ở mục nháp (xem results.<kênh>.draft); đây là kết quả cuối. canceled chỉ có ở lệnh tra trạng thái: bài hẹn giờ đã huỷ trước khi chạy. unknown: lệnh đăng đã ngừng chờ trước khi các kênh trả lời (502 upstream_timeout) và phía các kênh chưa nhận được bài; cứ tra tiếp.

Tùy chọn có sẵn:
completed,
draft,
partial,
failed,
processing,
scheduled,
canceled,
unknown
profile_id
string
platforms
string[]
failed_platforms
string[]

Chỉ xuất hiện khi có ít nhất một kênh từ chối.

request_id
string | null
job_id
string | null
truncated
object[]

Chỉ xuất hiện khi caption chung đã được cắt cho vừa một kênh. Mỗi kênh và mỗi phần chữ một dòng: text là title (tiêu đề), caption (nội dung) hoặc description (mô tả), field là trường của kênh nhận phần chữ đã cắt, length là độ dài caption và limit là giới hạn, cả hai tính theo unit (utf16 là ký tự, utf8 là byte, dùng cho mô tả YouTube). Kênh nào không có trong danh sách thì nhận đủ caption.

results
object | null

Khoá theo tên kênh.

warnings
object[]

Chỉ xuất hiện khi một kênh đã đăng bài nhưng không đúng hẳn như yêu cầu — ví dụ bài ảnh TikTok lên mà không có nhạc đã chọn. Cảnh báo KHÔNG đổi status: bài đã lên, đừng gửi lại. Với bài xử lý nền, cảnh báo xuất hiện ở GET /v1/posts/status, không có ở phản hồi đăng đầu tiên. Cảnh báo mà nền tảng chỉ trả kèm câu trả lời đầu tiên của bài thì chỉ có ở phản hồi đăng.