Aller au contenu

Lecture d'un média

Paramètre facultatif usage : stream (défaut) ou download.

Réponse 200 :

{
"content_id": 3, "product_id": 1, "type": "audio", "duration_s": 420,
"url": "https://…/media/private/audio/programme-motivation-de-soi/3.m4a?expires=…&signature=…",
"expires_at": "2026-09-14T12:00:00+01:00",
"usage": "stream"
}
Code Cas
200 extrait gratuit (avec ou sans compte) ; ou segment verrouillé avec un droit actif
401 segment verrouillé, ou téléchargement, sans jeton
403 compte désactivé, ou aucun droit actif sur le produit
404 segment ou produit non publié
409 le segment n’a pas encore de fichier associé
  • Ne jamais stocker url durablement. Le lien expire ; garder l’identifiant du segment et redemander.
  • Renouveler sur 403 ou expiration et reprendre à la position enregistrée. C’est le filet prévu : avancer dans la piste, reprendre après une pause ou changer de réseau relance une requête au stockage, et la validité est dimensionnée pour que cela n’arrive pas en cours d’écoute.
  • Le droit descend l’arbre. Un compte qui possède le parcours obtient un lien pour chaque segment de ses programmes.
  • Téléchargement : usage=download donne un lien plus long (six heures par défaut) et exige toujours un compte et un droit.
{ "position_s": 210, "completed": false }

Envoyée périodiquement pendant l’écoute, à la pause et à la sortie. La réponse rend position_s, percent, completed et updated_at. Dernière écriture gagne, quel que soit l’appareil : c’est ce qui permet de reprendre ailleurs. completed se déduit si absent, à partir de 95 % de la durée ; une position au-delà de la durée est ramenée à la durée. Un segment verrouillé exige un droit d’accès (403 sinon) ; un extrait gratuit, seulement un compte.

GET /me/progress liste toutes mes positions ; et chaque segment d’une fiche produit porte progress (ou null) quand un jeton est envoyé — c’est ce que l’application lit pour afficher « reprendre ».

La limitation d’appareils et l’anti-partage arrivent avec le lot L8.