변경 이력
NU Signal Partners API의 주요 변경 사항입니다. 버전은 경로에 고정되며(/v1) 항목은 openapi/partner-api.yaml 개정을 추적합니다.
0.6.0
- 안전한 신청 클레임 — 새 신청은 참조와 1회 표시 상태 토큰을 반환합니다. 승인 후 파트너는 72시간 부트스트랩 토큰을 원자적으로 한 번 클레임합니다. 공개 신청에는 명시적 개인정보 동의가 필요합니다.
- 상업 조건 계약 축 — 사용 유형, MG/RS, 정액, API 및 데이터 라이선스 요금, 범위와 계약 스냅샷을 딜에 고정하며 정산이 이를 직접 사용합니다.
- 읽기 전용 Partner Portal — API 키 원문을 저장하지 않는 서명 세션으로 카탈로그, 딜 및 Production 정산을 조회합니다.
- 환경 격리 강화 — 금융 정산 API는 Production 키 전용이며 Sandbox 호출은
production_key_required를 반환합니다.
0.5.0
- 타입 안전 JS/TS SDK —
packages/sdk-js가 공개 신청과 첫 키 bootstrap을 포함한 모든 Partner API 경로에 구체적인 요청·응답 타입을 제공합니다. parity 테스트가 누락되거나 오래된 메서드를 차단합니다. - 정확한 OpenAPI 응답 계약 — 성공·오류 봉투와
required/nullable정의가 실제 응답과 일치하며 계약·정산 상세에updated_at워터마크를 일관되게 제공합니다. - 세션 폐기 정합성 — 활성 세션은
revoked, 종료된 세션은 실제 최종 상태를 반환합니다.allowed_ips는 토큰 발급 요청에만 적용되며 시청자 미디어 IP에는 적용되지 않습니다. - 환불 부호 정규화 —
REFUND.revenue_amount는 원장에서 항상 음수로 정규화되어 정산 순매출에서 일관되게 차감됩니다.
0.4.0
- 호스팅 웹뷰 재생 —
POST /playback/tokens가manifest와 함께 호스팅된webview_url을 반환합니다. 플레이어 연동 없이 WebView 또는 iframe에서 열 수 있으며 둘 다 한 세션에 바인딩됩니다(재생 API). - 고객 환경설정 — 선택적 비PII
preferences가 웹뷰를 개인화하고 세션에 저장됩니다(GET /playback/sessions/{id}에서 반환). 스키마는 엄격하며@또는 공백이 포함된 값은validation_failed(422)로 거부됩니다. - 공개 신청 중복 제거 — 같은 연락 이메일로 24시간 내
POST /partner-applications를 다시 제출하면 새 행을 만들지 않고 기존 신청을200및deduped: true와 함께 반환합니다.
0.3.0
- 무결성 가드 강화 — 알려진 Prisma 오류를 명확한 4xx 응답으로 매핑합니다:
P2002→conflict(409),P2003→validation_failed,P2025→resource_not_found(오류 코드). - 요청 크기 상한 — 이벤트 payload는 4KB로 제한되며 요청 문자열 필드에 명시적 길이 제한이 적용됩니다.
- 공개 경로 속도 제한 — 미인증
POST /partner-applications및POST /v1/api-keys/bootstrap은 클라이언트 IP당 20/min으로 제한됩니다. - 멱등성 충돌 — 처리 중인
X-NU-Request-Id로 재생 토큰 또는 라이선스 요청 생성을 재시도하면 중복 쓰기 대신conflict(409)를 반환합니다. 완료된 요청은 원본 응답을 재생합니다.
0.2.0
- 표준 오류 봉투 — 모든 오류는 고정 코드 집합과 함께
{ "error": { code, message, request_id, details? } }를 반환합니다(오류 코드). - 요청 헤더 —
Authorization,X-NU-Partner-Id, 선택적X-NU-Request-Id를 정식화했습니다(인증). - 이벤트 분류 — 정산 적격성을 도출하는 표준
EventType값입니다(이벤트 API). - 정산 이의 및 조정 —
POST /settlements/{id}/dispute와 확장된 정산 수수료 및 배분 필드입니다(정산 API). - 커서 페이지네이션 — 목록 엔드포인트가
cursor를 받고 page/limit과 함께next_cursor를 반환합니다(카탈로그 API).
0.1.0 — 초기 샌드박스 API
초기 MVP 스캐폴드: 격리된 Sandbox 환경을 대상으로 하는 카탈로그, 라이선스, 재생 및 이벤트 API.