- Trên dashboard: mỗi thương hiệu hiện ra trong mục Kết nối dưới dạng một Profile. Phần lớn khách hàng tạo và kết nối Profile tại đây, không cần code.
- Qua API: bạn tham chiếu chính Profile đó bằng
profile_id(9f2b4c17-…) trong mỗi lần đăng bài.
Một Profile chứa được nhiều Facebook Page, bạn không cần tạo Profile riêng cho từng
Page. Sau khi kết nối, dashboard liệt kê đủ các Page của tài khoản Facebook đó và mỗi bài
đăng chọn một Page bằng
facebook_page_id (tự chọn nếu Profile chỉ có một Page). Muốn đăng
cùng nội dung lên nhiều Page thì gửi nhiều bài, mỗi bài một Page. Xem mục Tìm ID của Page
& board bên dưới. Có một ngoại lệ: nếu một Page được ghim vào Profile thì ghim thắng
facebook_page_id, xem mục Ghim một Page vào Profile bên dưới.Số Profile theo từng gói
Mỗi gói bao gồm một số lượng Profile cố định:
Khi đạt giới hạn của gói, nâng cấp để có thêm Profile.
Tạo Profile
Trên dashboard
Vào Kết nối → Kết nối tài khoản và xác thực từng nền tảng bạn muốn đăng lên. Profile sẽ được tạo tự động, bạn không cần tự quản lýprofile_id.
Qua API
Khi bắt đầu một kết nối, hệ thống sẽ tạo Profile và trả về URL kết nối (đã khoác áo thương hiệu, có thời hạn) trong cùng một lần gọi:profile_id (9f2b4c17-…) được trả về mỗi khi bạn đăng bài.
Bỏ qua bước chọn nền tảng
POST /v1/connections/start trả về liên kết tới trang để người dùng tự chọn nền tảng muốn kết nối.
Nếu bạn muốn tự hiển thị lựa chọn đó trong giao diện của mình, hãy yêu cầu đúng một nền tảng và
nhận về luôn URL cấp quyền của chính nền tảng đó:
/v1/connections/start, endpoint này tự tạo Profile khi bạn bỏ trống profile_id, và nhận
thêm friendly_name tuỳ chọn.
Mọi nền tảng đều khởi tạo được theo cách này, trừ Bluesky: nó xác thực bằng app password chứ
không phải OAuth nên sẽ trả về 400 platform_not_startable. Với nền tảng đó hãy dùng liên kết kết
nối chung.
Liệt kê Profile qua API
Có hai endpoint cùng trả về Profile. Dùng cái nào là tùy bạn có cần biết mỗi Profile đang kết nối những gì hay không.Chỉ lấy danh sách
GET /v1/profiles trả về mọi Profile trên tài khoản, không kèm gì thêm:
profile_id và friendly_name. Danh sách sắp theo thứ tự
tạo, cũ trước. Tài khoản được lấy từ chính API key nên endpoint này không nhận tham số nào và
không bao giờ trả về Profile của tài khoản khác. Đây là một lệnh GET: nó không tiêu tốn lượt
đăng hay phút xử lý video, chỉ tính vào rate limit
theo phút.
Hãy dùng endpoint này để đổ dữ liệu cho một ô chọn Profile, hoặc bất cứ khi nào bạn chỉ cần
profile_id mà mọi lệnh đăng bài, kết nối và phân tích đều đòi. Nó chỉ đọc dữ liệu của chính
MADIAD Hub nên trả lời nhanh, và vẫn trả lời được cả khi một nền tảng mạng xã hội đang không truy
cập được.
Danh sách kèm chi tiết kết nối
GET /v1/connections/status, gọi mà bỏ trống profile_id, trả về mọi Profile cùng những nền
tảng từng Profile đã nối:
profiles có profile_id và friendly_name như trên, kèm thêm connected
và accounts (xem chi tiết ở Kiểm tra các nền tảng đã kết
nối bên dưới). Để dựng được phần chi tiết đó, lệnh phải tra
cứu trực tiếp các tài khoản đã nối, nên nó chậm hơn GET /v1/profiles và có thể báo lỗi trong lúc
việc tra cứu ấy không sẵn sàng. Khi chỉ cần ID thì hãy gọi GET /v1/profiles.
Muốn biết còn bao nhiêu slot Profile trong gói thì gọi GET /v1/usage:
trường profiles trả về used / limit / remaining.
Kết nối tài khoản mạng xã hội
Mỗi Profile bắt đầu ở trạng thái trống. Mở trang kết nối trong trình duyệt và đăng nhập vào từng nền tảng bạn muốn đăng nội dung. MADIAD Hub lưu trữ thông tin ủy quyền, vì vậy bạn không cần tự xử lý token của các nền tảng.1
Mở trang kết nối
Trên dashboard, nhấn Kết nối tài khoản. Qua API, gửi cho người dùng (hoặc chính bạn)
access_url được trả về từ /v1/connections/start.2
Ủy quyền từng nền tảng
Đăng nhập vào Instagram, Facebook, TikTok và các nền tảng khác. Các kết nối sẽ tồn tại cho đến khi bị thu hồi.
3
Đăng bài
Tham chiếu Profile bằng
profile_id trong mọi request đăng bài.Các nền tảng được hỗ trợ
Một Profile có thể kết nối với bất kỳ kênh nào trong 22 kênh liệt kê ở Kênh. Trang đó cũng ghi rõ mỗi kênh nhận loại bài nào. Bài đăng chỉ thành công trên các nền tảng mà Profile đích đã thực sự kết nối. Nếu liệt kê một nền tảng chưa được kết nối, hệ thống sẽ trả về lỗi cho nền tảng đó.Kết nối kênh nhập thủ công
Các kênh OAuth được kết nối bằng cách đăng nhập trên trang kết nối. Mười một kênh hoạt động khác: Telegram, Discord, Slack, Mastodon, Nostr, Lemmy, dev.to, Hashnode, WordPress, Whop và listmonk không có đăng nhập OAuth, nên thay vào đó bạn liên kết bot, webhook, API key hoặc application password của chính mình bằngPOST /v1/connections/{kênh}.
Kênh liệt kê đầy đủ trường cần cho cả mười một kênh. Hai ví dụ dưới đây cho thấy dạng chung; các kênh còn lại theo đúng dạng đó.
Telegram: dùng bot của bạn
Telegram: dùng bot của bạn
- Nhắn @BotFather trên Telegram và gửi
/newbotđể tạo bot. Sao chép bot token. - Thêm bot vào kênh hoặc nhóm đích với quyền quản trị viên (admin) để bot có thể đăng bài.
- Trên dashboard, mở Kết nối → Telegram, dán bot token và chat ID (
@tenkenhhoặc id dạng số như-100123456789), rồi kết nối.
profile_id, bot_token, chat_id. name là nhãn tùy chọn. Bot phải có quyền quản trị viên trong kênh hoặc nhóm đích. chat_id là @tenkenh hoặc id dạng số như -100123456789. Trả về 400 nếu thiếu bất kỳ field bắt buộc nào.Discord: webhook của kênh
Discord: webhook của kênh
- Trong Discord, vào Cài đặt máy chủ → Tích hợp → Webhook → Tạo webhook, chọn kênh muốn đăng, rồi bấm Sao chép URL webhook.
- Trên dashboard, mở Kết nối → Discord, dán URL webhook, rồi kết nối.
profile_id, webhook_url. name là nhãn tùy chọn. Trả về 400 nếu thiếu bất kỳ field bắt buộc nào.Các kênh nhập thủ công không nằm trong Analytics: số liệu người theo dõi, phạm vi tiếp cận và mức độ tương tác không có sẵn cho kênh nào trong nhóm này, Google Business Profile cũng vậy.
Lượt đăng không giới hạn trên mọi gói trả phí. Xử lý video vẫn có hạn mức ở nơi nó được bật, và hạn mức đó áp dụng cho cả tài khoản: mọi thương hiệu dùng chung một hạn mức hàng tháng, nên thương hiệu nào bận rộn có thể “mượn” phần của thương hiệu ít hoạt động hơn. Số Profile mới là con số cần cân nhắc khi hoạch định. Xem Mức sử dụng.
Tìm ID của Page & board
Một số nền tảng yêu cầu ID bạn cần tra cứu trước khi đăng. Dùng các endpoint sau để lấy ID đó cho một Profile.Facebook Pages
Nếu một Profile có nhiều hơn một Facebook Page đã kết nối, truyềnfacebook_page_id trong request đăng bài để chọn Page muốn đăng. Liệt kê các Page khả dụng bằng:
id, name, và picture (URL ảnh đại diện, có thể là null). Truyền id đã chọn vào facebook_page_id khi đăng bài. Nếu Profile chỉ có đúng một Page thì tự động được chọn. Endpoint này chỉ cần dùng khi có nhiều Page. Trả về 400 nếu thiếu profile_id, 404 nếu Profile không thuộc về bạn.
LinkedIn Pages
LinkedIn đăng bài dưới danh nghĩa người dùng đã kết nối, hoặc dưới danh nghĩa một trang tổ chức mà người đó quản trị. Muốn đăng dưới danh nghĩa tổ chức thì truyền ID của trang đó vàotarget_linkedin_page_id (xem Tùy chọn theo nền tảng). Liệt kê
các tổ chức khả dụng của một Profile bằng:
id ở đây là URN đầy đủ dạng urn:li:organization:…, không phải một dãy số trần, nên hãy truyền
nguyên văn vào target_linkedin_page_id. Bỏ trống trường đó thì bài đi dưới danh nghĩa cá nhân đã
kết nối. Chỉ id và name là phần cam kết của API, các trường còn lại là thông tin phụ và có thể
đổi. Trả về 409 platform_not_connected nếu Profile chưa nối tài khoản LinkedIn, và
404 not_found nếu Profile không thuộc về bạn.
Pinterest boards
Pinterest bắt buộc phải có board ID cho mỗi lần ghim. Liệt kê các board khả dụng của một Profile bằng:id và name. Truyền id đã chọn vào pinterest_board_id khi đăng bài. Field này luôn bắt buộc với Pinterest. Trả về 400 nếu thiếu profile_id, 404 nếu Profile không thuộc về bạn.
Ghim một Page vào Profile
Nối Facebook là nối một tài khoản, mà một tài khoản có thể quản trị nhiều Page; LinkedIn cũng vậy với các trang tổ chức, và Google Business với các địa điểm. Ghim một Page (hoặc địa điểm) vào Profile là cố định đích đến: mọi bài từ Profile đó đều đi tới đó, không còn chuyện rơi về Page mà tài khoản đang lấy làm mặc định. Bạn cũng đặt và bỏ ghim được ngay trên dashboard, trong mục Kết nối. Mọi lệnh dưới đây dùng chung chofacebook, linkedin và google_business, chỉ cần đổi tên nền tảng trong đường dẫn.
Xem Page đang ghim
pages là toàn bộ Page mà tài khoản đã nối có thể đăng lên. selected_page_id và
selected_page_name chính là ghim hiện tại, cả hai bằng null khi chưa ghim gì. Ở biến thể
LinkedIn, các id là URN dạng urn:li:organization:….
Đặt ghim
profile_id và page_id đều bắt buộc, thiếu page_id sẽ nhận 400 invalid_request. page_id
phải là một Page mà tài khoản đã nối có quyền quản trị, hãy chọn từ danh sách pages ở trên. Phản
hồi trả về đúng đối tượng như lệnh đọc, với selected_page_id đã được đặt. Ghim là thuộc tính của
Profile, được đọc vào lúc bài thực sự lên sóng chứ không phải lúc bạn tạo bài, nên nó chi phối cả
những bài bạn đã lên lịch từ trước.
Bỏ ghim
facebook_page_id của từng bài lại là thứ quyết định đích đến.
Địa điểm Google Business
google_business ghim một địa điểm chứ không phải một trang. Lệnh đọc trả về các trường địa
điểm thay cho pages:
name của địa điểm vào page_id (hoặc location_id). Khi tài khoản Google đã
nối quản nhiều địa điểm, mỗi bài phải đi tới địa điểm đã ghim hoặc kèm gbp_location_id; nếu chỉ
có một địa điểm thì không cần gì. Địa điểm đã ghim cũng là địa điểm mặc định của Profile cho phần
đánh giá và phân tích.
Kiểm tra các nền tảng đã kết nối
Để xem một Profile hiện đang kết nối những nền tảng nào, gọi:connected liệt kê slug các nền tảng đang được kết nối vào Profile, còn accounts kèm tên/handle tài
khoản đã kết nối theo từng nền tảng. Bỏ profile_id để lấy trạng thái của tất cả Profile trong tài
khoản. Đây là cách kiểm tra trạng thái theo yêu cầu; muốn được thông báo ngay khi một kết nối
thay đổi, hãy đăng ký webhook connection.connected / connection.disconnected.
Khi nào nên dùng nhiều Profile
- Agency: một Profile cho mỗi khách hàng.
- Nhóm đa thương hiệu: một Profile cho mỗi thương hiệu.
- Môi trường: các Profile riêng biệt cho đối tượng thử nghiệm và sản xuất.

