Live Station 에서 발생한 이벤트를 수신할 수 있는 Callback Endpoint 를 등록하는 API 입니다.
Callback Endpoint는 전체 채널에 대한 콜백 설정과 개별 채널 콜백 설정을 구분하여 이용하실 수 있습니다.
Callback 발송 데이터
Callback endpoint 를 등록하면 Live Station 에서 이벤트가 발생할 때마다 설정된 endpoint URL 로 아래와 같은 형태의 데이터가 전송됩니다. (HTTP POST 사용)
Callback 발송 응답 바디
필드명 | 필수 여부 | 타입 | 제약 사항 | 설명 |
---|
id | Yes | String | | |
logLevel | Yes | String | | |
channelId | Yes | String | | |
event | Yes | String | | |
timestamp | Yes | String | | |
Callback 발송 응답 예시
요청
Endpoint | Description |
---|
[POST https://livestation.apigw.ntruss.com/api/v2/events/callbackEndpoint] | 전체 채널 콜백 설정 (N(채널) : 1(콜백 엔드포인트)) |
[POST https://livestation.apigw.ntruss.com/api/v2/channels/{channelId}/callbackEndpoint] | 일반 채널 채널별 콜백 설정 (1(채널) : 1(콜백 엔드포인트)) |
[POST https://livestation.apigw.ntruss.com/api/v2/re-stream/channels/{channelId}/callbackEndpoint] | 리스트림 채널 채널별 콜백 설정 (1(채널) : 1(콜백 엔드포인트)) |
[POST https://livestation.apigw.ntruss.com/api/v2/vod/channels/{channelId}/callbackEndpoint] | VOD 채널 채널별 콜백 설정 (1(채널) : 1(콜백 엔드포인트)) |
요청별 콜백 발송 동작
채널별 콜백 엔드포인트 | 전체 채널 콜백 엔드포인트 | 동작 |
---|
미설정 | 미설정 | 콜백 발송하지 않음 |
미설정 | 설정 | 전체 채널 콜백 엔드포인트로 발송 |
설정 | 미설정 | 특정 채널에 설정한 콜백 엔드포인트로 발송 |
설정 | 설정 | 특정 채널에 설정한 콜백 엔드포인트로 발송 |
요청 헤더
헤더명 | 필수 여부 | 설명 |
---|
x-ncp-apigw-timestamp | YES | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 나타내며 API Gateway 서버와 시간 차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주
x-ncp-apigw-timestamp:{Timestamp} |
x-ncp-iam-access-key | YES | 네이버 클라우드 플랫폼 포털에서 발급받은 Access Key ID 값 x-ncp-iam-access-key:{Sub Account Access Key} |
x-ncp-apigw-signature-v2 | YES | Access Key ID 값과 Secret Key로 암호화한 서명
x-ncp-apigw-signature-v2:{API Gateway Signature} |
x-ncp-region_code | YES | 리전 코드 (KR) |
전체 채널 콜백 설정 요청 바디
필드명 | 필수 여부 | 타입 | 제약 사항 | 설명 |
---|
callbackUrl | Yes | String | callback 을 받을 custom endpoint | |
개별 채널 콜백 설정 요청 바디
필드명 | 필수 여부 | 타입 | 제약 사항 | 설명 |
---|
callbackEndpoint | Yes | String | callback 을 받을 custom endpoint | |
응답
전체 채널 콜백 설정 응답
필드명 | 타입 | 설명 | 비고 |
---|
callbackUrl | String | | |
updateTime | Integer | | |
일반 채널 콜백 설정 응답
필드명 | 타입 | 설명 | 비고 |
---|
channelId | String | | |
channelName | String | | |
instanceNo | String | | |
qualitySetId | Integer | | |
qualitySetName | String | | |
outputProtocol | String | Default set: HLS, DASH | |
channelStatus | String | CREATING, READY, PUBLISH, DELETED,BLOCK | |
isRecording | Boolean | | |
useDvr | Boolean | | |
immediateOnAir | Boolean | | |
timemachineMin | Integer | | 단위: Minute |
snapshot | Object | | |
snapshotId | Integer | | |
cdn | Object | | |
cdn.instanceNo | String | | NO_CDN 이면 0 |
cdn.serviceName | String | CDN Service Name | NO_CDN 이면 "" |
cdn.profileId | Integer | Global Edge 의 프로필 ID | NO_CDN 이면 0 |
cdn.statusName | String | CDN 상태 | NO_CDN 이면 "" |
cdn.cdnType | String | GLOBAL_CDN, GLOBAL_EDGE | |
cdn.cdnDomain | String | CDN Domain | NO_CDN 이면 "" |
record | Object | | |
record.format | String | MP4,HLS,ALL | |
record.type | String | NO_RECORD, AUTO_UPLOAD, MANUAL_UPLOAD | |
record.bucketName | String | | |
record.filePath | String | | |
record.accessControl | String | PRIVATE, PUBLIC_READ | |
publishUrl | String | | |
streamKey | String | | |
recentPublishStartTime | Integer | | |
createdTime | Integer | | |
alertOn | Boolean | | if alertOn == true, alertOptions should be set |
alertOptions | Object | | |
alertOptions.alertChangeStatus | Boolean | | |
alertOptions.alertVodUploadFail | Boolean | | |
alertOptions.alertReStreamFail | Boolean | | |
totalPublishSeconds | Integer | | |
envType | String | DEV, STAGE, REAL | |
callbackEndpoint | String | | |
리스트림 채널 콜백 설정 응답
필드명 | 타입 | 설명 | 비고 |
---|
channelId | String | | |
channelName | String | | |
instanceNo | Integer | | |
channelStatus | String | | |
createdTime | Integer | | |
publishUrl | String | | |
streamKey | String | | |
planType | String | STANDARD, PROFESSIONAL | |
restream | Object[] | | |
restream[].targetName | String | | |
restream[].rtmpUrl | String | | |
restream[].streamKey | String | | |
restream[].id | String | | 설정되어 있으면 표시 |
restream[].password | String | 설정되어 있으면 표시 | |
platformCount | Integer | | |
totalPublishSeconds | Integer | | |
recentPublishStartTime | Integer | | |
alertOn | Boolean | | |
alertOptions | Object | | |
alertOptions.alertChangeStatus | Boolean | | |
alertOptions.alertVodUploadFail | Boolean | | |
alertOptions.alertReStreamFail | Boolean | | |
isPublishing | Boolean | | |
envType | String | DEV, STAGE, REAL | |
callbackEndpoint | String | | |
예시
전체 채널 콜백 설정 요청 예시
전체 채널 콜백 설정 응답 예시
일반 채널별 콜백 설정 요청 예시
일반 채널별 콜백 설정 응답 예시
리스트림 채널별 콜백 설정 요청 예시
리스트림 채널별 콜백 설정 응답 예시
VOD 채널별 콜백 설정 응답 예시
의견을 보내 주셔서 감사합니다! 우리 팀이 당신에게 돌아갈 것입니다.