https://gateway.streamfizz.live/apiMet à jour la personnalisation d'un média (style, modules, contenu, SEO, rolls). Le champ target détermine quel(s) BrandSetting(s) sont mis à jour (page, embed, ou les deux).
| Nom | Type | Description |
|---|---|---|
id* | ID! | Identifiant unique du média à personnaliser. |
target* | [PersonnalisationTarget!]! | Cibles de la personnalisation : page de lecture, embed, ou les deux. |
contentInfoInput | ContentInfoInput | Informations de contenu (titres, descriptions, textes). |
seoInput | SeoInput | Paramètres SEO (slug, meta title, meta description, miniature par URL, indexation). |
styleInput | PersonnalisationStyleInput | Style visuel (couleur d'accentuation, CSS, logo par URL). |
moduleInput | PersonnalisationModuleInput | Modules à afficher (discussion, chapitres, fichiers, etc.). |
rollInput | PersonnalisationRollInput | Configuration des annonces intro et outro. |
thumbnailInput | MediaThumbnailInput | Miniature du média par URL. L'image sera téléchargée et stockée automatiquement. |
Media| Nom | Type | Description |
|---|---|---|
id | ID! | Identifiant unique du m\u00E9dia. |
sourceKey | String | Cl\u00E9 S3 du fichier source original. |
fileName | String! | Nom original du fichier upload\u00E9. |
type | MediaType | Type de m\u00E9dia. |
title | String | Titre du m\u00E9dia. |
cote | String | Cote ou r\u00E9f\u00E9rence m\u00E9tier interne. |
note | String | Note interne sur le m\u00E9dia. |
publisher | User! | Utilisateur ayant publi\u00E9 le m\u00E9dia. |
account | Account | Compte propri\u00E9taire du m\u00E9dia. |
myCapability | AuthzCapability! | Capacit\u00E9 effective du user courant sur ce m\u00E9dia (NONE/READ/WRITE/DELETE). Utilis\u00E9 par le frontend pour piloter l'UI (boutons Edit/Delete, grisage dans Playlist/WebTV listings) sans d\u00E9clencher de mutation sp\u00E9culative. NONE = aucun acc\u00E8s (\u00E9quivalent de l'ancien isAccessible=false). |
accessGroups | [Group!]! | - |
directUsers | [PublicUser!]! | - |
createdAt | DateTime! | Date de cr\u00E9ation du m\u00E9dia. |
updatedAt | DateTime! | Date de derni\u00E8re modification du m\u00E9dia. |
encodingVersion | String | Version actuelle d'encodage (ex: "v0", "v2.1"). |
isEncodingDone | Boolean | Indique si l'encodage est termin\u00E9. |
encodingProgress | [EncodingProgress] | Progression d'encodage pour chaque version. |
versioningProgress | EncodingProgress | Progression du versioning en cours (ou null). |
lastVersioning | DateTime | Date du dernier versioning termin\u00E9. |
isContentPlayable | Boolean | Indique si le m\u00E9dia peut \u00EAtre lu (encodage OK). |
duration | Float | Dur\u00E9e du m\u00E9dia en secondes. |
ratio | Float | Ratio d'aspect (largeur / hauteur). |
mediaInfos | Json | Infos techniques d'encodage (ffprobe-like pour v1+, array typ\u00E9 pour v0 legacy). |
playlistKey | String | Cl\u00E9 S3 de la playlist HLS. |
playlistCdnUrl | String | URL CDN de la playlist HLS. |
thumbKeys | [String] | Cl\u00E9s S3 des miniatures g\u00E9n\u00E9r\u00E9es. |
thumbCdnUrls | [String] | URLs CDN des miniatures g\u00E9n\u00E9r\u00E9es. |
selectedThumbKey | String | Cl\u00E9 S3 de la miniature s\u00E9lectionn\u00E9e. |
selectedThumbCdnUrl | String | URL CDN de la miniature s\u00E9lectionn\u00E9e. |
thumbnailVttCdnUrl | String | URL CDN du fichier VTT des vignettes de pr\u00E9visualisation. |
subtitles | [Subtitle!] | Sous-titres associ\u00E9s au m\u00E9dia. |
transcripts | [Transcript] | Transcriptions (texte + langues). |
files | [File!] | Fichiers joints au m\u00E9dia. |
chapters | [Chapter] | Chapitres associ\u00E9s au m\u00E9dia. |
deltaChapter | Float | D\u00E9calage (en ms) utilis\u00E9 pour la synchronisation des chapitres. |
clips | [Clip!] | Clips d\u00E9riv\u00E9s du m\u00E9dia. |
live | Live | Live associ\u00E9 si ce m\u00E9dia est un replay. |
discussion | Discussion | Discussion (chat) associ\u00E9e au m\u00E9dia. |
moderatorContents | [ModeratorContent] | Mod\u00E9rateurs d\u00E9sign\u00E9s pour ce m\u00E9dia. |
relatedTags | [Tag] | Tags rattach\u00E9s. |
relatedCategories | [Category] | Cat\u00E9gories rattach\u00E9es. |
pageSetting | BrandSetting | Param\u00E8tres de personnalisation de la page de lecture. |
embedSetting | BrandSetting | Param\u00E8tres de personnalisation de l'embed. |
preRoll | RollPreset | Annonce intro associ\u00E9e. |
postRoll | RollPreset | Annonce outro associ\u00E9e. |
seo | SEO | Param\u00E8tres SEO de la page de lecture. |
confidentiality | Confidentiality | Niveau de confidentialit\u00E9 (nouveau mod\u00E8le). |
privacy | Privacy | Param\u00E8tres de confidentialit\u00E9 (acc\u00E8s utilisateur). |
publicUrl | String | URL de la page de lecture publique. |
publicEmbedUrl | String | URL d'int\u00E9gration (embed) publique. |
playlists | PlaylistConnection | Playlists contenant ce m\u00E9dia. |
webTVs | WebTVConnection | WebTVs contenant ce m\u00E9dia. |
metadata | MediaMetadata | M\u00E9tadonn\u00E9es descriptives (production, auteur, contenu). |
originalPublisher | DeletedUser | - |
| Code | Message | Description |
|---|---|---|
UNAUTHENTICATED | You are not authorized to perform this action | Clé API manquante ou invalide |
INPUT_VALIDATION_ERROR | Validation failed: {field}: {message} | Un ou plusieurs champs sont invalides (format, longueur, protocole…). Le détail est dans extensions.fieldErrors[]. |
INTERNAL_ERROR | Internal server error | Erreur interne du serveur |
| Code | Message | Description |
|---|---|---|
404 | Media '{id}' not found | Le média n'existe pas ou n'appartient pas au compte |
60 requêtes par minute par clé API
En cas de dépassement, une erreur 429 Too Many Requests est retournée.