블로그

· 2분 분량

직접 만들까, 살까: ‘소셜에 게시’ 기능의 실제 비용

제품에 소셜 미디어 게시 기능을 직접 넣을 때 드는 일을 항목별로 나누고, 소셜 미디어 API를 쓰는 경우와 비교합니다.

티켓에는 이렇게 적혀 있습니다. “사용자가 X와 LinkedIn에 공유할 수 있게 하자.” 스프린트 하나면 끝날 것처럼 보입니다. 그 아래에 실제로 있는 일을 정리했으니, 견적이 흔들리지 않게 하세요.

해피 패스 (모두가 견적에 넣는 부분)

  • 플랫폼마다 개발자 앱 등록
  • 플랫폼마다 OAuth 구현
  • 각 플랫폼의 “글 작성” 엔드포인트 호출

플랫폼당 며칠입니다. 일이 여기까지라면, 직접 만드는 편이 맞습니다.

그다음에 오는 일 (견적을 망가뜨리는 부분)

작업왜 필요한가계속되나
토큰 저장과 암호화보안 검토에서 고객 토큰이 어디에 있는지 묻습니다예
플랫폼별 토큰 갱신네트워크마다 토큰 수명과 갱신 규칙이 다릅니다예
플랫폼별 콘텐츠 검증글자 수, 미디어 종류, 크기, 캐러셀 개수가 전부 다릅니다예, 제한은 바뀝니다
미디어 업로드 파이프라인이미지와 동영상은 플랫폼마다 업로드 흐름이 다릅니다예
예약 인프라대부분 “나중에 게시”가 필요하고, 네이티브 지원은 들쭉날쭉합니다예
재시도와 멱등성재시도한 요청이 고객의 공지를 두 번 올리면 안 됩니다—
실패 알림사용자는 글이 나가지 않았다는 사실과 그 이유를 알아야 합니다—
연결 해제 처리사용자가 권한을 취소하면 UI가 알아차려야 합니다예
요청 한도와 백오프플랫폼마다, 때로는 사용자마다 다릅니다예
플랫폼 API 변경엔드포인트는 폐기되고, 정책과 티어는 바뀝니다영구

마지막 행이 비싼 행입니다. 소셜 플랫폼은 여러분 일정이 아니라 자기 일정에 맞춰 API를 바꿉니다. 바뀔 때마다 로드맵에 없던 일이 생깁니다.

물어볼 질문

  1. 소셜 게시가 제품인가, 기능인가? 파는 것의 핵심이라면 스택을 직접 갖는 편이 나을 수 있습니다. 기능이라면, 토큰 갱신에 쓰는 한 시간은 고객이 돈을 내는 일에 쓰지 못한 한 시간입니다.
  2. 사용자가 몇 개 플랫폼을 요구할까? 처음 두 개로 끝나는 법은 없습니다.
  3. 새벽 2시에 LinkedIn이 글을 거절하면 누가 대응하나?

Hapi를 사면 어떤 모습인가

bash
curl -X POST https://hapi.tools/v1/posts \
  -H "Authorization: Bearer $HAPI_API_KEY" \
  -d '{"content":"Shipped!","platforms":["x","linkedin"]}'

저 호출 하나 뒤에는 이런 것이 있습니다.

  • PKCE가 있는 호스팅 OAuth. 토큰은 AES-256-GCM으로 암호화되고, 갱신도 대신합니다.
  • 글이 받아들여지기 전, 실제 플랫폼 제한에 맞춘 검증.
  • 시간대를 지원하는 예약.
  • 재시도해도 같은 글이 두 번 나가지 않는 멱등성 키.
  • 6번까지 재시도하는 서명된 웹훅(post.published, post.failed, account.disconnected).
  • 권한 범위가 지정된 API 키, 감사 로그, 팀을 위한 역할 기반 접근.

현재 X, LinkedIn, Bluesky, Telegram, Discord, Slack에서 실제로 게시됩니다. Instagram, TikTok, YouTube와 일곱 개 플랫폼은 샌드박스에 있어서, 지금 그 플랫폼을 대상으로 만들 수 있습니다.

비용 비교

위 표, 특히 “영구” 행까지 포함해 엔지니어 시간을 가격으로 환산한 뒤, 아래와 비교하세요.

  • Trial. 15일 $5(계정 5개, 게시물 300개). 기능 전체를 만들고 데모하기에 충분합니다.
  • Growth. 월 $49, 또는 연간 결제 시 월 $39. 계정 25개, 월 게시물 5,000개, 웹훅, 분당 300회 요청.
  • Pro. 월 $99, 또는 연간 결제 시 월 $79. 계정 100개, 월 게시물 25,000개, 분당 1,200회 요청.
  • Scale. 월 $199부터. 계정 250개와 게시물 100,000개가 포함되고, 그 이상은 사용한 만큼. SSO와 SLA를 이용할 수 있습니다.

요금제 보기 → 또는 체험 시작 →