Subscribers¶
mw.capacity.subscribers
Create a subscriber¶
On the Subscribers screen, type a name into New subscriber name and press Create. Search in the list covers name, email, phone and playback token at once.
The subscriber record¶
The Settings tab:
- Name, Email, Phone — storefront fields.
- Language — the subscriber's language.
- Playback token — a unique token Catena generates when the subscriber is created. This is the subscriber's identifier for your integration: it is how the storefront knows whose request it is serving. The same token builds the links to the playlist and the XMLTV.
A parallel edit of the same record is rejected with Someone else changed this record — reload and retry.
Subscriptions and available channels¶
The Subscriptions block lists the packages this customer is subscribed to. The Available channels block shows the outcome: what the customer ends up seeing.
The access formula is simple:
- the packages available to a customer = their subscriptions plus every package flagged Free;
- a channel is available if it belongs to at least one of those packages.
Two consequences follow, and they are the easiest ones to trip over: a subscriber with no subscription at all still sees the channels of free packages, and a channel that belongs to no package is available to nobody.
Deleting a subscriber clears their subscriptions by cascade.
What the subscriber service does not do¶
The playback token is not a pass to playback. The subscriber service keeps the catalog and the entitlements, but on its own it admits nobody to a stream and forbids nothing: playback is still protected by Auth & DRM, and a viewer is admitted by a Catena ticket or by your authorization backend.
The standard wiring looks like this: the storefront resolves the token to a subscriber, asks Catena for the list of channels available to them, and issues the viewer a ticket for an allowed channel. The subscriber's channel list is available over the API — the /catena/api-v1/subscribers/{id}/channels resource.
The shipped storefront needs no integration of its own for this: it walks that wiring itself and hands the viewer ready addresses.