namespace Jellyfin.Plugin.SRFPlay.Constants; /// /// Centralized API endpoints and URL templates used throughout the plugin. /// public static class ApiEndpoints { /// /// SRG SSR Integration Layer API base URL. /// Used for fetching media compositions, video metadata, and stream URLs. /// public const string IntegrationLayerBaseUrl = "https://il.srgssr.ch/integrationlayer/2.0"; /// /// Play V3 API URL template. Format: {0} = business unit (srf, rts, rsi, rtr, swi). /// Used for fetching shows, topics, and latest content. /// public const string PlayV3BaseUrlTemplate = "https://www.{0}.ch/play/v3/api/{0}/production/"; /// /// Akamai token authentication endpoint. /// Used to get hdnts tokens for stream authentication. /// public const string AkamaiTokenEndpoint = "https://tp.srgssr.ch/akahd/token"; /// /// SRF Play homepage URL. /// public const string SrfPlayHomepage = "https://www.srf.ch/play"; /// /// Media composition endpoint template (relative to IntegrationLayerBaseUrl). /// Format: {0} = URN. /// public const string MediaCompositionByUrnPath = "/mediaComposition/byUrn/{0}.json"; /// /// Base proxy route for stream proxying (relative to server root). /// public const string ProxyBasePath = "/Plugins/SRFPlay/Proxy"; /// /// HLS master manifest route template (relative to server root). /// Format: {0} = item ID. /// public const string ProxyMasterManifestPath = "/Plugins/SRFPlay/Proxy/{0}/master.m3u8"; /// /// Image proxy route template (relative to server root). /// Format: {0} = base64-encoded original URL. /// public const string ImageProxyPath = "/Plugins/SRFPlay/Image/{0}"; /// /// Play V3 shows endpoint (relative to PlayV3 base URL). /// public const string PlayV3ShowsPath = "shows"; /// /// Play V3 topics endpoint (relative to PlayV3 base URL). /// public const string PlayV3TopicsPath = "topics"; /// /// Play V3 livestreams endpoint (relative to PlayV3 base URL). /// public const string PlayV3LivestreamsPath = "livestreams"; /// /// Play V3 scheduled livestreams endpoint (relative to PlayV3 base URL). /// public const string PlayV3ScheduledLivestreamsPath = "scheduled-livestreams"; }