채널 생성

VOD Station은 채널을 생성하기 위한 API를 제공하며, 생성한 채널 조회를 위해 채널 목록 조회 API채널 정보 조회 API를 제공합니다.


요청

POST https://vodstation.apigw.ntruss.com/api/v1/channels

요청 헤더

헤더명 설명
x-ncp-apigw-timestamp 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 나타내며 API Gateway 서버와 시간 차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주
x-ncp-apigw-timestamp:{Timestamp}
x-ncp-apigw-api-key APIGW에서 발급받은 키 값
x-ncp-apigw-api-key:{API Gateway API Key}
x-ncp-iam-access-key 네이버 클라우드 플랫폼 포털에서 발급받은 Access Key ID 값
x-ncp-iam-access-key:{Sub Account Access Key}
x-ncp-apigw-signature-v2 Access Key ID 값과 Secret Key로 암호화한 서명
x-ncp-apigw-signature-v2:{API Gateway Signature}
Content-Type Request body content type을 application/json으로 지정
Content-Type: application/json

요청 바디

API 요청 시 필드명의 대소문자 구분이 필요합니다.

필드명 필수 여부 타입 제약 사항 설명
name Yes String 생성할 채널의 이름입니다.
storageBucketName Yes String 채널과 연동할 네이버 클라우드 플랫폼 Object Storage 버킷 이름입니다.
protocolList[] Yes String HLS, DASH 채널의 스트리밍 프로토콜입니다.
HLS와 DASH를 지원하며, 중복 선택이 가능합니다.
segmentDuration Yes Integer 5-20 사이 정수 Segment당 재생 시간입니다.
재생 시간이 길어질수록 Segment의 크기가 커지며, Client 네트워크 상태에 따라 로딩 시간이 길어질 수 있습니다.
반면에, Segment 시간이 짧아질수록 Segment의 크기는 작아지며, 지나치게 짧게 설정 시 Client 네트워크 상태에 따라 버퍼링이 발생할 수 있습니다.
(단위: 초)
createCdn Yes boolean true, false VOD Station은 CDN 연동이 필수입니다.
채널 생성 시 함께 생성하거나 별도로 생성해 사용할 수 있습니다.
cdnTypeList[] Conditional String CDN+ 현재 자동 채널 생성은 CDN+만 지원하고 있으며, 별도 CDN 생성은 CDN+ 연동 가이드 혹은 Global CDN 연동 가이드를 참고 부탁드립니다.

응답

필드명 타입 설명 비고
content Object VOD Station OPEN API 응답 객체
content.id String 생성된 채널의 ID
content.name Object 채널 이름
content.channelStatus Integer 채널의 현재 상태
content.storageBucketName String 채널에 연동된 Object Storage 버킷 이름
content.segmentDuration String Segment당 재생 시간
(단위: 초)
content.protocolList Array 채널의 스트리밍 프로토콜 목록
content.createTime Integer 채널의 생성 시작 시간
content.cdnCreatedTime Integer 채널에 연동하여 자동 생성된 CDN의 생성 시간
content.cdnStatus String 채널에 연동된 CDN의 상태. 자동 생성하지 않으면 없음으로 노출.
content.storageBucketStatus String 채널에 연동된 Object Storage 버킷의 상태
total Integer 총 채널의 수
error Object 오류 응답 코드 및 메시지 VOD Station API 오류 코드 참고
error.errorCode String 오류 응답 코드
error.message String 오류 응답 메시지
error.details String error message의 상세한 설명. api gateway 오류 발생 시 응답.

예시

요청 예시

POST https://vodstation.apigw.ntruss.com/api/v1/channels

POST /api/v1/channels
HOST: vodstation.apigw.ntruss.com
Content-Type: application/json
x-ncp-apigw-timestamp:1521787414578
x-ncp-apigw-api-key:AKLJsfKIy12AJDW0Q2MxANdoiAZKxWwG3NOvT6aZ
x-ncp-iam-access-key:6uxz1nKkcYwUjWRG5Q1V7NsW0i5jErlu2NjBXXgy
x-ncp-apigw-signature-v1:iJFK773KH0WwQ79PasqJ+ZGixtpDQ/abS57WGQdld2M=

"{ \"cdnTypeList\": [ \"cdn+\" ], \"createCdn\": true, \"name\": \"api-guide\", \"protocolList\": [ \"HLS\", \"DASH\" ], \"segmentDuration\": 5, \"storageBucketName\": \"vodstation-bucket\"}"

응답 예시

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 12 Sep 2018 09:53:32 GMT
Content-Type: application/json;charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
x-ncp-trace-id: 36c9k60om4p3238cpmc9gm4cj4

{
  "content": {
    "id": "vs-20191227055342-vDVWH5l",
    "name": "api-guide",
    "channelStatus": "CREATING",
    "storageBucketName": "vodstation-bucket",
    "segmentDuration": 5,
    "protocolList": [
      "HLS",
      "DASH"
    ],
    "createTime": 1577426022,
    "cdnCreatedTime": 1577426022,
    "cdnStatus": "CREATING",
    "storageBucketStatus": "RUNNING"
  }
}

오류 코드

VOD Station API 요청이 잘못되었거나, 처리 도중 오류가 발생하면 HTTP 상태코드로 성공/실패를 반환하고 JSON 형식으로 상세 메시지를 반환합니다.

오류 코드는 VOD Station API의 ‘공통 오류 코드’와 ‘API Gateway 오류 코드’ 두 가지입니다.

오류 코드 응답 메시지 설명
260000 Unexpected error occurred
260001 Error occurred
260002 Invalid value 요청값의 포맷이 올바르지 않습니다.
260003 Missing required header 필수 요청 헤더가 누락되었습니다.
260004 Not found 요청 리소스를 찾을 수 없습니다.
260005 Not available 요청 리소스를 사용할 수 없습니다.
260006 Unauthorized 요청 리소스에 권한이 없습니다.
260007 Connection failed 커넥션 연결에 실패하였습니다.
260008 Request failed 요청이 실패하였습니다.
260009 Third-party interface exception 내부 오류가 발생하였습니다.
260010 We cannot accomplish the task as permissions are not granted for the sub account
Please modify permissions for the account through the Sub Account service
Sub Account 권한이 충분하지 못합니다.
필요 권한: NCP_VOD_STATION_MANAGER, NCP_OBJECT_STORAGE_MANAGER, NCP_CDN_PLUS_MANAGER
260012 This protocol not support now 해당 프로토콜은 현재 지원하지 않습니다.
260013 Invalid segment duration Segment duration 설정이 올바르지 않습니다.
5-20 사이 정수
260014 Engine create channel failed 채널 생성에 실패하였습니다.
고객 지원 센터로 문의 부탁드립니다.
260015 Engine delete channel failed 채널 삭제에 실패하였습니다.
고객 지원 센터로 문의 부탁드립니다.
260017 Invalid channel id 채널 ID가 올바르지 않습니다.
260018 Batch create channel failed 채널 생성에 실패하였습니다.
고객 지원 센터로 문의 부탁드립니다.
260019 Batch stop channel failed 채널 정지에 실패하였습니다.
고객 지원 센터로 문의 부탁드립니다.
260020 Batch terminate channel failed 채널 삭제에 실패하였습니다.
고객 지원 센터로 문의 부탁드립니다.
260021 Invalid bucket 버킷 설정이 올바르지 않습니다.
260022 channel can be start only when status is ‘STOPPED’ 정지 상태의 채널만 시작할 수 있습니다.
260023 channel can be stop only when status is ‘READY’ 시작 상태의 채널만 정지할 수 있습니다.
260024 channel can be delete only when status is ‘STOPPED’ 정지 상태의 채널만 삭제할 수 있습니다.
260025 param page no must bigger than 1 in pageable request 페이징 요청 시 pageNo 파라미터는 1 이상이어야 합니다.
260028 must provide a valid cdn type to create cdn createCdn이 true라면 cdnTypeList가 필요합니다.
260029 protocol list should not empty protocolList 값이 필요합니다.
HLS, DASH
260030 vod station support cdn+(CDN+) only VOD Station에서 지원하는 CDN이 아닙니다.
CDN+ only
260031 you can only delete channel that CDN status is NOT_FOUND CDN 상태가 없음(NOT_FOUND)인 채널만 삭제할 수 있습니다.
260032 The channel name can be entered in digit and English within a minimum of 3 characters and a maximum of 20 characters. Special character - is accepted 채널 생성시 name이 없거나 잘못 되었습니다.
영문, 숫자, "-" 허용, 3자 이상 20자
260033 Invalid request data,please check 요청 데이터 중 잘못된 값이 있습니다.
요청 API의 문서를 참고 부탁드립니다.