Webhookの設定

Webhookを使用して、C3 Portal上でアセットやビンが作成・変更された際に外部システムに通知を行う方法を説明します。

  1. [設定]画面で[Webhook]ページを選択する。
  2. (追加)ボタンをクリックする。
    ダイアログが表示されます。
  3. Webhookの名前を入力して[保存]ボタンをクリックする。
  4. 追加したWebhookを選択する。
  5. [URL]に通知先のURLを入力する。
  6. [イベントタイプ]で外部システムに通知を行うイベントを選択する。
  7. 認証のON/OFFを選択し、ONにした場合は認証情報を設定する。
  8. 設定した通知先にWebhookをテスト送信するには[テスト]ボタンをクリックする。
  9. [保存]ボタンをクリックする。

設定したWebhookで通知されるPOSTメッセージのBodyは次のようになります。

assetのWebhook Body例

{
  "senderId": "51987e87-8c97-47ac-a604-427da571d885",
  "webhookId": "uAne_H4BsCp6f5HEAtE7",
  "tenantId": "xxxxxxxxxxxx",
  "groupId": "5QVEunwBbes12346d0dU",
  "type": "UpdateMetadata",
  "createdOn": "2022-03-01T06:23:55+0000",
  "assets": [
    {
      "id": "2kklRH8Bnq3Km-B7mIcu",
      "name": "CLIP1472S03"
    }
  ]
}

binのWebhook Body例

{
  "senderId": "d7b78b5a-6ca5-4389-8701-a4ceb16ae87f",
  "webhookId": "uAne_H4BsCp6f5HEAtE7",
  "tenantId": "xxxxxxxxxxxxxx",
  "groupId": "5QVEunwBbes12346d0dU",
  "type": "Create",
  "createdOn": "2022-03-01T11:00:57+0000",
  "bins": [
    {
      "id": "5QVEunwBbes1sNs6d0dU.AU.3vbT_oon5y-GlKtEU1Tx8A.eOhIEZ4Bm9ybaqYTQ0zLPw",
      "name": "webhook 01 "
    }
  ]
}

チャンク記録のWebhook Body例

{
  "senderId": "8961b7df-328f-4ac6-9a90-bb960c7d1db1",
  "webhookId": "yeWQ4X4B7gph0Ncfrmq0",
  "tenantId": "xxxxxxxxxxxxxxxxxxx",
  "groupId": "xxxxxxxxxxxxxxxxxx",
  "type": "StartChunkRecording",
  "createdOn": "2022-08-04T08:13:43+0000",
  "assets": [
    {
      "id": "3fTqZ4IBd-ykx5pI41Nh",
      "name": "CLIP3416S03"
    }
  ]
}

ストーリーのWebhook Body例

{
  "senderId": "409b438c-0c9b-41d1-81dc-3d525bfeee10",
  "webhookId": "uAne_H4BsCp6f5HEAtE7",
  "tenantId": "xxxxxxxxxxxxxxxxxxx",
  "groupId": null,
  "type": "UpdatePlanningMetadata",
  "createdOn": "2022-08-09T01:57:27+0000",
  "updatePlanningMetadata": [
    {
      "id": "edd4a897-90e5-428b-8b40-5a0bc......",
      "name": "TEST Story 0809"
    }
  ]
}

転送ステータスのWebhook Body例

{
  "senderId": "9cc45b1e-b787-4ceb-9df0-6ddbe7bbe876",
  "webhookId": "qDc02oYB7Wwts70T_3Iu",
  "tenantId": "xxxxxxxxxxxxxxxx",
  "groupId": "xxxxxxxxxxxxxxx",
  "type": "TransferStatus",
  "createdOn": "2023-03-13T09:04:26+0000",
  "assets": [
    {
      "id": "1O-12IYBxPyBFPyZJoe2",
      "name": "CLIP3369S03"
    }
  ]
}

Webhookのテストで送られるBody例

{
  "senderId": "f08ab53d-bf52-44b9-9758-0fde7a355106",
  "webhookId": "uAne_H4BsCp6f5HEAtE7",
  "tenantId": "xxxxxxxxx",
  "groupId": null,
  "type": "Test",
  "createdOn": "2022-03-01T11:53:26+0000",
  "assets": []
}

Bodyの各要素について

  • senderId:ユニークなWebhookのid
  • webhookId:登録したWebhookの設定id
  • tenantId:Tenantのid
  • groupId:チャンク記録、bins、assetsのイベントが起きたbinの所属するgroup id(ストーリーの場合は「null」)
  • type:イベントの種類
    選択したイベントに合わせて通知されます。
    • assetsまたはbins
      • 作成/Create
      • 移動/Move
      • コピー/Copy
      • ゴミ箱/Trash
      • ゴミ箱から復元/Untrash
      • 削除/Delete
      • メタデータ更新/UpdateMetadata
      • ステータス変更/StatusChange
      • 文字起こし/SpeechToTextStatusChange
    • チャンク記録開始/StartChunkRecording
    • チャンク記録終了/EndChunkRecording
    • ストーリー作成/CreatePlanningMetadata
    • ストーリー更新/UpdatePlanningMetadata
    • ストーリー素材更新/UpdatePlanningMaterial
    • ストーリーアサイン更新/UpdatePlanningAssign
    • ストーリー削除/DeletePlanningMetadata
    • 転送ステータス/TransferStatus
  • createdOn:イベントの発生日時
  • assets、bins、StartChunkRecordingまたはEndChunkRecording:assetまたはbinの配列
    (assetsとbinsは混在しません。)
    • assets[].id / bins[].id:assetまたはbinのid
    • assets[].name / bins[].name:assetまたはbinの名前
  • CreatePlanningMetadata、UpdatePlanningMetadata、UpdatePlanningMaterial、UpdatePlanningAssignまたはDeletePlanningMetadata
    • UpdatePlanningMetadata[].id:ストーリーのassignId
    • UpdatePlanningMetadata[].name:ストーリーのTitle