CMS 應用程式介面通知

在本主題中,您將了解CMS API通知。的CMS API提供帳戶帳戶中的視頻更改的通知,無論是帳戶用戶還是視頻雲系統。

概覽

您可以在以下情況下收到通知video-change事件發生在您的視頻庫中。通知將發送到您指定的URL,該URL應指向能夠處理的應用程序HTTPPOST要求。

驗證

與對CMS API的所有請求一樣,設置或列出通知訂閱的請求必須使用訪問令牌。用於獲取訪問令牌的客戶端憑據必須具有以下權限:video-cloud/notifications/allCMS->Notifications如果您使用Studio用戶界面創建憑據。)

設定

要創建新訂閱,請提交POST請求https://cms.api.brightcove.com/v1/accounts/{account_id}/subscriptions請求正文包括您希望將通知傳遞到的端點和video-change或者master-video-change作為事件數組中的單個項目。您最多可以為每個事件指定 10 個端點來接收通知。

可用的事件video-change適用於您的視頻庫,現在,活動適用於master-video-change用於動態交付主視頻資產的更改,這些更改最終將反映在您的共享視頻中。

為了video-change事件

{
  "endpoint":"https://solutions.brightcove.com/bcls/di-api/di-callbacks.php",
  "events":["video-change"]
}

為了master-video-change事件

{
  "endpoint":"https://solutions.brightcove.com/bcls/di-api/di-callbacks.php",
  "events":["master-video-change"]
}

通知以JSON格式發送。這是一個例子video-change事件:

{
  "timestamp":1423840514446, 
  "account_id":"775205503001", 
  "event":"video-change", 
  "video":"4020894387001", 
  "version":26,
  “action”:”UPDATE”,
  “updated_by”:{ "email": "string", "id": "string", "type": "user" }
}

和一個例子master-video-change看起來像這樣:

{
  "timestamp":1423840514446,
  "account_id":"775205503001",
  "event":"video-change",
  "video":"4020894387001", 
  "version":26, 
  "action":"UPDATE", 
  "updated_by":{ "email": "string", "id": "string", "type": "user" },
  "master_account_id":"784205904003",
  "master_video_id":"6200985429005"
}

通知欄位

料號 描述
timestamp 事件發生的時間Epoch毫秒
account_id Video Cloud帳戶ID
master_account_id Only for master-video-change events: The id of the master video who made the update in the assets shared with the affiliate video.
master_video_id Only for master-video-change events: The id of the Video Cloud master account for the master video.
event 事件的類型-當前這將始終是video-change
video 影片ID
version 視頻版本-每組更改事件都會增加視頻版本-例如,創建一組新的移交將構成一組更改事件
action [1-1] 執行的操作 - 以下之一:
  • UPDATE - 資產已更新
  • CREATE - 資產已創建
  • TRIGGERED_MANUAL - 通知由內部 Brightcove 應用程序觸發
  • DELETE - 資產被刪除
  • updated_by [1-1] 包含有關誰執行該操作的信息的對象(如果有);對象屬性是:
  • email - 用戶的電子郵件地址
  • id - 用戶的視頻雲系統 ID
  • type - 更新類型:
    • user -工作室中的用戶
    • api-key - 通過 API 的用戶
    • internal - Brightcove 系統或用戶
  • 創建訂閱的請求將收到一個HTTP 422在以下情況下的錯誤響應:

    • endpoint要么events請求正文中缺少該字段
    • events字段值不是列表(數組)
    • 定義的訂閱已存在
    • 您已經有10個活動訂閱

    通知失敗

    通知系統對待任何4xx要么5xx從客戶服務器返回作為可重試失敗。失敗的回調將被重試最多 20 次,後續回調之間的延遲呈指數增加。前幾次重試將在初始回調嘗試的幾分鐘內發生。如果回調繼續失敗,並且我們一直到第 20 次重試,則重試延遲將是幾天。

    防火牆

    如果您的組織對通過防火牆的傳入流量的來源有嚴格的政策,我們允許使用AWS us-east-1 / Virginia IP。這可能會有所變更,因此所有 AWS IP 都應該列入白名單。看到https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html欲獲得更多信息。

    通知訂閱的端點

            /accounts/{account_id}/subscriptions
            
            

    獲取您的訂閱列表

    要獲取所有訂閱的列表,請發送GET請求訂閱端點:。

    /accounts/{account_id}/subscriptions

    獲取或刪除單個訂閱

    使用以下端點來獲取或刪除單個訂閱:

    端點

    /accounts/{account_id}/subscriptions/{subscription_id}

    一種GET請求將檢索訂閱。一種DELETE請求將刪除訂閱。您目前無法更新訂閱。如果要修改訂閱,則需要將其刪除並創建一個新的訂閱。

    什麼觸發通知?

    video-change視頻元數據的任何更改都會觸發事件。這包括在Studio或通過CMS API寫方法。還有一些系統事件將觸發video-change事件。

    將觸發事件的更改包括:

    • 視頻已創建
    • 開始攝取視頻或資產文件
    • 視頻或資產文件的提取已完成
    • 新演繹的編碼完成
    • 創建海報圖像
    • 創建縮略圖
    • 視頻被激活或停用
    • 視頻已刪除
    • 視頻元數據已更改(由系統或用戶更改)
    • master-video-change事件由主視頻資產的更新觸發,這使得它們僅可用於共享。

      將觸發此事件的更改包括:

      • 攝取的資產被添加到主視頻
      • 攝取的資產在主視頻中被替換/重新轉碼

    注意事項

    重新轉碼視頻不會觸發video-change事件,除非生成的再現集不同。

    刪除視頻後會發生系統事件,因此刪除視頻後您會收到有關該視頻的通知。

    會怎樣觸發video-change事件是對視頻資產的更改,不會更改視頻元數據。例如,如果您替換遠程文本跟踪文件或圖像,但是視頻元數據中記錄的URL保持不變,則否video-change事件將會發生,並且不會發送任何通知。

    刪除主視頻中的資產不會觸發master-video-change事件。當視頻中的資產被刪除時,這是因為視頻正在被刪除,並且共享已經處理了附屬視頻的刪除過程。