추천 / 트렌딩 / 홈 피드
⚠️ 현재 SDK 와 백엔드 라우트 정렬 중: 추천 영역의 SDK 메서드 대부분은 백엔드의 실제 경로와 일치하지 않아 현재 호출하면 404 가 반환됩니다. 동작 여부를 표로 정리합니다.
| SDK 메서드 | 동작 | 비고 |
|---|---|---|
cb.video.getTrendingVideos(limit?) | ✅ | GET /v1/public/recommendations/trending |
cb.video.getRecommendations(limit?) | ❌ 404 | SDK 가 /recommendations (bare) 호출, 백엔드에는 /recommendations/feed 만 존재 |
cb.video.getHomeFeed(limit?) | ❌ 404 | SDK 가 /recommendations/home 호출, 백엔드는 /recommendations/feed |
cb.video.getRelatedVideos(videoId, limit?) | ❌ 404 | SDK 가 /recommendations/related/:videoId 호출, 백엔드는 /videos/:videoId/related |
cb.video.submitFeedback(videoId, feedback) | ❌ 404 | SDK 가 /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' }),
})