가이드

API로 소셜 미디어 게시물을 예약하는 방법

스케줄링 도구는 유용하지만, 수백 개의 게시물을 자동화하거나, 자체 시스템과 통합하거나, 개발 중인 제품에 스케줄링을 내장해야 할 때는 한계가 있습니다. 이 가이드에서는 고정 날짜, 대기열 시스템, 타임존 처리를 포함하여 API를 통해 콘텐츠를 예약하는 방법을 안내합니다.

콘텐츠를 예약하는 두 가지 방법

Upload-Post는 스케줄링에 두 가지 접근 방식을 제공합니다. scheduled_date 파라미터로 정확한 날짜와 시간을 설정하거나, 대기열 시스템을 사용하여 시스템이 최적의 시간을 결정하게 할 수 있습니다. 두 가지 모두 동영상 업로드, 사진 업로드, 텍스트 게시물 등 모든 엔드포인트에서 작동합니다.

옵션 A: 특정 날짜와 시간에 예약하기

업로드 요청에 scheduled_date 파라미터를 추가하세요. 형식은 ISO-8601이며, 최대 365일 후까지 예약할 수 있습니다.

curl -X POST https://api.upload-post.com/api/upload \
  -H "권한 부여: API 키 your-api-key-here" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Coming soon... stay tuned!" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "scheduled_date=2025-09-22T10:00:00Z" \
  -F "timezone=Europe/Madrid"

몇 가지 중요한 점이 있습니다. 날짜는 기본적으로 UTC이지만, IANA 형식(미국/뉴욕, 유럽/런던, 아시아/도쿄 등)의 timezone 파라미터를 전달하면 올바른 현지 시간에 게시물이 게시됩니다. 직접 타임존 계산을 할 필요가 없습니다.

게시물이 성공적으로 예약되면 API는 202 상태와 함께 job_id를 포함한 응답을 반환합니다:

{
  "success": true,
  "job_id": "scheduler_job_abc123",
  "scheduled_date": "2025-09-22T10:00:00Z"
}

나중에 게시물을 수정하거나 취소할 때 필요하므로 이 job_id를 잘 보관해 두세요.

옵션 B: 대기열 시스템 사용

대기열은 정확한 시간을 지정하지 않고도 일관된 게시를 원할 때 적합합니다. 날짜를 선택하는 대신 add_to_queue=true를 설정하면 Upload-Post가 설정된 스케줄에 따라 다음 가용 시간 슬롯을 자동으로 배정합니다.

대기열 설정하기

먼저 대기열 설정을 구성합니다. 원하는 요일과 시간 슬롯을 정의하세요:

curl -X POST https://api.upload-post.com/api/uploadposts/queue/settings \
  -H "권한 부여: API 키 your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "timezone": "미국/뉴욕",
    "slots": [
      { "hour": 9, "minute": 0 },
      { "hour": 12, "minute": 30 },
      { "hour": 17, "minute": 0 }
    ],
    "days": [0, 1, 2, 3, 4]
  }'

이 예제는 뉴욕 시간 기준으로 월요일부터 금요일까지 오전 9시, 오후 12시 30분, 오후 5시에 게시합니다. 하루에 최대 24개의 슬롯을 정의할 수 있습니다.

대기열에 콘텐츠 추가하기

curl -X POST https://api.upload-post.com/api/upload \
  -H "권한 부여: API 키 your-api-key-here" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Monday motivation" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "add_to_queue=true"

Upload-Post가 자동으로 이 게시물을 다음 빈 슬롯에 배정합니다. 수요일 오후 2시라면 같은 날 오후 5시에 예약됩니다. 수요일 슬롯이 모두 차 있으면 목요일 오전 9시로 넘어갑니다.

예정된 대기열 슬롯 미리보기

콘텐츠를 대기열에 넣기 전에 어떤 시간이 가능한지 확인하고 싶다면 미리보기 엔드포인트를 사용하세요:

curl https://api.upload-post.com/api/uploadposts/queue/preview?count=10 \
  -H "권한 부여: API 키 your-api-key-here"

다음 10개의 가용 슬롯과 정확한 날짜 및 시간이 반환됩니다. 한 번에 최대 50개까지 요청할 수 있습니다.

예약된 게시물 관리하기

콘텐츠가 예약되면 API를 통해 완전히 제어할 수 있습니다.

예약된 게시물 전체 조회

curl https://api.upload-post.com/api/uploadposts/schedule \
  -H "권한 부여: API 키 your-api-key-here"

대기 중인 작업의 job_id, scheduled_date, 플랫폼 상세 정보 및 콘텐츠 미리보기 URL이 포함된 배열이 반환됩니다.

예약된 게시물 수정

게시 날짜를 변경하거나 캡션을 업데이트해야 하나요? PATCH 요청을 사용하세요:

curl -X PATCH https://api.upload-post.com/api/uploadposts/schedule/scheduler_job_abc123 \
  -H "권한 부여: API 키 your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "scheduled_date": "2025-09-25T14:00:00Z",
    "title": "더 나은 해시태그로 업데이트된 캡션"
  }'

예약된 게시물 취소

curl -X DELETE https://api.upload-post.com/api/uploadposts/schedule/scheduler_job_abc123 \
  -H "권한 부여: API 키 your-api-key-here"

게시물과 업로드된 자산이 즉시 삭제됩니다.

대기열로 콘텐츠 캘린더 만들기

많은 에이전시가 사용하는 실용적인 워크플로우를 소개합니다. 월요일에 콘텐츠를 일괄 제작하고, 모두 대기열에 업로드하면 시스템이 주 전체에 자동으로 분배합니다. 수요일 오전 9시에 게시 버튼을 누르려고 온라인에 있을 필요가 없습니다.

이 방법은 n8n이나 Make.com 같은 도구와 결합하면 더욱 강력합니다. 예를 들어, Google Drive 폴더에 새 파일이 추가되면 자동으로 대기열에 추가되는 워크플로우를 설정할 수 있습니다. 바로 사용할 수 있는 설정을 위해 n8n용 Google Sheets 스케줄링 템플릿을 확인해 보세요.

연중 중요한 날짜에 맞춰 콘텐츠를 계획할 때는 소셜 미디어 공휴일 캘린더도 유용합니다.

Python으로 예약하기

from upload_post import UploadPostClient
from datetime import datetime, timedelta

client = UploadPostClient(api_key="your-api-key-here")

# Schedule a video for tomorrow at 10 AM Madrid time
publish_date = (datetime.now() + timedelta(days=1)).replace(
    hour=10, minute=0, second=0
)

response = client.upload_video(
    video_path="/path/to/video.mp4",
    title="Python에서 예약됨",
    user="mybrand",
    platforms=["tiktok", "instagram", "youtube"],
    scheduled_date=publish_date.isoformat(),
    timezone="Europe/Madrid"
)

print(f"예약됨! 작업 ID: {response['job_id']}")

플랫폼별 일일 업로드 제한

많은 콘텐츠를 예약할 때 각 플랫폼이 일일 제한을 적용한다는 점을 기억하세요. 이 제한은 연결된 계정당 24시간 단위의 롤링 윈도우입니다:

플랫폼 일일 제한
TikTok15회 업로드
YouTube10회 업로드
Pinterest20회 업로드
Facebook25회 업로드
레딧40회 업로드
Instagram50회 업로드
X (트위터)50회 업로드
스레드50회 업로드
Bluesky50회 업로드
링크드인150회 업로드

대기열 시스템은 이러한 제한을 자동으로 준수하며 어떤 플랫폼에서도 과도하게 예약하지 않습니다.

자주 묻는 질문

같은 콘텐츠를 플랫폼별로 다른 시간에 예약할 수 있나요?

하나의 요청으로는 불가능하지만, 각 플랫폼에 대해 다른 scheduled_date 값으로 별도의 요청을 보낼 수 있습니다. 또는 자동으로 분배하는 대기열 시스템을 사용하세요.

예약된 게시물이 실패하면 어떻게 되나요?

웹훅을 설정한 경우 오류 상세 정보가 포함된 알림을 받게 됩니다. GET /api/uploadposts/status?job_id=your_job_id 엔드포인트로 상태를 확인할 수도 있습니다.

노코드 도구와 스케줄링을 함께 사용할 수 있나요?

물론입니다. n8nMake.com 모두 HTTP 요청 모듈을 통해 scheduled_date 또는 add_to_queue 파라미터를 전송할 수 있습니다. 스프레드시트에서 읽어와 모든 것을 자동으로 예약하는 비주얼 워크플로우를 구축할 수 있습니다.

API로 콘텐츠 캘린더를 구축하세요

몇 분 만에 수 주간의 콘텐츠를 예약하세요. 한 번 설정하면 모든 플랫폼에서 적절한 시간에 게시물이 자동으로 게시됩니다.

신용카드 불필요. 무료 업로드 10회 포함.