본문으로 건너뛰기

추천 / 트렌딩 / 홈 피드

⚠️ 현재 SDK 와 백엔드 라우트 정렬 중: 추천 영역의 SDK 메서드 대부분은 백엔드의 실제 경로와 일치하지 않아 현재 호출하면 404 가 반환됩니다. 동작 여부를 표로 정리합니다.

SDK 메서드동작비고
cb.video.getTrendingVideos(limit?)GET /v1/public/recommendations/trending
cb.video.getRecommendations(limit?)❌ 404SDK 가 /recommendations (bare) 호출, 백엔드에는 /recommendations/feed 만 존재
cb.video.getHomeFeed(limit?)❌ 404SDK 가 /recommendations/home 호출, 백엔드는 /recommendations/feed
cb.video.getRelatedVideos(videoId, limit?)❌ 404SDK 가 /recommendations/related/:videoId 호출, 백엔드는 /videos/:videoId/related
cb.video.submitFeedback(videoId, feedback)❌ 404SDK 가 /recommendations/feedback 호출, 백엔드는 /recommendations/interactions (POST) 또는 /recommendations/not-interested/:videoId

동작하는 예제: 트렌딩 영상

typescript
const trending = await cb.video.getTrendingVideos(20)
// Video[]

임시 우회: raw fetch 로 홈 피드 / 관련 영상 호출

SDK 메서드가 정렬되기 전까지는 fetch 로 직접 호출하세요.

typescript
// 홈 피드
const feedRes = await fetch('https://api.connectbase.world/v1/public/recommendations/feed?limit=20', {
  headers: { 'X-Public-Key': 'cb_pk_...' },
})
const feed = await feedRes.json() // { videos: Video[] }

// 관련 영상
const relatedRes = await fetch(`https://api.connectbase.world/v1/public/videos/${videoId}/related?limit=10`, {
  headers: { 'X-Public-Key': 'cb_pk_...' },
})
const related = await relatedRes.json() // { videos: Video[] }

// 사용자 피드백 (앱 멤버 JWT 필수)
await fetch('https://api.connectbase.world/v1/public/recommendations/interactions', {
  method: 'POST',
  headers: {
    'X-Public-Key': 'cb_pk_...',
    'Authorization': 'Bearer ' + appMemberToken,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ video_id: videoId, interaction: 'not_interested' }),
})