MENU
      Callback Endpointの登録

        Callback Endpointの登録


        記事の要約

        Live Stationで発生したイベントを受信する Callback Endpointを登録する APIです。
        Callback Endpointは、全チャンネルのコールバック設定と個別チャンネルのコールバック設定を分けて利用することができます。

        Callback送信データ

        Callback endpointを登録すると、Live Stationでイベントが発生するたびに設定された endpoint URLに以下の形式のデータが転送されます (HTTP POSTを使用)。

        Callback送信レスポンスボディ

        フィールド名必須の有無タイプ制限事項説明
        idYesString
        logLevelYesString
        channelIdYesString
        eventYesString
        timestampYesString

        Callback送信レスポンス例

        {
               "id": 1234,
               "logLevel": "INFO",
               "channelId": "ls-20200327140131-aBCD3",
               "event": "STREAM_UPDATE",
               "timestamp": 1599218791425
        }
        JSON

        リクエスト

        EndpointDescription
        [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-timestampYES1970年1月1日00:00:00協定世界時(UTC)からの経過時間をミリ秒(Millisecond)で表し、API Gatewayサーバとの時間差が5分以上の場合は無効なリクエストとみなす
        x-ncp-apigw-timestamp:{Timestamp}
        x-ncp-iam-access-keyYESNAVERクラウドプラットフォームポータルから発行された Access Key ID
        x-ncp-iam-access-key:{Sub Account Access Key}
        x-ncp-apigw-signature-v2YESAccess Key IDと Secret Keyで暗号化した署名
        x-ncp-apigw-signature-v2:{API Gateway Signature}
        x-ncp-region_codeYESリージョンコード (KR)

        全チャンネルコールバック設定のリクエストボディ

        フィールド名必須の有無タイプ制限事項説明
        callbackUrlYesStringcallbackを受け取る custom endpoint

        個別チャンネルコールバック設定のリクエストボディ

        フィールド名必須の有無タイプ制限事項説明
        callbackEndpointYesStringcallbackを受け取る custom endpoint

        レスポンス

        全チャンネルコールバック設定のレスポンス

        フィールド名タイプ説明備考
        callbackUrlString
        updateTimeInteger

        一般チャンネルコールバック設定のレスポンス

        フィールド名タイプ説明備考
        channelIdString
        channelNameString
        instanceNoString
        qualitySetIdInteger
        qualitySetNameString
        outputProtocolStringDefault set: HLS、DASH
        channelStatusStringCREATING、READY、PUBLISH、DELETED、BLOCK
        isRecordingBoolean
        useDvrBoolean
        immediateOnAirBoolean
        timemachineMinInteger単位: Minute
        snapshotObject
        snapshotIdInteger
        cdnObject
        cdn.instanceNoStringNO_CDNの場合は0
        cdn.serviceNameStringCDN Service NameNO_CDNの場合は""
        cdn.profileIdIntegerGlobal Edgeのプロファイル IDNO_CDNの場合は0
        cdn.statusNameStringCDNの状態NO_CDNの場合は""
        cdn.cdnTypeStringGLOBAL_CDN、GLOBAL_EDGE
        cdn.cdnDomainStringCDN DomainNO_CDNの場合は""
        recordObject
        record.formatStringMP4、HLS、ALL
        record.typeStringNO_RECORD、AUTO_UPLOAD、MANUAL_UPLOAD
        record.bucketNameString
        record.filePathString
        record.accessControlStringPRIVATE、PUBLIC_READ
        publishUrlString
        streamKeyString
        recentPublishStartTimeInteger
        createdTimeInteger
        alertOnBooleanif alertOn == true, alertOptions should be set
        alertOptionsObject
        alertOptions.alertChangeStatusBoolean
        alertOptions.alertVodUploadFailBoolean
        alertOptions.alertReStreamFailBoolean
        totalPublishSecondsInteger
        envTypeStringDEV、STAGE、REAL
        callbackEndpointString

        リストリームチャネルのコールバック設定のレスポンス

        フィールド名タイプ説明備考
        channelIdString
        channelNameString
        instanceNoInteger
        channelStatusString
        createdTimeInteger
        publishUrlString
        streamKeyString
        planTypeStringSTANDARD、PROFESSIONAL
        restreamObject[]
        restream[].targetNameString
        restream[].rtmpUrlString
        restream[].streamKeyString
        restream[].idString設定されている場合、表示
        restream[].passwordString設定されている場合、表示
        platformCountInteger
        totalPublishSecondsInteger
        recentPublishStartTimeInteger
        alertOnBoolean
        alertOptionsObject
        alertOptions.alertChangeStatusBoolean
        alertOptions.alertVodUploadFailBoolean
        alertOptions.alertReStreamFailBoolean
        isPublishingBoolean
        envTypeStringDEV、STAGE、REAL
        callbackEndpointString

        全チャンネルコールバック設定のリクエスト例

        POST /api/v2/events/callbackEndpoint
        HOST: livestation.apigw.ntruss.com
        Content-Type: application/json
        x-ncp-apigw-timestamp:1521787414578
        x-ncp-iam-access-key:6uxz1nKkcYwUjWRG5Q1V7NsW0i5jErlu2NjBXXgy
        x-ncp-apigw-signature-v2:iJFK773KH0WwQ79PasqJ+ZGixtpDQ/abS57WGQdld2M=
        x-ncp-region_code:KR
        
        {
          "callbackUrl": "https://my-callback-endpoint"
          }
        HTTP

        全チャンネルコールバック設定のレスポンス例

        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": {
              "callbackUrl": "https://my-callback-endpoint",
              "updateTime": 1614751615488
           }
        }
        HTTP

        一般チャンネル別コールバック設定のリクエスト例

        POST /api/v2/channels/{channelId}/callbackEndpoint
        HOST: livestation.apigw.ntruss.com
        Content-Type: application/json
        x-ncp-apigw-timestamp:1521787414578
        x-ncp-iam-access-key:6uxz1nKkcYwUjWRG5Q1V7NsW0i5jErlu2NjBXXgy
        x-ncp-apigw-signature-v2:iJFK773KH0WwQ79PasqJ+ZGixtpDQ/abS57WGQdld2M=
        x-ncp-region_code:KR
        
        {
          "callbackEndpoint": "https://my-callback-endpoint"
        }
        HTTP

        一般チャンネル別コールバック設定のレスポンス例

        HTTP/1.1 200 OK
        Server: nginx
        Date: Fri, 26 Sep 2021 09:53:32 GMT
        Content-Type: application/json;charset=utf-8
        Connection: keep-alive
        Access-Control-Allow-Origin: *
        x-ncp-trace-id: 36c9k60om4p3238cpmc9gm4cj4
        
        {
            "content" : {
                "channelId" : "ls-20200323114720-bMoDF",
                "channelName" : "mychannel",
                "instanceNo" : 1163899,
                "qualitySetId" : 6,
                "qualitySetName" : "360p-set",
                "outputProtocol" : "HLS, DASH",
                "channelStatus" : "READY",
                "isRecording" : false,
                "useDVR" : true,
                "immediateOnAir" : false,
                "timemachineMin" : 360,
                "cdn" : {
                    "instanceNo" : "1163900",
                    "serviceName" : "edge-ls-20200323114720-bMoDF",
                    "statusName" : "RUNNING",
                    "cdnType" : "GLOBAL_EDGE",
                    "cdnDomain" : "mycdn.edge.naverncp.com",
                     "profileId": 299,
                     "regionType": "KOREA"
                },
                "record": {
                    "type": "AUTO_UPLOAD",
                    "bucketName": "hls",
                    "filePath": "/livestation",
                    "format": "MP4",
                    "accessControl": "PRIVATE"
               },
                "publishUrl": "rtmp://live-station-rtmp-url",
                "streamKey": "jjiantco4psakuwd5526u2glcxrqaar4",
                "totalPublishSeconds" : 0,
                "createdTime" : 1584931640000,
                "recentPublishStartTime": 0,
                "alertOn" : false,
                "alertOptions" : {
                    "alertChangeStatus" : false,
                    "alertVodUploadFail" : false,
                    "alertReStreamFail" : false
                },
                "callbackEndpoint": "https://my-callback-endpoint",
                "envType": "REAL"
            }
        }
        HTTP

        リストリームチャンネル別コールバック設定のリクエスト例

        POST /api/v2/re-stream/channels/{channelId}/callbackEndpoint
        HOST: livestation.apigw.ntruss.com
        Content-Type: application/json
        x-ncp-apigw-timestamp:1521787414578
        x-ncp-iam-access-key:6uxz1nKkcYwUjWRG5Q1V7NsW0i5jErlu2NjBXXgy
        x-ncp-apigw-signature-v2:iJFK773KH0WwQ79PasqJ+ZGixtpDQ/abS57WGQdld2M=
        x-ncp-region_code:KR
        
        {
          "callbackEndpoint": "https://my-callback-endpoint"
        }
        HTTP

        リストリームチャンネル別コールバック設定のレスポンス例

        HTTP/1.1 200 OK
        Server: nginx
        Date: Fri, 26 Feb 2021 09:53:32 GMT
        Content-Type: application/json;charset=utf-8
        Connection: keep-alive
        Access-Control-Allow-Origin: *
        x-ncp-trace-id: 36c9k60om4p3238cpmc9gm4cj4
        
        {
          "content": {
            "channelId": "ls-20210225185132-FxGSn",
            "channelName": "mycallback-20210225185132",
            "instanceNo": 1627140,
            "channelStatus": "READY",
            "streamKey": "7xtotpxpkjnyhmjbe7k7jaa952q6lmhl",
            "publishUrl": "rtmp://live-station-rtmp-url",
            "planType": "STANDARD",
            "createdTime": 1614246692000,
            "restream": [
              {
                "id": "itis",
                "rtmpUrl": "rtmp://notworking-just-testcase.only",
                "streamKey": "12345",
                "password": "itispassword",
                "targetName": "YOUTUBE"
              }
            ],
            "platformCount": 1,
            "totalPublishSeconds": 0,
            "alertOn": false,
            "isPublishing": false,
            "alertOptions": {
              "alertChangeStatus": false,
              "alertVodUploadFail": false,
              "alertReStreamFail": false
            },
            "callbackEndpoint": "https://my-callback-endpoint",
            "envType": "REAL"
          }
        }
        HTTP

        VODチャンネル別コールバック設定のレスポンス例

        {
          "content": {
            "channelId": "ls-20211122220557-mUv3r",
            "channelName": "mycallback-20211235185132",
            "instanceNo": 2043025,
            "qualitySetId": 4,
            "qualitySetName": "720p-set",
            "outputProtocol": "HLS",
            "status": "READY",
            "cdn": {
              "instanceNo": "1541959",
              "serviceName": "edge-ls-20201204112949-D7RTL",
              "statusName": "RUNNING",
              "cdnType": "GLOBAL_EDGE",
              "cdnDomain": "mycdn.edge.naverncp.ntruss.com",
              "profileId": 299,
              "regionType": "KOREA"
            },
            "totalPublishSeconds": 0,
            "createdTime": 1637586357000,
            "updatedTime": 1637587476000,
            "alertOn": false,
            "alertOptions": {
              "alertChangeStatus": false
            },
            "callbackEndpoint": "https://my-callback-endpoint",
            "envType": "REAL",
            "type": "VOD",
          }
        }
        Plain text

        この記事は役に立ちましたか?

        Changing your password will log you out immediately. Use the new password to log back in.
        First name must have atleast 2 characters. Numbers and special characters are not allowed.
        Last name must have atleast 1 characters. Numbers and special characters are not allowed.
        Enter a valid email
        Enter a valid password
        Your profile has been successfully updated.