Listar, consultar e criar sessões
Lista as sessões ao vivo, consulta uma com a vitrine de produtos e agenda uma nova.
Listar sessões ao vivo
Devolve as sessões de live commerce (transmissões ao vivo com venda de produtos) de todos os sellers, com filtro por seller e por estado. A lista não traz a vitrine de produtos de cada sessão; para isso consulte uma sessão.
/api/v1/admin/live-sessionsAdminLista as sessões ao vivo de todos os sellers
Rota ligada ao módulo live-commerce: com o módulo desligado a resposta é 403. Exige token de administrador.
Parâmetros de consulta
vendor_iduuidstatusstringscheduledliveendedcancelledlimitintegerpadrão: 50offsetintegerpadrão: 0Exemplo de requisição (Listar sessões)
curl "$BASE_URL/api/v1/admin/live-sessions?status=scheduled&limit=50" \
-H "Authorization: Bearer $TOKEN"Resposta (Listar sessões)
{
"sessions": [
{
"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": "",
"status": "scheduled",
"viewer_count_peak": 0,
"created_at": "2026-10-11T21:05:21.230055Z",
"updated_at": "2026-10-11T21:05:21.230055Z"
}
],
"total": 1
}Campos da resposta
sessionsarraySessões da consulta.
iduuidvendor_iduuidvendor_namestringtitlestringdescriptionstringscheduled_atstringstarted_atstringended_atstringembed_urlstringreplay_urlstringstatusstringscheduled, live, ended ou cancelled.viewer_count_peakintegercreated_atstringupdated_atstringtotalintegerErros (Listar sessões)
| 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"} |
| 500 | Falha de banco. | {"error":"LIVE_SESSIONS_LIST_FAILED","detail":"..."} |
Consultar sessão ao vivo
Devolve a sessão completa, incluindo featured_products.
/api/v1/admin/live-sessions/{id}AdminDevolve uma sessão com a vitrine de produtos
Rota ligada ao módulo live-commerce: com o módulo desligado a resposta é 403. Exige token de administrador.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição (Consultar sessão)
curl "$BASE_URL/api/v1/admin/live-sessions/7ec34d19-64f7-4d36-92eb-dbb217448af7" \
-H "Authorization: Bearer $TOKEN"Resposta (Consultar sessão)
{
"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": "",
"status": "scheduled",
"viewer_count_peak": 0,
"created_at": "2026-10-11T21:05:21.230055Z",
"updated_at": "2026-10-11T21:05:21.230055Z",
"featured_products": [
{
"product_id": "7bc1d5e9-a9a4-457b-866f-bbb3879d258d",
"position": 1,
"name": "Camiseta Azul",
"sku": "CAM-AZ-01",
"price_cents": 7990,
"image_url": "/uploads/camiseta.png",
"slug": "camiseta-azul"
}
]
}Campos da resposta
iduuidvendor_iduuidvendor_namestringtitlestringdescriptionstringscheduled_atstringstarted_atstringended_atstringembed_urlstringreplay_urlstringstatusstringscheduled, live, ended ou cancelled.viewer_count_peakintegerfeatured_productsarrayproduct_id, position, name, sku, price_cents (centavos), image_url e slug.created_atstringupdated_atstringErros (Consultar 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"} |
Criar sessão ao vivo
Cria a sessão no estado scheduled. A transmissão em si acontece num serviço externo (YouTube, Vimeo, Mux...): a plataforma só guarda o endereço em embed_url, que a vitrine coloca num player. Depois de criar, cadastre os produtos em destaque e, na hora, chame start.
/api/v1/admin/live-sessionsAdminAgenda uma sessão ao vivo para um seller
Rota ligada ao módulo live-commerce: com o módulo desligado a resposta é 403. Exige token de administrador.
Corpo da requisição
vendor_iduuidobrigatóriotitlestringobrigatórioscheduled_atstringobrigatóriodescriptionstringembed_urlstringreplay_urlstringExemplo de requisição (Criar sessão)
curl -X POST "$BASE_URL/api/v1/admin/live-sessions" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"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"
}'Resposta (Criar sessão)
{
"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": "",
"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
iduuidvendor_iduuidvendor_namestringtitlestringdescriptionstringscheduled_atstringstarted_atstringended_atstringembed_urlstringreplay_urlstringstatusstringscheduled, live, ended ou cancelled.viewer_count_peakintegercreated_atstringupdated_atstringErros (Criar 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"} |
| 400 | Corpo inválido, title, vendor_id ou scheduled_at ausentes, ou scheduled_at no passado (código SCHEDULED_AT_IN_PAST). A maioria das validações responde LIVE_SESSION_CREATE_FAILED com o motivo em detail. | {"error":"LIVE_SESSION_CREATE_FAILED","detail":"vendor_id is required"} |