화이트라벨 소셜 미디어 관리 에이전시와 SaaS를 위해
고객마다 내 로고, 내 문구, 내 테마를 적용한 연결 페이지 링크를 보내세요. 고객은 TikTok, Instagram, YouTube, LinkedIn을 한 번만 연결하면 됩니다. 그다음부터는 API, n8n, Make로 고객 대신 게시하고 예약합니다.
무료로 시작할 수 있고 신용카드는 필요 없습니다. 화이트라벨은 Professional 플랜부터 포함됩니다.
import { UploadPost } from 'upload-post';
const api = new UploadPost('YOUR_API_KEY');
// 고객 한 명당 프로필 하나
const client = 'client-harbor';
await api.createUser(client);
// 브랜딩된 연결 링크, 48시간 유효
const { access_url } = await api.generateJwt(client, {
logoImage: 'https://youragency.com/logo.png',
connectTitle: 'Connect your accounts',
redirectUrl: 'https://youragency.com/done',
platforms: ['instagram', 'tiktok', 'linkedin']
});
// access_url을 고객에게 보내기 실제 화면
고객에게 보이는 화면
고객이 여는 실제 연결 페이지를 예시 브랜드로 렌더링한 화면입니다. Northwind Studio는 가상의 에이전시이고 "Harbor Demo Cafe"도 가상의 고객이지만, 페이지와 레이아웃, 옵션은 모두 실제와 같습니다.
platforms로 네트워크를 6개로 제한했습니다.
connect_theme: "dark"를 적용했습니다. 테마를 고정하면 라이트/다크 전환 버튼이 사라져 모든 고객이 내가 고른 테마를 보게 됩니다.
ui_labels로 바꾼 문구: 상단 문구, 섹션 제목, 개인정보 안내 문구, 모든 Connect 버튼이 에이전시가 원하는 말로 바뀌었습니다.
platforms를 지정하지 않으면 모든 네트워크가 보이고, 덜 쓰이는 네트워크는 "Show 9 more networks" 뒤에 있습니다. 캡처한 날에는 Reddit이 이용 불가로 표시됐습니다.
고객이 이 페이지에서 할 수 있는 일
- TikTok, Instagram, YouTube, LinkedIn 등 OAuth 네트워크는 각 네트워크의 로그인 화면에서 연결하므로, 고객의 비밀번호는 나에게도 Upload-Post에도 전달되지 않습니다. Bluesky, Telegram, Discord 등 일부 네트워크는 앱 비밀번호, 봇 토큰, 웹훅을 사용합니다.
- 게시할 Facebook 페이지, LinkedIn 회사 페이지, Google Business 위치를 선택합니다.
- 접근 권한이 만료된 계정을 다시 연결하거나, 언제든 연결을 해제합니다.
- 캘린더를 켜 두면 예약된 게시물 캘린더를 봅니다. 읽기 전용 옵션을 켜면 고객은 이것만 할 수 있습니다.
- 내가 이름 붙인 버튼으로 내 사이트에 돌아갑니다.
링크는 프로필 하나에 묶여 있습니다. 고객은 자기 계정만 보고 바꿀 수 있으며, 다른 고객이나 내 API 키는 절대 볼 수 없습니다.
에이전시에서는 이렇게 씁니다
새 고객을 받고 첫 예약 게시물을 올리기까지 다섯 단계입니다. 모든 단계를 대시보드나 API로 할 수 있습니다.
- 1
고객마다 프로필을 하나씩 만듭니다
대시보드의 Manage Users에서 프로필을 추가하거나,
client-harbor같은 username으로POST /api/uploadposts/users를 호출합니다. 프로필 하나에는 네트워크별로 계정 하나를 연결합니다. - 2
브랜딩된 연결 링크를 만듭니다
프로필 옆의 Share를 누르고 로고, 제목, 설명, 언어, 리디렉션 URL, 버튼 문구, 네트워크를 입력합니다. 같은 필드를
POST /api/uploadposts/users/generate-jwt로 보내도 됩니다. 48시간 동안 쓸 수 있는access_url이 돌아옵니다. - 3
고객에게 보냅니다
이메일이나 메신저로 보내거나 내 온보딩 흐름 안에 넣으면 됩니다. 고객은 Upload-Post 계정이 필요 없고 내 대시보드를 볼 일도 없습니다.
- 4
고객이 계정을 연결합니다
고객은 TikTok, Instagram, YouTube, LinkedIn에 로그인해 접근을 승인합니다. 토큰은 암호화해 저장하고 자동으로 갱신됩니다. 웹훅을 설정해 두면 연결되는 순간
social_account_connected이벤트를 받습니다.
모든 브랜딩 옵션
모두 generate-jwt 호출의 필드이며 고객 프로필에 저장됩니다. 마지막 열은 대시보드에서도 설정할 수 있는지를 알려 줍니다.
| 옵션 | 파라미터 | 기능 | 예시 | 대시보드 |
|---|---|---|---|---|
| 로고 | logo_image | 페이지 맨 위에 내 로고를 표시합니다. 공개된 http(s) 이미지 URL이면 됩니다. | "https://youragency.com/logo.png" | 가능 |
| 페이지 제목 | connect_title | 기본값 "Connect your social accounts"로 표시되는 큰 제목을 바꿉니다. | "Connect your accounts to Northwind Studio" | 가능 |
| 설명 | connect_description | 제목 아래 한 줄 설명을 바꿉니다. | "Link the channels we will manage for you." | 가능 |
| 표시할 네트워크 | platforms | 지정한 네트워크만 표시됩니다. 비워 두면 고객에게 모든 네트워크가 보입니다. | ["instagram", "tiktok", "linkedin"] | 가능 |
| 리디렉션 URL | redirect_url | 고객이 연결을 마친 뒤 돌아가기 버튼을 누르면 이동할 주소입니다. | "https://youragency.com/onboarding/done" | 가능 |
| 돌아가기 버튼 문구 | redirect_button_text | 그 돌아가기 버튼에 표시되는 문구입니다. | "Back to Northwind Studio" | 가능 |
| 언어 | language | 영어, 스페인어, 독일어, 프랑스어, 포르투갈어, 폴란드어, 터키어 중 하나로 고정합니다. 지정하지 않으면 브라우저 언어를 따르고, 지원하지 않는 언어는 영어로 표시됩니다. | "es" | 가능 |
| 페이지의 모든 문구 | ui_labels | 버튼, 섹션 제목, 개인정보 안내 문구 등 페이지의 문자열을 키 단위로 바꿉니다. 최대 100개 키, 키당 300자까지 가능합니다. | {"connect.card.connect": "Link account"} | API 전용 |
| 테마 | connect_theme | 라이트 또는 다크로 고정하고 테마 전환 버튼을 숨깁니다. "auto"로 두면 방문자가 직접 고릅니다. | "dark" | API 전용 |
| 캘린더 탭 | show_calendar | 해당 프로필에 예약된 게시물을 보여 주는 캘린더 탭을 표시하거나 숨깁니다. 기본값은 표시입니다. | false | 가능 |
| 읽기 전용 캘린더 | readonly_calendar | 고객은 캘린더만 볼 수 있습니다. 게시물 수정이나 삭제, 계정 연결과 해제는 할 수 없습니다. | true | 가능 |
모든 옵션을 한 번의 요청으로
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://youragency.com/logo.png",
"connect_title": "Connect your accounts to Northwind Studio",
"connect_description": "Link the channels we will manage for you.",
"platforms": ["instagram", "tiktok", "linkedin"],
"redirect_url": "https://youragency.com/onboarding/done",
"redirect_button_text": "Back to Northwind Studio",
"language": "en",
"connect_theme": "light",
"ui_labels": { "connect.card.connect": "Link account" },
"show_calendar": false
}' 알아 두면 좋은 점
- 링크를 만들 때마다 브랜딩 정보를 모두 보내세요. 로고, 제목, 설명, 버튼 문구, 리디렉션 URL, 네트워크, 언어는 빠뜨리면 프로필에서 지워집니다.
-
ui_labels,connect_theme, 두 캘린더 스위치는 보냈을 때만 바뀝니다. 라벨을 초기화하려면null이나{}를 보내세요. - 라벨은 페이지가 현재 표시하는 언어의 문구를 대체합니다. 라벨은 영어인데 고객 브라우저가 프랑스어라면 나머지 문구는 프랑스어로 남으니,
language도 함께 지정하세요. - 라벨 키와 전체 파라미터 설명은 User Profiles API 문서에 있습니다.
화이트라벨이 적용되지 않는 부분
고객에게 듣기 전에 여기서 먼저 확인하세요. 아래 부분에는 여전히 Upload-Post나 소셜 네트워크가 표시됩니다.
주소
호스팅된 페이지의 주소는 app.upload-post.com/connect입니다. 커스텀 도메인이나 CNAME 옵션은 없습니다. 내 도메인이 꼭 필요하다면 Connect API로 직접 페이지를 만드세요. 이때도 OAuth 콜백은 잠깐 app.upload-post.com을 거칩니다.
네트워크의 동의 화면
고객이 로그인하면 TikTok, Meta, Google, LinkedIn 등은 각자 등록된 앱, 즉 승인받은 Upload-Post 앱의 화면을 보여 줍니다. 덕분에 각 플랫폼의 앱 심사를 거치지 않아도 됩니다.
개인정보 안내 상자
페이지에는 항상 짧은 "How your data is used" 안내가 있고, Upload-Post 개인정보 처리방침과 [email protected] 링크가 들어 있습니다. 기본 문구는 Upload-Post 운영사인 TONVI TECH SL을 데이터 처리자로 밝힙니다. ui_labels로 문구는 바꿀 수 있지만 상자와 링크는 그대로 남습니다.
색상, 탭 제목, 내 대시보드
고를 수 있는 것은 라이트나 다크이고 브랜드 색상은 아닙니다. 버튼은 Upload-Post의 인디고 색을 유지합니다. 브라우저 탭 제목과 아이콘도 Upload-Post 것입니다. 팀이 로그인하는 대시보드도 리브랜딩된 앱이 아니라 Upload-Post입니다.
연동을 직접 만들면 안 될까요?
직접 연동하려면 네트워크마다 Meta와 TikTok의 앱 심사, 토큰 갱신 로직, API 변경 대응을 따로 해야 합니다. API 하나로 모든 네트워크를 엔드포인트 하나로 쓰고, 그 위에 연결 페이지까지 얻을 수 있습니다.
에이전시
고객마다 프로필 하나, 연결 링크에는 내 브랜드, 게시와 예약은 한곳에서
SaaS 플랫폼
네트워크마다 연동을 만들지 않고 내 제품에 소셜 게시 기능 추가
콘텐츠 도구
사용자가 만든 결과물을 자기 소셜 계정에 바로 공유
뒤에서 쓰는 API 호출
SaaS나 에이전시 도구에 이 기능을 넣는 개발자를 위한 내용입니다. OAuth 흐름을 만들 필요도, 플랫폼 인증 정보를 관리할 필요도 없습니다.
고객이나 사용자마다 프로필 만들기
프로필은 고객 한 명(또는 내 앱 사용자 한 명)의 소셜 계정을 담는 단위입니다. 내부 ID를 username으로 쓰면 다시 매핑하기가 아주 쉽습니다.
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"}' 브랜딩된 연결 URL 만들기
브랜딩은 여기서 넣습니다. 로고, 제목, 리디렉션 URL, 네트워크, 그리고 위 표의 나머지 옵션입니다. 응답에는 48시간 동안 유효한 access_url이 들어 있습니다.
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"]
}' 고객이 계정을 연결합니다
고객이나 사용자를 access_url로 보내세요. TikTok, Instagram, YouTube 같은 OAuth 네트워크에서는 네트워크에서 직접 인증하므로 Upload-Post는 비밀번호를 볼 수 없고, 발급된 토큰은 암호화해 저장합니다.
Upload-Post가 대신 처리하는 일
OAuth 2.0 인증 흐름
토큰 갱신
암호화 저장
고객 대신 게시하거나 예약하기
업로드 요청에 프로필 username을 user로 넣으세요. 지금 말고 나중에 게시하려면 scheduled_date를 추가합니다.
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=가을 신메뉴 출시" \
-F "platform[]=tiktok" \
-F "platform[]=instagram" \
-F "scheduled_date=2026-10-02T09:00:00Z" API 키 하나, 고객마다 프로필 하나
모든 고객이 계정 하나와 API 키 하나 아래에 있고, 각자 자기 소셜 계정이 연결된 별도의 프로필을 가집니다.
프로필의 작동 방식
프로필마다 네트워크별 계정 하나를 연결합니다. 플랜에 따라 프로필 수가 정해지며, 프로필 수가 소셜 계정 총수의 상한은 아닙니다. Professional에서는 TikTok 계정 25개, Instagram 계정 25개, LinkedIn 계정 25개를 동시에 연결할 수 있습니다.
- 분리된 인증 정보: 각 고객의 소셜 토큰은 그 고객 프로필에만 속합니다
- 고객별 웹훅: 프로필마다 연결 이벤트와 업로드 이벤트를 받을 URL을 따로 지정합니다
- 청구서는 하나: 구독 하나로 모든 고객을 관리합니다
구성 예시
| 플랜 | 포함 프로필 | 월간 결제 | 연간 결제 |
|---|---|---|---|
| Professional | 25 | 월 $50 | 월 $33 (연 $400) |
| Advanced | 75 | 월 $147 | 월 $118 (연 $1,411) |
| Business | 225, 초과 프로필은 1개당 월 $1 | 월 $438 | 월 $350 (연 $4,205) |
2026년 9월 기준 USD 가격입니다. 유로 가격과 Professional, Advanced용 추가 프로필 팩은 요금 섹션에서 확인하세요. 항상 그곳이 최신 기준입니다.
화이트라벨 소셜 미디어 연동은 누가 쓰나요?
SaaS 플랫폼
콘텐츠 관리 시스템, 마케팅 자동화 플랫폼, 비즈니스 소프트웨어.
마케팅 에이전시
디지털 마케팅 에이전시와 소셜 미디어 운영 대행사.
콘텐츠 플랫폼
블로그 플랫폼, 동영상 호스팅 사이트, 콘텐츠 제작 도구.
교육 플랫폼
학습 관리 시스템(LMS)과 교육 콘텐츠 플랫폼.
이커머스 플랫폼
온라인 마켓플레이스와 이커머스 솔루션.
동영상 플랫폼
동영상 호스팅 플랫폼과 스트리밍 서비스.
기술 사양 및 보안
지원 플랫폼
이 밖에도 Google Business, Slack, Mastodon, WordPress 등 11개가 더 있습니다. 플랫폼 22개 전체 보기
보안 기능
소셜 미디어 토큰은 저장 시 암호화됩니다.
OAuth 네트워크에서는 고객이 네트워크 자체 화면에서 로그인합니다. 비밀번호는 나에게도 Upload-Post에도 전달되지 않습니다.
연결 링크 하나는 프로필 하나만 열 수 있고 48시간 뒤 만료됩니다.
화이트라벨 소셜 미디어 관리: 자주 묻는 질문
에이전시와 SaaS 팀이 첫 브랜딩 연결 링크를 보내기 전에 묻는 질문들
고객에게 Upload-Post 계정이 필요한가요?
아니요. 연결 링크에는 그 고객 프로필 하나에만 쓰이는 토큰이 들어 있습니다. 고객은 링크를 열고 각 소셜 네트워크에 로그인하면 끝입니다. 링크는 48시간 동안 유효하며, 그 뒤에는 새 링크를 만들면 됩니다.
연결 페이지를 내 도메인에 올릴 수 있나요?
호스팅된 페이지는 안 됩니다. 항상 app.upload-post.com/connect 주소에 있고, 커스텀 도메인은 제공하지 않습니다. 주소가 중요하다면 Connect API로 내 사이트에 직접 페이지를 만들 수 있습니다. 이 경우에도 네트워크가 고객을 잠깐 app.upload-post.com을 거쳐 돌려보냅니다. 각 플랫폼에 등록된 OAuth 콜백이 그 주소이기 때문입니다.
화이트라벨은 어떤 플랜에 포함되나요?
Professional, Advanced, Business 플랜입니다. Free와 Basic에는 포함되지 않습니다. Professional은 프로필 25개, Advanced는 75개, Business는 225개를 제공하며, Business에서는 추가 프로필 하나당 월 $1입니다. 영업 상담 없이 요금 페이지에서 바로 플랜을 고르면 됩니다.
프로필 하나에 고객 계정을 몇 개까지 연결할 수 있나요?
프로필 하나에는 네트워크별로 계정 하나를 연결합니다. 그래서 프로필 하나가 Instagram, TikTok, LinkedIn, YouTube를 연결한 고객 한 명이 될 수 있습니다. 프로필 25개는 계정 총 25개가 아니라 네트워크마다 최대 25개 계정이라는 뜻입니다. Instagram 계정이 두 개인 고객은 프로필 두 개가 필요합니다.
링크를 만들 때마다 브랜딩 정보를 다시 보내야 하나요?
네. 로고, 제목, 설명, 버튼 문구, 리디렉션 URL, 네트워크, 언어는 그렇습니다. generate-jwt를 호출할 때마다 보낸 값 그대로 저장되므로, 빠뜨린 필드는 그 프로필에서 지워집니다. ui_labels, connect_theme, show_calendar, readonly_calendar는 다릅니다. 이 값들은 보냈을 때만 바뀝니다.
고객이 예약된 게시물을 볼 수 있나요?
네. 캘린더 탭은 기본으로 켜져 있고 그 프로필에 예약된 게시물을 보여 줍니다. readonly_calendar를 켜면 링크가 보기 전용 콘텐츠 캘린더가 됩니다. 고객은 볼 수만 있고 수정, 삭제, 연결 변경은 할 수 없습니다. 같은 토큰으로 /connect/calendar에 보내면 캘린더가 바로 열립니다.
연결 페이지는 어떤 언어를 지원하나요?
영어, 스페인어, 독일어, 프랑스어, 포르투갈어, 폴란드어, 터키어입니다. 한국어는 아직 기본 언어에 없습니다. language 파라미터로 프로필마다 언어를 고정하거나 브라우저 언어를 따르게 할 수 있습니다. 그 밖의 문구는 ui_labels로 직접 쓸 수 있으니, 한국어 문구도 이 방법으로 넣을 수 있습니다.
고객이 계정을 연결했는지 어떻게 알 수 있나요?
웹훅을 쓰면 됩니다. Upload-Post는 social_account_connected, social_account_disconnected, social_account_reauth_required, upload_completed 이벤트를 보냅니다. 프로필마다 웹훅 URL을 따로 둘 수 있어서, 고객별로 내 시스템의 다른 엔드포인트로 알림을 받을 수 있습니다.
고객별로 분석 데이터를 가져올 수 있나요?
네. 분석 엔드포인트는 프로필 username을 받기 때문에 고객 한 명씩 수치를 가져와 나만의 리포트를 만들 수 있습니다.
SDK를 제공하나요?
Python(pip install upload-post)과 JavaScript/Node(npm install upload-post)용 공식 SDK가 있습니다. 그 밖에는 API 키로 쓰는 일반 REST API라서, HTTP 요청을 보낼 수 있는 언어나 노코드 도구라면 무엇이든 쓸 수 있습니다.
설정에 얼마나 걸리나요?
코드 없이 하려면 Manage Users에서 프로필을 만들고 Share를 눌러 브랜딩을 입력한 뒤 링크를 보내면 됩니다. API로는 프로필 생성과 링크 생성, 두 번의 호출이면 되고, 여기에 게시할 때 원래 필요한 업로드 호출이 더해집니다.
어떤 지원을 받을 수 있나요?
모든 엔드포인트에 코드 예제가 있는 문서와 [email protected] 이메일 지원을 제공합니다. Advanced와 Business에는 우선 지원이 포함됩니다.
더 자세한 내용: User Profiles API, Connect API, Webhooks, SDKs.