Callback Endpointの登録
    • PDF

    Callback Endpointの登録

    • PDF

    記事の要約

    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
    }
    

    リクエスト

    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/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
       }
    }
    

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

    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/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"
        }
    }
    

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

    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/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"
      }
    }
    

    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",
      }
    }
    

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

    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.