업로드 API
고객사는 업로드 API를 사용하여 웹사이트 내에 콘텐츠 업로드 기능을 직접 구현할 수 있습니다.
고객사 서버는 업로드 API를 통해 일회용 업로드 URL과 업로드 파일 키를 발급받아 업로드 페이지를 구성합니다. 고객사 담당자가 브라우저에서 파일을 선택하면 해당 파일은 Kollus 업로드 서버로 전송됩니다.
유의 사항
- 일회성 세션: 발급된 업로드 URL과 업로드 파일 키는 1회만 사용 가능합니다.
- 만료 정책: 지정된 유효 시간 경과 시 해당 세션은 즉시 무효화됩니다.
- 보안: API 호출 시 발급되는 모든 토큰 및 키 정보가 외부에 노출되지 않도록 주의하세요.
업로드 흐름
- 업로드 페이지 접속: 고객사 담당자가 자체 웹사이트의 동영상 업로드 메뉴에 접근합니다.
- 업로드 URL 생성: 고객사 서버가 업로드 API를 호출하여 업로드 URL, 업로드 파일 키, 만료 일시 정보를 획득합니다.
- 업로드 페이지 구성: 고객사 서버는 수신한 정보를 활용하여 파일 선택 및 전송을 위한 UI를 구성합니다.
- 파일 전송: 고객사 담당자가 파일을 업로드하면 해당 파일은 Kollus 업로드 서버로 전송됩니다. (실시간 진행률 확인 가능)
업로드 URL 생성 API
업로드 페이지에서 파일 전송 시 사용할 일회용 업로드 URL을 발급받는 API입니다.
요청 규격
전송 방식
| 구분 | 상세 |
|---|---|
| Method | POST |
| Protocol | HTTP(80), HTTPS(443) |
| Endpoint |
|
| Auth | 쿼리 파라미터 kollus_api_access_token(인증 토큰) 전달 필수
|
요청 본문
JSON 형식으로 본문을 구성합니다.
| 파라미터 | 타입 | 기본값 | 설명 |
|---|---|---|---|
expire_time | integer | 600 | 업로드 URL 유효 시간 (0~21600초) |
category_key | string | - | 업로드 파일이 저장될 카테고리 키 (미지정 시 '기본' 카테고리)
|
title | string | - | 콘텐츠 제목 (미지정 시 파일 이름 사용) 패스스루 업로드는 원본 파일 이름으로 강제 적용됩니다. |
is_encryption_upload | integer | 0 | 콘텐츠 암호화 여부
|
is_audio_upload | integer | 0 | 업로드 파일 유형
|
is_passthrough | integer | 0 | 업로드 방식
|
profile_key | string | - | (패스스루 업로드 시 필수) 인코딩 프로파일 키
|
요청 예시
{
"expire_time": 600,
"category_key": "abcd1234",
"title": "My Video",
"is_encryption_upload": 0,
"is_audio_upload": 0
}
응답 규격
업로드 URL 생성 API의 응답은 application/json; charset=UTF-8 형식을 준수합니다.
업로드 방식(일반/패스스루)에 따라 응답 객체의 명칭이 상이하므로 구현 시 주의하세요.
일반 업로드 응답 필드
| 필드 | 설명 |
|---|---|
error | 처리 결과 (0: 정상) |
message | 에러 메시지 (정상 처리 시 빈 문자열) |
data | 업로드 세션 정보를 포함하는 객체 |
data.upload_url | 업로드 서버 URL |
data.progress_url | 업로드 진행률 조회 URL |
data.upload_file_key | 업로드 파일 키 |
data.expired_at | 업로드 파일 키 만료 일시 (Unix Timestamp) |
