OpenTV ENTera & OpenTV Platform Documentation
26.26_Q2 25.52_Q4 25.26_Q2 25.12_Q1 24.50_Q4 24.38_Q3 24.26_Q2 23.50_Q4 23.24_Q2 23.12_Q1 22.50_Q4 22.38_Q3 22.24_Q2
26.26_Q2 25.52_Q4 25.26_Q2 25.12_Q1 24.50_Q4 24.38_Q3 24.26_Q2 23.50_Q4 23.24_Q2 23.12_Q1 22.50_Q4 22.38_Q3 22.24_Q2

Message format – entitlement changes

Overview

When an entitlement is created, updated, or deleted, the platform can notify the devices concerned. If the entitlement is for a specific device, only that device is notified. Otherwise, all the devices in the account are notified.

Notifications are sent only if the operator has enabled them for the entitlement (see Managing messaging).

The same message is sent whether the entitlement was created, updated, or deleted. When the client receives it, it should refresh its entitlement information from the platform.

Message format

Example of an entitlement change message, as received through AWS IoT Core:

JSON
{"data":{"reference":"Account_2356425","deviceId" : "null","productid" : "Product_123","referenceType":"ENTITLEMENT_UPDATE","status":"null","action":"REFRESH","name":"Entitlement change in account","validFrom" : "Tue Aug 12 00:00:00 UTC 2025", "expiryDate" : "Sun Aug 31 23:59:59 UTC 2025","productType" : "SUBSCRIPTION","priority":"HIGH" }}

The same message laid out for readability. Through Firebase or ADM, the SDK delivers these data fields as key–value pairs:

JSON
{
  "data": {
    "reference": "Account_2356425",
    "deviceId": "null",
    "productid": "Product_123",
    "referenceType": "ENTITLEMENT_UPDATE",
    "status": "null",
    "action": "REFRESH",
    "name": "Entitlement change in account",
    "validFrom": "Tue Aug 12 00:00:00 UTC 2025",
    "expiryDate": "Sun Aug 31 23:59:59 UTC 2025",
    "productType": "SUBSCRIPTION",
    "priority": "HIGH"
  }
}

All values in data are strings:

Field

Description

reference

The account ID

deviceId

The device ID, if the entitlement is for a specific device. Otherwise "null".

productid

The product ID. Note the lowercase id.

referenceType

ENTITLEMENT_UPDATE

status

Currently always "null". Don't rely on it.

action

REFRESH

name

Entitlement change in account

validFrom

The date/time the entitlement is valid from, for example Tue Aug 12 00:00:00 UTC 2025

expiryDate

The date/time the entitlement expires, in the same format, or "null" if it has no expiry date

productType

One of TRANSACTIONAL, SUBSCRIPTION, FREE, CAPABILITY, PPV, THIRDPARTY, or PACK

priority

NONE, LOW, or HIGH, as set by the operator