Inicio rápido
Necesitas el código de 6 caracteres que muestra el TV. La API está en https://beta.playeroff.app.
1. Conectar
sh
curl -X POST https://beta.playeroff.app/v1/sessions \
-H 'Content-Type: application/json' \
-d '{"code": "K7M3QX"}'js
const res = await fetch('https://beta.playeroff.app/v1/sessions', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ code: 'K7M3QX' }),
})
const { sessionToken } = await res.json()dart
import 'dart:convert';
import 'package:http/http.dart' as http;
final res = await http.post(
Uri.parse('https://beta.playeroff.app/v1/sessions'),
headers: {'Content-Type': 'application/json'},
body: jsonEncode({'code': 'K7M3QX'}),
);
final sessionToken = jsonDecode(res.body)['sessionToken'] as String;Respuesta 201:
json
{ "sessionToken": "…", "expiresAt": 1800007200000, "receiver": { "platform": "tizen", "name": "" } }El código no distingue mayúsculas y acepta espacios o guiones (k7m 3qx vale).
2. Enviar un video
sh
curl -X POST https://beta.playeroff.app/v1/casts \
-H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{"url": "https://example.com/pelicula.m3u8", "title": "Mi película"}'js
const res = await fetch('https://beta.playeroff.app/v1/casts', {
method: 'POST',
headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${sessionToken}` },
body: JSON.stringify({ url: 'https://example.com/pelicula.m3u8', title: 'Mi película' }),
})
const { castId } = await res.json()dart
final res = await http.post(
Uri.parse('https://beta.playeroff.app/v1/casts'),
headers: {'Content-Type': 'application/json', 'Authorization': 'Bearer $sessionToken'},
body: jsonEncode({'url': 'https://example.com/pelicula.m3u8', 'title': 'Mi película'}),
);
final castId = jsonDecode(res.body)['castId'] as String;Respuesta 202: { "castId": "…", "status": "pending", "expiresAt": … }. El TV empieza a reproducir en cuanto lo recibe.
3. (Opcional) Saber qué pasó
sh
curl https://beta.playeroff.app/v1/casts/$CAST_ID -H "Authorization: Bearer $TOKEN"status puede ser pending, delivered, playing, failed (con error) o expired.
4. Desconectar
sh
curl -X DELETE https://beta.playeroff.app/v1/sessions -H "Authorization: Bearer $TOKEN"