Posteady
Posteady Docs
사용 가이드개발자 가이드API 레퍼런스MCP

Facebook

Facebook 공개 API의 연결 요건·발행 예제·제한.

연결 요건

pages_manage_posts 권한과 페이지의 CREATE_CONTENT 작업이 있고 정상 연결된 Facebook 페이지를 사용하세요. 공개 쓰기 제공 상태도 활성화돼 있어야 합니다. 반환된 capability를 확인하세요. 신규 작업이 503 SERVICE_UNAVAILABLE일 때도 기존 작업의 재조회·상태 조회·취소는 제공됩니다.

지원 형식

요청마다 페이지 하나와 facebook 객체를 사용합니다. FEED는 비어 있지 않은 텍스트·JPEG 최대 10개·영상 하나를 받으며 이미지와 영상을 섞을 수 없습니다. 텍스트 메시지의 URL은 링크 게시물이 될 수 있습니다. REELS는 영상 하나와 선택 message, STORY는 JPEG 또는 영상 하나를 받으며 message를 거부합니다.

미디어가 필요한 형식은 업로드 가이드의 예약 → PUT → confirm을 먼저 마치세요. 완료 확인된 mediaId만 발행할 수 있습니다.

최소 발행 요청

계정·미디어 UUID는 합성 예시이므로 실제 값으로 바꾸세요. API 키는 POSTEADY_API_KEY 환경 변수로 설정합니다.

curl --request POST "https://www.posteady.com/api/v1/posts" \
  --header "Authorization: Bearer $POSTEADY_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "accountIds": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "facebook": {
    "requestId": "33333333-3333-4333-8333-333333333333",
    "contentType": "FEED",
    "message": "Our latest release is live"
  }
}'

다음 JSON은 각각 독립적인 전체 요청 본문입니다. 형식에 맞는 실제 미디어 ID를 넣고, 서로 다른 작업에는 새 requestId를 생성하세요. 같은 작업을 재시도할 때만 이전 ID를 유지합니다.

사진 피드

{
  "accountIds": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "facebook": {
    "requestId": "33333333-3333-4333-8333-333333333333",
    "contentType": "FEED",
    "items": [
      {
        "mediaId": "22222222-2222-4222-8222-222222222222"
      }
    ]
  }
}

영상 피드

{
  "accountIds": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "facebook": {
    "requestId": "33333333-3333-4333-8333-333333333333",
    "contentType": "FEED",
    "items": [
      {
        "mediaId": "22222222-2222-4222-8222-222222222222"
      }
    ]
  }
}

릴스

{
  "accountIds": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "facebook": {
    "requestId": "33333333-3333-4333-8333-333333333333",
    "contentType": "REELS",
    "items": [
      {
        "mediaId": "22222222-2222-4222-8222-222222222222"
      }
    ]
  }
}

스토리

{
  "accountIds": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "facebook": {
    "requestId": "33333333-3333-4333-8333-333333333333",
    "contentType": "STORY",
    "items": [
      {
        "mediaId": "22222222-2222-4222-8222-222222222222"
      }
    ]
  }
}

성공 확인

HTTP 202는 작업 접수입니다. results[0].jobId를 저장하고 아래 요청으로 조회하여 status: published를 확인하세요. 예시 ID는 실제 반환값으로 바꿔야 합니다.

curl --request GET "https://www.posteady.com/api/v1/publish-jobs/44444444-4444-4444-8444-444444444444" \
  --header "Authorization: Bearer $POSTEADY_API_KEY"

예약·조회·관련 작업

예약은 같은 플랫폼 입력에 미래 scheduledAt과 선택 timezone을 추가하여 /scheduled-posts로 보내세요. 비동기 플랫폼은 UUID requestId를 새 작업마다 생성하고 재시도 때 유지합니다.

예약과 취소 · 게시물·지표 조회 · 재시도 · MCP 도구

제한과 오류

message는 UTF-16 코드 유닛 최대 63,206개이며 앞뒤 공백을 제거합니다. 이미지는 JPEG 최대 8 MiB, 영상은 MP4·QuickTime 최대 1 GiB·20분입니다. REELS는 3–90초, STORY 영상은 3–60초입니다. 임의 공개 미디어 URL은 받지 않습니다. 모든 terminal 상태의 재조회는 HTTP 200이며 failed·canceled·unknown에서는 success가 false로 유지됩니다. 상태와 성공 여부를 함께 확인하세요. Facebook 리포스트는 지원하지 않습니다.

발행 레퍼런스 · 오류 해결

관련 가이드 더 보기

이 페이지에서