Alterar e apagar sessão
Altera título, horário e endereços de uma sessão ou a apaga.
Atualizar sessão ao vivo
Atualiza só os campos enviados. O estado não muda por aqui: para isso use start, end e cancel. Enviar status é recusado.
/api/v1/admin/live-sessions/{id}AdminAltera título, horário e endereços de uma sessão
Rota ligada ao módulo live-commerce: com o módulo desligado a resposta é 403. Exige token de administrador.
Parâmetros de caminho
iduuidobrigatórioIdentificador da sessão.
Corpo da requisição
titlestringNovo título.
descriptionstringNova descrição.
scheduled_atstringNovo início previsto (RFC 3339).
embed_urlstringNovo endereço da transmissão.
replay_urlstringEndereço da gravação. Preencha depois que a sessão terminar para liberar a reprise e os clipes.
Exemplo de requisição (Atualizar sessão)
bash
curl -X PUT "$BASE_URL/api/v1/admin/live-sessions/7ec34d19-64f7-4d36-92eb-dbb217448af7" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"replay_url": "https://www.youtube.com/watch?v=replay456"
}'Resposta (Atualizar sessão)
200Sessão atualizada
json
{
"id": "7ec34d19-64f7-4d36-92eb-dbb217448af7",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"vendor_name": "Loja Seller Teste",
"title": "Lançamento da coleção de verão",
"description": "Ao vivo com ofertas exclusivas",
"scheduled_at": "2026-12-05T18:00:00Z",
"embed_url": "https://www.youtube.com/watch?v=abc123",
"replay_url": "https://www.youtube.com/watch?v=replay456",
"status": "scheduled",
"viewer_count_peak": 0,
"created_at": "2026-10-11T21:05:21.230055Z",
"updated_at": "2026-10-11T21:05:21.230055Z"
}Campos da resposta
iduuidIdentificador da sessão.
vendor_iduuidSeller que apresenta a sessão.
vendor_namestringNome do seller, para exibir.
titlestringTítulo.
descriptionstringDescrição.
scheduled_atstringData e hora prevista de início, RFC 3339.
started_atstringQuando foi ao ar. Ausente antes de começar.
ended_atstringQuando terminou ou foi cancelada. Ausente enquanto não terminou.
embed_urlstringEndereço da transmissão (YouTube, Vimeo, Mux...) que a vitrine coloca num player.
replay_urlstringEndereço da gravação, usado depois que a sessão termina. Vazio se não houver.
statusstringscheduled, live, ended ou cancelled.viewer_count_peakintegerMaior número de espectadores simultâneos.
created_atstringCriação, RFC 3339.
updated_atstringÚltima alteração, RFC 3339.
Erros (Atualizar sessão)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O token não é de um administrador. | {"error":"insufficient permissions"} |
| 403 | Módulo live-commerce desligado. | {"error":"module_disabled","module":"live-commerce"} |
| 404 | Não existe sessão com esse id, ou o id não é um UUID. | {"error":"LIVE_SESSION_NOT_FOUND"} |
| 409 | O corpo trouxe status. | {"error":"LIVE_SESSION_STATUS_NOT_UPDATABLE","detail":"status cannot be changed via update; use start/end"} |
| 400 | Corpo inválido. | {"error":"INVALID_BODY","detail":"..."} |
Apagar sessão ao vivo
Remove a sessão de vez, inclusive a vitrine de produtos e o chat dela, em qualquer estado. Para só desmarcar uma sessão que ainda não aconteceu, prefira cancel, que mantém o histórico.
/api/v1/admin/live-sessions/{id}AdminApaga uma sessão
Rota ligada ao módulo live-commerce: com o módulo desligado a resposta é 403. Exige token de administrador.
Parâmetros de caminho
iduuidobrigatórioIdentificador da sessão.
Exemplo de requisição (Apagar sessão)
bash
curl -X DELETE "$BASE_URL/api/v1/admin/live-sessions/7ec34d19-64f7-4d36-92eb-dbb217448af7" \
-H "Authorization: Bearer $TOKEN"Resposta (Apagar sessão)
200Sessão apagada
json
{
"message": "deleted"
}Erros (Apagar sessão)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O token não é de um administrador. | {"error":"insufficient permissions"} |
| 404 | Não existe sessão com esse id, ou o id não é um UUID. | {"error":"LIVE_SESSION_NOT_FOUND"} |
| 400 | A sessão não existe (id bem formado) ou o banco recusou. | {"error":"LIVE_SESSION_DELETE_FAILED","detail":"live session 7ec34d19-64f7-4d36-92eb-dbb217448af7 not found"} |