본문으로 건너뛰기

DJ 팔로우

봇 계정으로 이 DJ 를 팔로우해요. 스푼 앱에서 팔로우 버튼을 누른 것과 같은 팔로우예요.

DJ 가 봇을 고정 매니저로 지정하려면 봇 계정이 그 DJ 를 먼저 팔로우하고 있어야 해요. 봇 계정으로 앱에 로그인하지 않고 이 API 로 끝낼 수 있어요.

메서드 · 경로POST /v1/live/follow
필요한 권한dj.follow
성공 응답204 (본문 없음)
방송 중이 아닐 때404 (OAPI_MNGR_0301)
export SPOON_BASE_URL="https://kr-openapi.spooncast.net"
export SPOON_ACCESS_TOKEN="{발급받은 access token}"

일본 지역이면 https://jp-openapi.spooncast.net 이에요 — 지역별 주소.

요청​

POST /v1/live/follow

헤더​

이름필수설명
Authorization✔Bearer {access_token} 형식이에요.

경로 파라미터 · 쿼리 파라미터 · 요청 바디가 없어요.

누구를 팔로우할지는 토큰이 정해요. 그 토큰에 동의한 DJ 예요. 다른 사람을 팔로우할 수는 없어요.

요청 예시​

curl -i -X POST "$SPOON_BASE_URL/v1/live/follow" \
-H "Authorization: Bearer $SPOON_ACCESS_TOKEN"

응답​

성공하면 본문 없이 204 예요. 이미 팔로우 중이어도 204 예요.

HTTP/2 204

코드​

// follow.ts — node --experimental-strip-types follow.ts

interface ApiError {
detailCode: string;
message: string;
}

const res = await fetch(`${process.env.SPOON_BASE_URL}/v1/live/follow`, {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.SPOON_ACCESS_TOKEN}` },
});

if (res.status === 204) {
console.log('팔로우했어요. 방송이 끝나면 DJ 에게 고정 매니저 지정을 안내해요.');
} else if (res.status === 404) {
console.log('방송 중이 아니에요. 방송이 시작되면 다시 불러요.');
} else if (res.status === 429) {
console.log('호출 한도에 걸렸어요. 잠시 뒤 다시 불러요.');
} else if (res.status === 401) {
console.error('연동이 끊겼어요. DJ 에게 재연동을 안내해요.');
} else {
// 권한 부족 403 은 앞단에서 막혀 detailCode 가 없어요
const { detailCode, message } = (await res.json()) as Partial<ApiError>;
console.error(`팔로우 실패 ${res.status} ${detailCode ?? '권한 부족'}: ${message ?? ''}`);
}
node --experimental-strip-types follow.ts

주의​

방송 중일 때만 돼요. 방송 중이 아니면 404 (OAPI_MNGR_0301) 예요.

팔로우만으로는 매니저가 되지 않아요. 고정 매니저 지정은 DJ 가 스푼 앱에서 직접 해요. 그리고 고정 매니저는 DJ 가 방송 중일 때는 바꿀 수 없어요. 팔로우는 방송 중에만 되니 순서는 이렇게 돼요.

  1. 방송 중에 봇이 이 API 를 불러 DJ 를 팔로우해요.
  2. 방송이 끝난 뒤 DJ 가 스푼 앱에서 봇 계정을 고정 매니저로 지정해요.
  3. 다음 방송에서 봇이 연결하면 매니저 등급으로 들어가 presence 이벤트가 와요.

한 번이면 돼요. 이미 팔로우 중이어도 204 라 방송마다 부를 필요가 없어요.

팔로우하면 방송에 보여요. 스푼 앱에서 팔로우할 때와 같이 DJ · 매니저 채팅창에 팔로우 메시지가 뜨고, 이 방송의 신규 팬 수에도 잡혀요.

언팔로우 API 는 없어요. 팔로우를 풀려면 봇 계정으로 스푼 앱에 로그인해 직접 풀어요.

에러​

HTTPdetailCode무슨 일인가요어떻게 하나요
401없음토큰이 없거나 무효해요.DJ 에게 재연동을 안내해요.
403없음dj.follow 권한이 없어요.권한을 추가해 재동의를 받아요.
403OAPI_MNGR_0211봇 계정이 이 DJ 를 팔로우할 수 없어요. DJ 가 봇을 차단했을 수 있어요.재시도로 안 풀려요. DJ 가 풀어줘야 해요.
404OAPI_MNGR_0301방송 중이 아니에요.방송이 시작된 뒤 다시 불러요.
502OAPI_MNGR_2302방송 서버 오류예요.백오프 후 재시도해요.

이 표에 없는 상태도 올 수 있어요. 잘못된 메서드(405, OAPI_MNGR_0103) · 호출 한도(429, 본문 없음) · 서버 오류(500, OAPI_MNGR_1002)는 모든 엔드포인트에 공통이에요 — 에러 코드에 있어요.

관련 문서​