Release notes 2019-2021

2021r3.000

Custom attributes in MAM API

As from this version, support has been added for the following custom attributes types in the MAM API:

  • String

  • Boolean

  • Dropdown

  • Integer

  • Date

  • Text

  • Web

  • Reference

This support has been added for the concepts Media Asset, Media, Video component, Audio component and Subtitling component.

2021r2.001

API version: v1.4.1

Fixes

Preferred and Kind interaction

Previously, when using the POST and PUT media asset and complete media asset calls in the MAM API, it was possible to have behaviour that was not allowed in WHATS'ON.

If a value for the attribute kind was sent which cannot be broadcast (as set in drop-down list MM2MediaAssetKind), and the preferred attribute was set to true, the media asset would be created. It would be marked as preferred, but field Kind would be left empty, even though the value passed and was shown in the service. This is because in WHATS'ON, the media asset cannot be preferred and have a kind that is not suitable for broadcasting. If you try this in WHATS'ON, a message is shown.

This issue has now been fixed. The commercial is not created and the following response is returned:

{
    "statusCode": "422",
    "message": "Operation cannot be completed due to violations",
    "timestamp": "2021-06-30T10:47:13Z",
    "concept": "Commercial",
    "id": "be04be9e-9e34-4c4e-9397-1e57cff646f2",
    "errors": [
        {
            "errorCode": "CORE-00002",
            "description": "The kind of media asset cannot be used for broadcasting
			     so you cannot set it as preferred",
            "data": [
                "NOT FOR AIR"
            ]
        }
    ]
}

This has also been fixed in the commercial API.

Segment identification

It is possible to update media assets with new segments in their segmentation profiles using several calls in the MAM API. Previously, if there were at least 2 media segments in the profile with the same value for the segmentIdentication attribute, it would only update a segment with that value instead of creating all the segments.

This issue has been fixed, so all segments included in the call are created with the provided segmentIdentication.

2021r2.000

Fix for empty components when creating media assets with templates in MAM and commercial API

The MAM API has a POST /mediaAssets call to create media assets using templates, which are prototypes in WHATS'ON. The commercial integration API has a POST /commercial call that you can use to create commercials and its media assets. For those media assets, you can also specify a template.

Previously, when the defined template also contained component prototype sets to automatically create components, only the media asset but not the components were created when sending the call.

This issue has now been fixed and the components are created correctly.

2020r2.000

API version: v1.2.0

Additional media fields

It was already possible to include some properties of the media, such as media label, status, library and type, when using the calls for components. From this version, more media fields have been added to the POST, PUT and GET calls for video, subtitling and audio components:

  • Network path
  • TC in
  • TC out
  • Remarks
  • MAM media ID
  • Checksum
  • File size
  • File format
  • Encoding
  • Extension

There are also 3 new GET calls to retrieve the values of the drop-down lists used by the fields File format, Extensions and Encoding. See the calls in the API Explorer.

2020r2.002

Improvements to MAM API

A new POST and PUT call is created, that allows creating or updating a media asset and all its components in one call. Furthermore, the GET /mediaAssets/{mediaAssetId} call is adjusted to support the complete media assets call.

2020r1.002

API version: v1.2.1

External reference cannot be cleared by BAPI

Within any POST and PUT call, if a an attribute is sent empty, WHATS'ON will clear that field. Previously, this was also possible with the external reference of all media-related objects.

Now, this is fixed. When no external reference is provided but the attribute is sent empty or null, we will ignore that tag and proceed as if there was no ID field (external reference) provided. This means that it should remain as is in a PUT call or return a new one in a POST call.

2019r3.004

API version: v1.2.1

Consistent error message for identical IDs

External references in WHATS'ON are generated in a unique way but they can be edited afterwards, resulting in identical IDs for multiple objects. Previously, when updating a media asset using an ID that was used for multiple objects, an error was returned:

{
    "statusCode": "422",
    "message": null,
    "details": {
        "message": {
            "id": "MAM-00001",
            "description": "$_Multiple Media Assets found with id 3117372000",
            "parameters": [
                "3117372000"
            ]
        },
        "concept": "MediaAsset"
    }
}

This issue can also occur for the other objects in the MAM API but this error message was not implemented for those.

Now, it is returned for all objects: media assets, media asset sequences, audio components, video components, subtitling components, segmentation profiles.

Updating media asset sequences linked to transmissions

Previously, when a media asset sequence was linked to a past transmission, it was not possible to update this sequence using the media asset sequence calls. In that case, the following error message was returned:

{
    "statusCode": "422",
    "message": null,
    "details": {
        "message": {
            "id": "MAM-00027",
            "description": "Media assets with ID''s 3117389000 are linked
                            to one or more transmissions in the past",
            "parameters": [
                "3117388000"
            ]
        },
        "concept": "MediaAsset"
    }
}

However, this constraint was not present in WHATS'ON. You could alter media asset sequences at any moment is time. Therefore, the constraint is removed from the BAPI.

Updating intention on media assets of sequence

Previously, when a media asset was part of a sequence with multiple media assets, and the intention was updated on that media asset, a check was done to see if the intention was the same on all media assets of the sequence. If it is not, an error message was returned:

{
    "statusCode": "422",
    "message": "Operation cannot be completed due to violations",
    "details": {
        "message": {
            "id": "CORE-00002",
            "description": "$_Operation cannot be completed due to violations",
            "parameters": []
        },
        "violations": [
            {
                "messageNumber": "2462",
                "description": "All media assets belonging to a media asset sequence must have the same kind and intention."
            }
        ],
        "concept": "MediaAsset"
    }
}

It was then not possible to update the intention of all media assets using the BAPI since this field was not available in the media asset sequence call.

Now, the intention can be added as an optional field in the PUT or POST call of a media asset sequence. When it is used, the intention is updated to this value in all media assets of the sequence.

{
    "mediaAssetSequenceId": "3117389000",
    "intention": "ANTENNE",
    "mediaAssets": [
        "3117388000"
    ],
    "segmentationProfiles": []
}

Additionally, when the error message on a specific media asset is returned, more information is included to guide users to the media asset sequences call.

{
    "statusCode": "422",
    "message": "Operation cannot be completed due to violations",
    "details": {
        "message": {
            "id": "CORE-00002",
            "description": "$_Operation cannot be completed due to violations",
            "parameters": []
        },
        "violations": [
            {
                "messageNumber": "2462",
                "description": "Intention should be the same for all media assets of a media asset sequence. 
                                To update the intention of all media assets in a media asset sequence use the media asset sequence calls."
            }
        ],
        "concept": "MediaAsset"
    }
}

2019r3.002

The Media asset management business API now also supports creating, updating and deleting media asset sequences.