Quản lý mạng xã hội white label cho agency và SaaS

Gửi cho mỗi khách hàng một link dẫn tới trang kết nối mang logo, nội dung và giao diện của bạn. Khách hàng kết nối TikTok, Instagram, YouTube hoặc LinkedIn một lần. Từ đó, bạn đăng bài và lên lịch thay họ qua API, n8n hoặc Make.

Bắt đầu miễn phí, không cần thẻ tín dụng. White label có từ gói Professional.

11 tùy chọn thương hiệu
Token được lưu trữ mã hóa

Ảnh chụp màn hình thật

Khách hàng của bạn sẽ thấy gì

Đây là trang kết nối thật mà khách hàng của bạn mở ra, hiển thị với một thương hiệu mẫu. Northwind Studio là agency giả định và "Harbor Demo Cafe" là khách hàng giả định; còn trang, bố cục và các tùy chọn đều là thật.

Trang kết nối white label của Upload-Post ở chế độ sáng, có logo Northwind Studio, tiêu đề và mô tả tùy chỉnh, nút Back to Northwind Studio và chỉ sáu mạng: Instagram đã kết nối, TikTok, LinkedIn, YouTube, Facebook và X sẵn sàng kết nối
Trang kết nối thật với thương hiệu mẫu. Chế độ sáng, tiêu đề và mô tả tùy chỉnh, danh sách chỉ còn sáu mạng nhờ platforms.
Cùng trang kết nối white label của Upload-Post, cố định ở chế độ tối bằng connect_theme, có logo Northwind Studio và không có nút chuyển chế độ
Cùng trang đó với connect_theme: "dark". Khi bạn cố định chế độ, nút chuyển sáng/tối bị ẩn, nên khách hàng nào cũng thấy đúng lựa chọn của bạn.
Trang kết nối của Upload-Post với ui_labels tùy chỉnh: dòng chữ nhỏ trên tiêu đề ghi Northwind client onboarding, các nút đổi thành Link account, tiêu đề các mục và đoạn quyền riêng tư do agency viết lại
Chữ được viết lại bằng ui_labels: dòng chữ nhỏ trên tiêu đề, tiêu đề các mục, đoạn quyền riêng tư và mọi nút Connect giờ hiển thị đúng câu chữ agency muốn.
Trang kết nối white label của Upload-Post không lọc platforms, liệt kê TikTok, Instagram, LinkedIn, YouTube, Facebook, X, Threads, Pinterest, Reddit, Bluesky, Google Business, Discord, Telegram và một nút hiện thêm 9 mạng
Không có platforms, khách hàng thấy mọi mạng xã hội, các mạng ít phổ biến nằm sau nút "Show 9 more networks". Reddit hiện là không khả dụng vào ngày chúng tôi chụp ảnh này.
Trang kết nối white label của Upload-Post trên điện thoại với logo Northwind Studio, tiêu đề, ghi chú quyền riêng tư, nút quay lại và một tài khoản Instagram đã kết nối
Cùng link đó trên điện thoại rộng 390 px.

Khách hàng làm được gì trên trang đó

  • Kết nối TikTok, Instagram, YouTube, LinkedIn và các mạng dùng OAuth khác ngay trên màn hình đăng nhập của chính mạng đó, nên mật khẩu của họ không bao giờ đến tay bạn hay Upload-Post. Bluesky, Telegram, Discord và một vài mạng khác thì dùng app password, bot token hoặc webhook.
  • Chọn Trang Facebook, trang công ty LinkedIn hoặc địa điểm Google Business mà bạn sẽ đăng bài lên.
  • Kết nối lại tài khoản đã hết quyền truy cập, hoặc ngắt kết nối bất cứ lúc nào.
  • Xem lịch các bài đã lên lịch, nếu bạn để tab này bật. Với tùy chọn chỉ xem, họ chỉ làm được đúng việc này.
  • Quay về website của bạn bằng nút mà bạn đã đặt tên.

Link gắn với một hồ sơ duy nhất. Khách hàng chỉ xem và thay đổi được tài khoản của chính họ, không bao giờ thấy các khách hàng khác của bạn hay API key của bạn.

Cách hoạt động với một agency

Năm bước từ lúc có khách hàng mới đến bài đăng đầu tiên được lên lịch. Bước nào cũng làm được từ dashboard hoặc qua API.

  1. 1

    Tạo một hồ sơ cho mỗi khách hàng

    Trong dashboard, vào Manage Users và thêm một hồ sơ (profile), hoặc gọi POST /api/uploadposts/users với username như client-harbor. Mỗi hồ sơ giữ một tài khoản cho mỗi mạng xã hội.

  2. 2

    Tạo link kết nối mang thương hiệu của bạn

    Bấm Share cạnh hồ sơ rồi điền logo, tiêu đề, mô tả, ngôn ngữ, URL chuyển hướng, chữ trên nút và các mạng. Hoặc gửi các trường đó tới POST /api/uploadposts/users/generate-jwt. Bạn nhận lại một access_url dùng được trong 48 giờ.

  3. 3

    Gửi link cho khách hàng

    Qua email, chat hoặc ngay trong quy trình onboarding của bạn. Khách hàng không cần tài khoản Upload-Post và không bao giờ thấy dashboard của bạn.

  4. 4

    Khách hàng kết nối tài khoản

    Họ đăng nhập TikTok, Instagram, YouTube hoặc LinkedIn và cấp quyền truy cập. Token được lưu mã hóa và tự động làm mới. Nếu bạn thiết lập webhook, bạn nhận sự kiện social_account_connected ngay khi việc đó xảy ra.

  5. 5

    Đăng bài và lên lịch thay họ

    Đăng bài với user=client-harbor và thêm scheduled_date để lên lịch. Bạn làm việc này từ dashboard, từ code của mình, từ template n8n, một scenario Make hoặc trợ lý AI qua MCP server. Lấy số liệu của từng khách hàng từ endpoint analytics.

Hộp thoại Whitelabel Configuration trong dashboard Upload-Post với các trường tiêu đề trang, mô tả, ngôn ngữ, URL logo, URL chuyển hướng, chữ trên nút, tùy chọn lịch và bộ chọn mạng đang chọn TikTok, Instagram, LinkedIn, YouTube, Facebook và X
Hộp thoại Share thật trong Manage Users, điền sẵn thương hiệu mẫu. Bước 2 không cần viết code.

Tất cả tùy chọn thương hiệu

Tất cả đều là trường của lệnh gọi generate-jwt và được lưu trên hồ sơ của khách hàng. Cột cuối cho biết bạn có đặt được tùy chọn đó từ dashboard hay không.

Tùy chọn Tham số Chức năng Ví dụ Dashboard
Logo logo_image Hiển thị logo của bạn ở đầu trang. Dùng được mọi URL ảnh công khai (http hoặc https). "https://agencycuaban.vn/logo.png" Có
Tiêu đề trang connect_title Thay tiêu đề chính, mặc định là "Connect your social accounts". "Kết nối tài khoản với Northwind Studio" Có
Mô tả connect_description Thay dòng chữ nằm dưới tiêu đề. "Liên kết các kênh mà chúng tôi sẽ quản lý cho bạn." Có
Mạng xã hội hiển thị platforms Chỉ những mạng bạn liệt kê mới xuất hiện. Không gửi trường này thì khách hàng thấy mọi mạng xã hội. ["instagram", "tiktok", "linkedin"] Có
URL chuyển hướng redirect_url Nơi nút quay lại đưa khách hàng về khi họ làm xong. "https://agencycuaban.vn/onboarding/hoan-tat" Có
Chữ trên nút quay lại redirect_button_text Nhãn hiển thị trên nút quay lại đó. "Quay lại Northwind Studio" Có
Ngôn ngữ language Cố định tiếng Anh, Tây Ban Nha, Đức, Pháp, Bồ Đào Nha, Ba Lan hoặc Thổ Nhĩ Kỳ. Nếu không đặt, trang theo ngôn ngữ của trình duyệt và mặc định về tiếng Anh. "en" Có
Mọi đoạn chữ trên trang ui_labels Viết lại từng đoạn chữ của trang theo khóa (key): nút bấm, tiêu đề các mục, đoạn về quyền riêng tư. Tối đa 100 khóa, mỗi khóa 300 ký tự. {"connect.card.connect": "Liên kết tài khoản"} Chỉ qua API
Chế độ sáng/tối connect_theme Cố định chế độ sáng hoặc tối và ẩn nút chuyển chế độ. "auto" trả lại quyền chọn cho người xem. "dark" Chỉ qua API
Tab lịch show_calendar Hiện hoặc ẩn tab lịch với các bài đã lên lịch của hồ sơ đó. Mặc định bật. false Có
Lịch chỉ xem readonly_calendar Khách hàng chỉ xem được lịch. Họ không thể sửa hay xóa bài, cũng không thể kết nối hoặc ngắt kết nối tài khoản. true Có

Mọi tùy chọn trong một request

curl -X POST https://api.upload-post.com/api/uploadposts/users/generate-jwt \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "client-harbor",
    "logo_image": "https://agencycuaban.vn/logo.png",
    "connect_title": "Kết nối tài khoản với Northwind Studio",
    "connect_description": "Liên kết các kênh mà chúng tôi sẽ quản lý cho bạn.",
    "platforms": ["instagram", "tiktok", "linkedin"],
    "redirect_url": "https://agencycuaban.vn/onboarding/hoan-tat",
    "redirect_button_text": "Quay lại Northwind Studio",
    "language": "en",
    "connect_theme": "light",
    "ui_labels": { "connect.card.connect": "Liên kết tài khoản" },
    "show_calendar": false
  }'

Cần lưu ý

  • Hãy gửi đầy đủ thông tin thương hiệu mỗi lần tạo link. Logo, tiêu đề, mô tả, chữ trên nút, URL chuyển hướng, danh sách mạng và ngôn ngữ sẽ bị xóa khỏi hồ sơ nếu bạn không gửi.
  • ui_labels, connect_theme và hai công tắc lịch chỉ thay đổi khi bạn gửi chúng. Gửi null hoặc {} để đặt lại các nhãn.
  • Nhãn thay chữ trong ngôn ngữ mà trang đang hiển thị. Nếu bạn viết nhãn bằng tiếng Việt mà trình duyệt của khách hàng dùng tiếng Pháp, phần còn lại của trang vẫn là tiếng Pháp, vì vậy hãy đặt cả language.
  • Danh sách khóa nhãn và mô tả đầy đủ các tham số có trong tài liệu User Profiles API.

Những phần không được white label

Thà bạn đọc ở đây còn hơn phát hiện ra qua khách hàng. Những phần này của quy trình vẫn hiển thị Upload-Post hoặc mạng xã hội.

Địa chỉ trang

Trang có sẵn nằm ở app.upload-post.com/connect. Không có tùy chọn tên miền riêng hay CNAME. Nếu cần dùng tên miền của mình, hãy tự dựng trang bằng Connect API; OAuth callback vẫn đi qua app.upload-post.com trong chốc lát.

Màn hình cấp quyền của các mạng xã hội

Khi khách hàng đăng nhập, TikTok, Meta, Google, LinkedIn và các mạng khác hiển thị màn hình riêng với ứng dụng đã đăng ký ở đó, tức là ứng dụng đã được duyệt của Upload-Post. Đó cũng là lý do bạn không phải qua vòng duyệt ứng dụng (app review) của họ.

Hộp quyền riêng tư

Trang luôn có một ghi chú ngắn "How your data is used", kèm link tới chính sách quyền riêng tư của Upload-Post và [email protected]. Mặc định, ghi chú này nêu TONVI TECH SL, công ty đứng sau Upload-Post, là bên xử lý dữ liệu. Bạn có thể viết lại câu chữ bằng ui_labels, nhưng hộp này và các link đó vẫn ở lại.

Màu sắc, tiêu đề tab và dashboard của bạn

Bạn chọn sáng hoặc tối, không chọn được màu thương hiệu: các nút vẫn giữ màu chàm (indigo) của Upload-Post. Tiêu đề và biểu tượng trên tab trình duyệt là của Upload-Post. Dashboard mà nhóm của bạn đăng nhập là Upload-Post, không phải một ứng dụng đã đổi thương hiệu.

Sao không tự xây các tích hợp?

Tích hợp trực tiếp nghĩa là phải qua vòng duyệt ứng dụng với Meta và TikTok, tự viết logic làm mới token và xử lý các thay đổi API gây lỗi, lặp lại cho từng mạng. Với một API duy nhất, bạn có mọi mạng xã hội sau một endpoint cùng trang kết nối ở phía trên.

Agency

Mỗi khách hàng một hồ sơ, thương hiệu của bạn trên link kết nối, đăng bài và lên lịch từ một nơi

Nền tảng SaaS

Thêm tính năng đăng lên mạng xã hội vào sản phẩm mà không phải xây tích hợp riêng cho từng mạng

Công cụ sáng tạo nội dung

Cho người dùng chia sẻ những gì họ tạo ra thẳng lên tài khoản mạng xã hội của chính họ

Các lệnh gọi API phía sau

Dành cho lập trình viên nhúng tính năng này vào SaaS hoặc công cụ của agency. Không phải tự xây luồng OAuth, không phải quản lý thông tin xác thực của từng nền tảng.

1

Tạo hồ sơ cho mỗi khách hàng hoặc người dùng

Hồ sơ là nơi chứa các tài khoản mạng xã hội của một khách hàng (hoặc một người dùng trong ứng dụng của bạn). Hãy dùng ID nội bộ của bạn làm username để việc đối chiếu về sau thật đơn giản.

curl -X POST https://api.upload-post.com/api/uploadposts/users \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username": "your-internal-user-id-123"}'
2

Tạo URL kết nối mang thương hiệu của bạn

Đây là nơi bạn đặt thông tin thương hiệu: logo, tiêu đề, URL chuyển hướng, các mạng và những tùy chọn khác trong bảng ở trên. Phản hồi chứa access_url, có hiệu lực 48 giờ.

curl -X POST https://api.upload-post.com/api/uploadposts/users/generate-jwt \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "your-internal-user-id-123",
    "redirect_url": "https://yourapp.com/social-connected",
    "logo_image": "https://yourapp.com/logo.png",
    "platforms": ["tiktok", "instagram", "youtube"]
  }'
3

Khách hàng kết nối tài khoản

Đưa khách hàng hoặc người dùng tới access_url. Trên các mạng dùng OAuth như TikTok, Instagram và YouTube, họ xác thực trực tiếp với mạng đó, nên Upload-Post không bao giờ thấy mật khẩu của họ, và token nhận được sẽ được lưu mã hóa.

Upload-Post lo giúp bạn

Luồng OAuth 2.0

Làm mới token

Lưu trữ mã hóa

4

Đăng hoặc lên lịch thay họ

Đưa username của hồ sơ vào tham số user trong bất kỳ request upload nào. Thêm scheduled_date để đăng sau thay vì đăng ngay.

curl -X POST https://api.upload-post.com/api/upload \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -F "user=your-internal-user-id-123" \
  -F "video=@/path/to/video.mp4" \
  -F "title=Thực đơn mùa thu mới" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "scheduled_date=2026-10-02T09:00:00Z"

Một API key, mỗi khách hàng một hồ sơ

Tất cả khách hàng của bạn nằm dưới một tài khoản và một API key, mỗi khách hàng có hồ sơ riêng với các tài khoản mạng xã hội riêng.

Hồ sơ hoạt động thế nào

Mỗi hồ sơ kết nối một tài khoản cho mỗi mạng. Gói của bạn quyết định số hồ sơ, và số hồ sơ không phải là giới hạn tổng số tài khoản mạng xã hội: với gói Professional, bạn có thể kết nối cùng lúc 25 tài khoản TikTok, 25 tài khoản Instagram và 25 tài khoản LinkedIn.

  • Thông tin xác thực tách biệt: token mạng xã hội của mỗi khách hàng chỉ thuộc về hồ sơ của họ
  • Webhook cho từng khách hàng: đặt cho mỗi hồ sơ một URL riêng để nhận sự kiện kết nối và upload
  • Một hóa đơn: một gói đăng ký duy nhất cho mọi khách hàng

Ví dụ cách tổ chức

Agency của bạn (1 API key)
Hồ sơ: client-harbor
Instagram, TikTok, Facebook
Hồ sơ: client-lumen
LinkedIn, YouTube
1 tài khoản cho mỗi mạng trong mỗi hồ sơ. Khách hàng có 2 tài khoản Instagram cần 2 hồ sơ.
Các gói có white label
Gói Số hồ sơ Trả theo tháng Trả theo năm
Professional 25 $50/tháng $33/tháng ($400/năm)
Advanced 75 $147/tháng $118/tháng ($1.411/năm)
Business 225, sau đó $1/tháng cho mỗi hồ sơ thêm $438/tháng $350/tháng ($4.205/năm)

Giá bằng USD tại thời điểm tháng 9/2026. Giá bằng euro và các gói hồ sơ bổ sung cho Professional và Advanced có trong mục bảng giá, luôn là nguồn cập nhật nhất.

Ai dùng tích hợp mạng xã hội white label?

Nền tảng SaaS

Hệ thống quản lý nội dung, nền tảng marketing automation và phần mềm doanh nghiệp.

Agency marketing

Agency digital marketing và các công ty dịch vụ quản lý mạng xã hội.

Nền tảng nội dung

Nền tảng blog, trang lưu trữ video và công cụ sáng tạo nội dung.

Nền tảng giáo dục

Hệ thống quản lý học tập (LMS) và nền tảng nội dung giáo dục.

Nền tảng thương mại điện tử

Sàn thương mại điện tử và các giải pháp bán hàng online.

Nền tảng video

Nền tảng lưu trữ video và dịch vụ phát trực tuyến.

Thông số kỹ thuật và tuân thủ

Nền tảng được hỗ trợ

TikTok TikTok
Hỗ trợ đầy đủ
Instagram Instagram
Hỗ trợ đầy đủ
YouTube YouTube
Hỗ trợ đầy đủ
Facebook Facebook
Hỗ trợ đầy đủ
LinkedIn LinkedIn
Hỗ trợ đầy đủ
X (Twitter) X (Twitter)
Hỗ trợ đầy đủ
Threads Threads
Hỗ trợ đầy đủ
Pinterest Pinterest
Hỗ trợ đầy đủ
Bluesky Bluesky
Hỗ trợ đầy đủ
Discord Discord
Hỗ trợ đầy đủ
Telegram Telegram
Hỗ trợ đầy đủ

Và 11 nền tảng khác, gồm Google Business, Slack, Mastodon và WordPress. Xem đủ 22 nền tảng

Tính năng bảo mật

Lưu trữ token mã hóa

Token mạng xã hội được mã hóa khi lưu trữ.

Tích hợp OAuth

Trên các mạng dùng OAuth, khách hàng đăng nhập ngay trên màn hình của chính mạng đó. Mật khẩu của họ không bao giờ đi qua bạn hay Upload-Post.

Link kết nối giới hạn phạm vi

Mỗi link kết nối chỉ mở một hồ sơ và hết hạn sau 48 giờ.

Đưa thương hiệu của bạn vào quy trình onboarding khách hàng

Tạo hồ sơ, bấm Share, gửi link. Trang kết nối mang thương hiệu đầu tiên của bạn chỉ mất vài phút.

Bắt đầu miễn phí, không cần thẻ tín dụng. White label có từ gói Professional.

Quản lý mạng xã hội white label: câu hỏi thường gặp

Những câu hỏi agency và đội ngũ SaaS thường đặt ra trước khi gửi link kết nối mang thương hiệu đầu tiên

Khách hàng của tôi có cần tài khoản Upload-Post không?

Không. Link kết nối mang theo một token chỉ dành cho hồ sơ của khách hàng đó. Khách hàng mở link, đăng nhập vào từng mạng xã hội là xong. Link có hiệu lực trong 48 giờ, hết hạn thì bạn tạo link mới.

Tôi có thể đặt trang kết nối trên tên miền riêng không?

Với trang có sẵn thì không: trang luôn nằm ở app.upload-post.com/connect và không hỗ trợ tên miền riêng. Nếu địa chỉ trang quan trọng với bạn, Connect API cho phép bạn tự dựng trang kết nối trên website của mình. Kể cả khi đó, mạng xã hội vẫn đưa khách hàng đi qua app.upload-post.com trong chốc lát, vì đó là địa chỉ OAuth callback đã đăng ký với từng nền tảng.

Gói nào có white label?

Professional, Advanced và Business. Gói Free và Basic không có. Professional gồm 25 hồ sơ, Advanced 75 và Business 225; với Business, mỗi hồ sơ thêm có giá $1/tháng. Không cần gọi cho bộ phận kinh doanh: bạn tự chọn gói trên trang bảng giá.

Một hồ sơ chứa được bao nhiêu tài khoản của khách hàng?

Mỗi hồ sơ giữ một tài khoản cho mỗi mạng xã hội, nên một hồ sơ có thể là một khách hàng đã kết nối Instagram, TikTok, LinkedIn và YouTube. 25 hồ sơ nghĩa là tối đa 25 tài khoản trên mỗi mạng, không phải tổng cộng 25 tài khoản. Khách hàng có hai tài khoản Instagram thì cần hai hồ sơ.

Mỗi lần tạo link tôi có phải gửi lại thông tin thương hiệu không?

Có, với logo, tiêu đề, mô tả, chữ trên nút, URL chuyển hướng, danh sách mạng và ngôn ngữ. Mỗi lần gọi generate-jwt sẽ lưu đúng những gì bạn gửi, nên trường nào bạn không gửi sẽ bị xóa khỏi hồ sơ đó. ui_labels, connect_theme, show_calendar và readonly_calendar thì khác: chúng chỉ thay đổi khi bạn gửi.

Khách hàng có xem được những bài đã lên lịch không?

Có. Tab lịch được bật sẵn và hiển thị các bài đã lên lịch của hồ sơ đó. Bật readonly_calendar thì link trở thành lịch nội dung chỉ xem: khách hàng xem được nhưng không thể sửa, xóa hay thay đổi kết nối. Gửi họ đến /connect/calendar với cùng token để mở thẳng trang lịch.

Trang kết nối hỗ trợ những ngôn ngữ nào?

Tiếng Anh, Tây Ban Nha, Đức, Pháp, Bồ Đào Nha, Ba Lan và Thổ Nhĩ Kỳ. Bạn có thể cố định một ngôn ngữ cho từng hồ sơ bằng tham số language hoặc để trang theo trình duyệt. Trang chưa có sẵn tiếng Việt: muốn khách hàng đọc chữ tiếng Việt hay bất kỳ câu chữ nào khác, bạn tự viết bằng ui_labels.

Làm sao biết khách hàng đã kết nối tài khoản?

Dùng webhook. Upload-Post gửi các sự kiện social_account_connected, social_account_disconnected, social_account_reauth_required và upload_completed. Mỗi hồ sơ có thể có URL webhook riêng, nên mỗi khách hàng có thể báo về một endpoint khác nhau trong hệ thống của bạn.

Tôi có lấy được số liệu analytics theo từng khách hàng không?

Có. Endpoint analytics nhận username của hồ sơ, nên bạn lấy số liệu của từng khách hàng một và tự dựng báo cáo riêng dựa trên đó.

Upload-Post có SDK không?

Có SDK chính thức cho Python (pip install upload-post) và JavaScript/Node (npm install upload-post). Ngoài ra đây là REST API thông thường dùng API key, nên ngôn ngữ lập trình hay công cụ no-code nào gửi được HTTP request cũng dùng được.

Thiết lập mất bao lâu?

Không cần code: tạo một hồ sơ trong Manage Users, bấm Share, điền thông tin thương hiệu và gửi link. Với API thì chỉ cần hai lệnh gọi, một để tạo hồ sơ và một để tạo link, cộng với các lệnh upload bạn vốn đã cần để đăng bài.

Tôi được hỗ trợ những gì?

Tài liệu có code mẫu cho mọi endpoint, và hỗ trợ qua email tại [email protected]. Gói Advanced và Business có hỗ trợ ưu tiên.

Chi tiết hơn: User Profiles API, Connect API, Webhooks và SDK.