On This Page

Dynamic Ingest Notifications (Legacy Ingest)

In this topic, you will learn about Dynamic Ingest notifications, which provide information about the progress of your ingest jobs.

Dynamic Ingest API notifications

You can specify one or more callback URLs to receive notifications for the results of the ingest process. The URLs you specify should be for apps than can accept POST requests. Notifications will be sent in JSON format.

Notes

Up to 10 subscribers for error notifications are supported. You can include more than 10 URLs to have notifications sent to, but only the first 10 will be processed

URLs ending in a slash (/) will not be accepted; for example, the url “https://my.domain.com/notification-receiver” works, but “https://my.domain.com/notification-receiver/” does not

Notes

[1] Exception: All notifications for DRM-packaged content are returned as key/value pairs. In this case, the Content-Type header will be application/x-www-form-urlencoded. Otherwise, the Content-Type will be application/json

Notification fields

Item

Description

status

will be FAILED if the ingest or creation of a rendition was not successful, SUCCESS if the request succeeded

accountId

the account id

videoId

the video id

jobId

the job id for the Dynamic Ingest request

profileRefId

For video renditions, this will be the reference id you specified for the rendition in your ingest profile.

For manifests, the profileRefId will indicate the type of the manifest:

HlsManifest for an HLS NG manifest

HdsManifest for an HDS manifest

DashManifest for DASH manifests (2 - one of the Manifest assets is used for consumption in the MAPI, the other is used for consumption in the CMS API)

SmoothIsmManifest for a Smooth manifest (2 - one of the Manifest assets is used for consumption in the MAPI, the other is used for consumption in the CMS API)

entity

if it exists, the Video Cloud id of the asset that was ingested or failed (if the video object was successfully created in Video Cloud)

entityType

the kind of asset reported on - for example: TITLE (a video), DIGITAL_MASTER, ASSET (a rendition, captions file, or image)

errorMessage

an explanation of why the ingest failed if it did

version

a string always equal to "1"

action

the action that occurred - for example, CREATE

Interpreting notifications

A notification containing "action": "CREATE" and "status": "SUCCESS" indicates completion of a process.

If the entityType is TITLE, then processing of an ingested video is complete.

If the entityType is ASSET, then a rendition, image, manifest, or WebVTT file has been successfully added to your video.

Note: a "status": "SUCCESS" on a title indicates that processing is complete, but does not necessarily mean that it was all renditions were created successfully. To determine whether Dynamic Ingest of videos was successful, see Get Status of Dynamic Ingest Requests

Basic Sample app

Below is code for a simple logging app for Dynamic Ingest API notification. This app is written in PHP, but you can use any language, as long as the app has a public-facing URL and can handle http(s) POST requests.

Note: if you try to implement this app for yourself, you will need to make sure that the app has permission to write to your log file. Also remember that the log file can grow quickly - you will probably want to empty it on a regular basis.