Classic/VPC環境で利用できます。
ライブチャンネルのイベントを受信するコールバックエンドポイントを登録します。
参考
コールバック送信データと送信動作の詳細は、Callback Enpointの登録をご参照ください。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
| メソッド | URI |
|---|---|
| POST | /api/v2/channels/{channelId}/callbackEndpoint |
リクエストヘッダ
Live Station APIで共通して使用されるヘッダの詳細は、Live Stationのリクエストヘッダをご参照ください。
リクエストパスパラメータ
リクエストパスパラメータの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
channelId |
String | Required | チャンネル ID
|
リクエストボディ
リクエストボディの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
callbackEndpoint |
String | Required | コールバックエンドポイント URL |
リクエスト例
リクエストのサンプルコードは次の通りです。
curl --location --request POST 'https://livestation.apigw.ntruss.com/api/v2/channels/ls-20250820******-PyysO/callbackEndpoint' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'x-ncp-region_code: KR' \
--header 'Content-Type: application/json' \
--data '{
"callbackEndpoint": "https://www.callback-endpoint.com"
}'
レスポンス
レスポンス形式を説明します。
レスポンスボディ
レスポンスボディの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
content |
Object | - | チャンネル情報 |
content.channelId |
String | - | チャンネル ID |
content.channelName |
String | - | チャンネル名 |
content.instanceNo |
Integer | - | チャンネルインスタンス番号 |
content.qualitySetId |
Integer | - | 画質設定 ID |
content.qualitySetName |
String | - | 画質設定名 |
content.outputProtocol |
String | - | Output Protocol |
content.channelStatus |
String | - | チャンネルの状態
|
content.isRecording |
Boolean | - | 録画中か
|
content.useDVR |
Boolean | - | タイムシフトを設定するか
|
content.immediateOnAir |
Boolean | - | 配信と同時に自動録画を設定するか
|
content.timemachineMin |
Integer | - | タイムシフトの有効時間(分) |
content.cdn |
Object | - | CDNの設定 |
content.cdn.instanceNo |
String | - | CDNインスタンス ID |
content.cdn.serviceName |
String | - | CDNサービス名 |
content.cdn.statusName |
String | - | CDNの状態
|
content.cdn.cdnType |
String | - | CDNタイプ
|
content.cdn.cdnDomain |
String | - | CDNサービスドメイン |
content.cdn.profileId |
Integer | - | Global Edgeのプロファイル ID |
content.cdn.regionType |
String | - | Global Edgeのサービス地域 |
content.streamKey |
String | - | メインストリームキー |
content.publishUrl |
String | - | 基本配信 URL |
content.globalPublishUrl |
String | - | 海外配信 URL |
content.totalPublishSeconds |
Integer | - | チャンネルの使用時間(秒) |
content.createdTime |
Integer | - | チャンネル作成日時(ミリ秒)
|
content.alertOn |
Boolean | - | イベントアラームを設定するか
|
content.recentPublishStartTime |
Integer | - | 直近の配信開始日時(ミリ秒)
|
content.alertOptions |
Object | - | イベントアラームを設定 |
content.alertOptions.alertChangeStatus |
Boolean | - | チャンネル状態変更アラームを適用するか
|
content.alertOptions.alertVodUploadFail |
Boolean | - | 録画ファイルアップロード失敗アラームを適用するか
|
content.alertOptions.alertReStreamFail |
Boolean | - | 同時配信リレー失敗アラームを適用するか
|
content.alertOptions.reStreamFailThreshold |
Integer | - | アラーム発生条件(基準回数) |
content.alertOptions.alertStreamFailOver |
Boolean | - | メインストリーム切り替えアラームを適用するか
|
content.callbackEndpoint |
String | - | コールバックエンドポイント URL |
content.envType |
String | - | チャンネルタイプ
|
content.uploadPath |
String | - | 録画ファイルアップロードパス
|
content.record |
Object | - | 録画保存情報 |
content.record.type |
String | - | 録画保存設定
|
content.record.bucketName |
String | - | 録画ファイル保存場所のバケット名
|
content.record.filePath |
String | - | 保存場所の詳細パス
|
content.record.format |
String | - | 自動保存録画タイプ
|
content.record.accessControl |
String | - | 録画ファイル保存場所バケットの公開範囲
|
content.snapshot |
Object | - | スナップショット情報
|
content.snapshot.snapshotId |
Integer | - | スナップショット ID |
content.origin |
Object | - | オリジン情報 |
content.origin.originDomain |
String | - | オリジンのドメイン |
content.origin.originPath |
String | - | オリジンのパス |
content.backupStreamKey |
String | - | バックアップストリームキー
|
content.isStreamFailOver |
Boolean | - | 配信冗長化設定
|
content.drmEnabledYn |
Boolean | - | Multi DRMの使用
|
content.drm |
Object | - | Multi DRM設定
|
content.drm.siteId |
String | - | サイト ID |
content.drm.contentId |
String | - | コンテンツ ID |
レスポンスステータスコード
Live Station APIで共通して使用されるレスポンスステータスコードの詳細は、Live Stationのレスポンスステータスコードをご参照ください。
レスポンス例
レスポンスのサンプルコードは次の通りです。
{
"content": {
"channelId": "ls-20250820******-PyysO",
"channelName": "testchannelname",
"instanceNo": 10******7,
"qualitySetId": 3,
"qualitySetName": "1080p-set",
"outputProtocol": "HLS",
"channelStatus": "READY",
"isRecording": false,
"useDVR": true,
"immediateOnAir": false,
"timemachineMin": 360,
"cdn": {
"instanceNo": "11618",
"serviceName": "edge-ls-20250818******-KRXat",
"statusName": "RUNNING",
"cdnType": "GLOBAL_EDGE",
"cdnDomain": "**************.edge.naverncp.com",
"profileId": 4210,
"regionType": "KOREA"
},
"streamKey": "ix*****************************u",
"publishUrl": "rtmp://***********.video.media.ntruss.com:8080/relay",
"globalPublishUrl": "rtmp://***************.video.media.ntruss.com:8080/relay",
"totalPublishSeconds": 5617,
"createdTime": 1755652518000,
"alertOn": false,
"recentPublishStartTime": 1755652719000,
"alertOptions": {
"alertChangeStatus": false,
"alertVodUploadFail": false,
"alertReStreamFail": false,
"alertStreamFailOver": false
},
"callbackEndpoint": "https://www.callback-endpoint.com",
"envType": "REAL",
"record": {
"type": "MANUAL_UPLOAD",
"accessControl": "PRIVATE"
},
"origin": {
"originDomain": "*****.video.media.ntruss.com",
"originPath": "2*****5"
},
"isStreamFailOver": false,
"drmEnabledYn": true,
"drm": {
"siteId": "drm-20250814******-gJMis",
"contentId": "my-Test-Multidrm"
}
}
}