Conteúdos
Acesse seus itens de conteúdo de digital signage incluindo vídeos, imagens e outras mídias.
Escopo Necessário: content:read
Listar Conteúdos
Recupera uma lista de itens de conteúdo do seu tenant.
GET /api/external/contentParâmetros de Query
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
status | string | - | Filtrar por status: active, inactive, archived |
limit | inteiro | 100 | Máximo de itens a retornar (1-500) |
Exemplo de Requisição
curl -X GET "https://api.efflux.media/api/external/content?status=active&limit=10" \ -H "X-API-Key: SUA_API_KEY"const params = new URLSearchParams({ status: 'active', limit: '10'});
const response = await fetch( `https://api.efflux.media/api/external/content?${params}`, { headers: { 'X-API-Key': 'SUA_API_KEY' } });const content = await response.json();import requests
response = requests.get( 'https://api.efflux.media/api/external/content', headers={'X-API-Key': 'SUA_API_KEY'}, params={'status': 'active', 'limit': 10})content = response.json()Resposta
[ { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Vídeo de Boas-vindas", "description": "Mensagem de boas-vindas da loja", "type": "video", "mimeType": "video/mp4", "durationSeconds": 30, "fileSizeBytes": 15728640, "width": 1920, "height": 1080, "orientation": "landscape", "checksum": "sha256:abc123...", "storageUrl": "https://storage.efflux.media/videos/2024-01/welcome.mp4", "thumbnailUrl": "https://storage.efflux.media/thumbnails/2024-01/welcome.jpg", "status": "active", "validFrom": "2024-01-01T00:00:00Z", "validUntil": "2024-12-31T23:59:59Z", "tags": ["boas-vindas", "loja"], "metadata": { "campanha": "Q1-2024" }, "startAt": "08:00", "endAt": "22:00", "priority": 100, "daysOfWeek": ["MON", "TUE", "WED", "THU", "FRI"], "processingStatus": "ready", "compressionRatio": 0.65, "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T10:35:00Z", "tenantId": "123e4567-e89b-12d3-a456-426614174000" }]Obter Conteúdo por ID
Recupera um item de conteúdo específico pelo seu ID.
GET /api/external/content/{id}Parâmetros de Path
| Parâmetro | Tipo | Descrição |
|---|---|---|
id | UUID | O ID do item de conteúdo |
Exemplo de Requisição
curl -X GET "https://api.efflux.media/api/external/content/550e8400-e29b-41d4-a716-446655440000" \ -H "X-API-Key: SUA_API_KEY"const contentId = '550e8400-e29b-41d4-a716-446655440000';const response = await fetch( `https://api.efflux.media/api/external/content/${contentId}`, { headers: { 'X-API-Key': 'SUA_API_KEY' } });const content = await response.json();import requests
content_id = '550e8400-e29b-41d4-a716-446655440000'response = requests.get( f'https://api.efflux.media/api/external/content/{content_id}', headers={'X-API-Key': 'SUA_API_KEY'})content = response.json()Resposta
Retorna um único objeto de conteúdo (mesma estrutura dos itens da lista).
Erros
| Status | Código | Descrição |
|---|---|---|
| 404 | - | Conteúdo não encontrado ou pertence a outro tenant |
Objeto de Conteúdo
| Campo | Tipo | Descrição |
|---|---|---|
id | UUID | Identificador único |
name | string | Nome de exibição |
description | string | Descrição opcional |
type | string | Tipo de conteúdo: video, image, html |
mimeType | string | Tipo MIME (ex: video/mp4, image/jpeg) |
durationSeconds | inteiro | Duração em segundos (apenas vídeos) |
fileSizeBytes | inteiro | Tamanho do arquivo em bytes |
width | inteiro | Largura em pixels |
height | inteiro | Altura em pixels |
orientation | string | landscape ou portrait |
checksum | string | Checksum do arquivo para verificação de integridade |
storageUrl | string | URL para acessar o arquivo de mídia |
thumbnailUrl | string | URL para imagem de thumbnail |
status | string | active, inactive ou archived |
validFrom | datetime | Início do período de validade |
validUntil | datetime | Fim do período de validade |
tags | string[] | Array de tags |
metadata | objeto | Metadados customizados chave-valor |
startAt | string | Horário de início diário (HH:mm) |
endAt | string | Horário de fim diário (HH:mm) |
priority | inteiro | Prioridade de exibição (maior = mais importante) |
daysOfWeek | string[] | Dias ativos: MON, TUE, WED, THU, FRI, SAT, SUN |
processingStatus | string | pending, processing, ready, failed |
processingError | string | Mensagem de erro se o processamento falhou |
compressionRatio | número | Taxa de compressão após processamento |
createdAt | datetime | Timestamp de criação |
updatedAt | datetime | Timestamp da última atualização |
tenantId | UUID | Identificador do tenant |
Status do Conteúdo
| Status | Descrição |
|---|---|
active | Conteúdo está disponível para reprodução |
inactive | Conteúdo está desabilitado mas retido |
archived | Conteúdo está arquivado/oculto |
Status de Processamento
| Status | Descrição |
|---|---|
pending | Aguardando processamento |
processing | Sendo otimizado atualmente |
ready | Processamento completo, pronto para reprodução |
failed | Processamento falhou (verifique processingError) |