Documentação ComusThumbz
Login de Admin

API

Documentação da API do ComusThumbz REST

AdminModeration

GET /api/v1/adminmoderação

Bulk aprova POST /api/v1/admin/moderação/bulk/approva

  • Autenticação necessária: PUBLIC

DELETE /api/v1/adminmoderação

Excluir conteúdo (decapagem do DMCA) DELETE /api/v1/admin/moderação/{type}/{id}

  • Autenticação necessária: PUBLIC

Administradores

GET /api/v1/administradores

Obter o registro de atividade do usuário GET /api/v1/admin/usuários/{id}/atividade

  • Autenticação necessária: PUBLIC

PUT /api/v1/administradores

Atualizar usuário PUT /api/v1/admin/users/{id}

  • Autenticação necessária: PUBLIC

Anúncios

GET /api/v1/ads

Obter estatísticas de anúncios (Admin) GET /api/v1/admin/ads/{id}/stats

  • Autenticação necessária: PUBLIC

Análise

GET /api/v1/analíticos

Obter análise de tráfego GET /api/v1/analytics/traffic

  • Autenticação necessária: PUBLIC

Auth

GET /api/v1/auth

Desactivar 2FA DELETE /api/v1/auth/2fa

  • Autenticação necessária: PUBLIC

Banners

GET /api/v1/banners

Obter estatísticas de banners GET /api/v1/banners/{id}/stats

  • Autenticação necessária: PUBLIC
  • Parâmetros:
  • bannerId (int): ID da bandeira

Categorias

GET /api/v1/categorias

Obter galerias na categoria GET /api/v1/categorias/{id}/galleries

  • Autenticação necessária: PUBLIC
  • Parâmetros:
  • id (int): ID de categoria

POST /api/v1/categorias

Criar nova categoria (apenas administração) POST /api/v1/categorias

  • Autenticação necessária: PUBLIC

PUT /api/v1/categorias

Atualizar categoria (apenas administração) PUT /api/v1/categories/{id}

  • Autenticação necessária: PUBLIC
  • Parâmetros:
  • id (int): ID de categoria

DELETE /api/v1/categorias

Excluir categoria (apenas administração) DELETE /api/v1/categories/{id}

  • Autenticação necessária: PUBLIC
  • Parâmetros:
  • id (int): ID de categoria

ClickTracking

GET /api/v1/clicktracking

GET /api/v1/stats/clicks/user/{userId} Obter o histórico de cliques do usuário (o usuário deve ser autenticado)

  • Autenticação necessária: PUBLIC

Comentários

GET /api/v1/comentários

GET /api/v1/comentários/flagged Obter todos os comentários marcados (apenas administração)

  • Autenticação necessária: PUBLIC

POST /api/v1/comentários

POST /api/v1/cams/{site}/{performer}/comentários Adicionar um comentário a um artista de webcam

  • Autenticação necessária: PUBLIC

PUT /api/v1/comentários

PUT /api/v1/comments/{id}/status Atualizar o estado do comentário (apenas administração)

  • Autenticação necessária: PUBLIC

DELETE /api/v1/comentários

DELETE /api/v1/comments/{id}/ like Remove like/dislike from a comment

  • Autenticação necessária: PUBLIC

CriadorOuvintes

GET /api/v1/creatorings

GET /creator/earnings/platform-settings - Obter configurações de taxa de plataforma Retorna taxa global de plataforma e taxa personalizada do criador, se aplicável Este ponto final é público (sem necessidade de autorização) para fins de visualização

  • Autenticação necessária: PUBLIC

Perfil do Criador

GET /api/v1/creatorprofiles

CreatorProfilesController - Gerenciamento de perfil do Criador

  • Autenticação necessária: PUBLIC

POST /api/v1/creatorprofiles

POST /creator/profile - Criar novo perfil criador

  • Autenticação necessária: PUBLIC

PUT /api/v1/creatorprofiles

PATCH /creator/profile/me - Atualizar o perfil do criador autenticado

  • Autenticação necessária: PUBLIC

Criadores

GET /api/v1/criadores

POST /api/v1/creators/me/cover Upload creator cover image

  • Autenticação necessária: PUBLIC

PUT /api/v1/criadores

PUT /api/v1/creators/me Atualizar as configurações do perfil do criador

  • Autenticação necessária: PUBLIC

Subscrições do Criador

GET /api/v1/creatorsubscriptions

DELETE /creators/{id}/pacotes/{pacoteid} - O Criador desactiva um pacote

  • Autenticação necessária: PUBLIC

Ganhos

GET /api/v1/receitas

GET /api/v1/creator/ganhos/por fonte Obtém discriminação dos ganhos por fonte (pontas, assinaturas, PPV) Inclui contagens e totais

  • Autenticação necessária: PUBLIC

Favoritos

GET /api/v1/favoritos

GET /favorites/contas Obter os favoritos do usuário conta por tipo

  • Autenticação necessária: PUBLIC

POST /api/v1/favoritos

POST /favorites Adicionar item aos favoritos Corpo: { "conteúdotipo": "video'gallery'camperformer, modelo, "conteúdoid": "123", "notas": "opcional" }

  • Autenticação necessária: PUBLIC

DELETE /api/v1/favoritos

DELETE /favorites/{type}/{id} Remover dos favoritos

  • Autenticação necessária: PUBLIC

Características

GET /api/v1/features

Obter sites de cam habilitados GET /api/v1/ features/cams

  • Autenticação necessária: PUBLIC

Alimentação

GET /api/v1/feed

Obter conteúdo de tendências GET /api/v1/feed/tending

  • Autenticação necessária: PUBLIC

Amigos

GET /api/v1/amigos

Rejeitar pedido de amigo PUT /api/v1/friends/{id}/reject

  • Autenticação necessária: PUBLIC
  • Parâmetros:
  • id (int): ID da amizade

POST /api/v1/amigos

Enviar pedido de amigo POST /api/v1/amigos

  • Autenticação necessária: PUBLIC

DELETE /api/v1/amigos

Remover amigo DELETE /api/v1/friends/{id}

  • Autenticação necessária: PUBLIC
  • Parâmetros:
  • id (int): ID da amizade

Galerias

GET /api/v1/galleries

GET /galleries/{id}/relacionado - Obter galerias relacionadas

  • Autenticação necessária: PUBLIC

POST /api/v1/galleries

POST /galleries - Criar galeria (apenas administração)

  • Autenticação necessária: PUBLIC

PUT /api/v1/galleries

PATCH /galleries/{id}/status - Actualizar o estado da galeria (apenas administração)

  • Autenticação necessária: PUBLIC

DELETE /api/v1/galleries

DELETE /galleries/{id} - Excluir galeria (somente administração)

  • Autenticação necessária: PUBLIC

Monitoramento de Impressões

GET /api/v1/impressão

GET /api/v1/impressões/tendências/{tipo} Obter tendências de desempenho ao longo do tempo

  • Autenticação necessária: PUBLIC

LiveStream

GET /api/v1/livestream

GET /api/v1/live/{id}/por minuto/estado Obter o estado atual da sessão por minuto

  • Autenticação necessária: PUBLIC

Mídia

GET /api/v1/media

Obter URL de armazenamento para um arquivo de vídeo específico

  • Autenticação necessária: PUBLIC
  • Parâmetros:
  • videoId (int): ID de vídeo
  • fileType (string): Tipo de ficheiro (humbnail, antevisão, cartaz, vídeo, hls, etc.)
  • Retornos: void - (retorna URL ou erro de download)

Mensagens

GET /api/v1/mensagens

Obter lista de usuários bloqueados GET /api/v1/mensagens/bloqueado

  • Autenticação necessária: PUBLIC

DELETE /api/v1/mensagens

Apagar uma mensagem DELETE /api/v1/mensages/{id}

  • Autenticação necessária: PUBLIC

Modelos

GET /api/v1/models

GET /api/v1/models/{id}/detalhes Obter detalhes do modelo unificados Consultar parâmetros: - tipo: regularmodelo (obrigatório)

  • Autenticação necessária: PUBLIC

POST /api/v1/models

POST /api/v1/models Criar um novo modelo (apenas administração)

  • Autenticação necessária: PUBLIC

PUT /api/v1/models

PUT /api/v1/modelclasses/{id}/status Atualizar o status do modelo (somente administração)

  • Autenticação necessária: PUBLIC

DELETE /api/v1/models

DELETE /api/v1/modelclasses/ {id} Apagar o modelo (apenas administração)

  • Autenticação necessária: PUBLIC

Notificação

GET /api/v1/notificações

Obter preferências de notificação GET /api/v1/notifications/preferences

  • Autenticação necessária: PUBLIC

PUT /api/v1/notificações

Atualizar preferências de notificação PUT /api/v1/notificações/preferências

  • Autenticação necessária: PUBLIC

DELETE /api/v1/notificações

Apagar notificação (supressão suave) DELETE /api/v1/notifications/{id}

  • Autenticação necessária: PUBLIC

Jogador

GET /api/v1/player

Leitor Controlador Controla a configuração e as configurações do leitor de vídeo

  • Autenticação necessária: PUBLIC

Listas de Reprodução

GET /api/v1/playlists

PUT /playlists/{id}/items/reorder Reorder playlist items (owner only) Body: { "items": [ { "itemid": 1, "sortorder": 0 }, { "itemid": 2, "sortorder": 1 } ] }

  • Auth Required: PUBLIC

POST /api/v1/playlists

POST /playlists/{id}/items Add video to playlist (owner only) Body: { "videoid": 123, "sortorder": 1 }

  • Auth Required: PUBLIC

PUT /api/v1/playlists

PUT /playlists/{id} Update playlist (owner only)

  • Auth Required: PUBLIC

DELETE /api/v1/playlists

DELETE /playlists/{id}/items/{itemId} Remove video from playlist (owner only)

  • Auth Required: PUBLIC

Posts

GET /api/v1/posts

GET /api/v1/posts/{id}/poll Get poll data for a post

  • Auth Required: PUBLIC
  • Parameters:
  • postId (int): Post ID

POST /api/v1/posts

POST /api/v1/posts/with-product Create a post with product attachment Handles multipart/form-data with files

  • Auth Required: PUBLIC

PUT /api/v1/posts

PUT /api/v1/posts/{id}/poll Update poll data for a post

  • Auth Required: PUBLIC
  • Parameters:
  • postId (int): Post ID

DELETE /api/v1/posts

DELETE /comments/{id} Delete a comment (soft delete)

  • Auth Required: PUBLIC

Products

GET /api/v1/products

Refund a merchandise purchase (Option 2: Proportional Loss) - User gets full refund (100%) - Creator loses their portion (80%) - Platform absorbs their portion (20%)

  • Auth Required: PUBLIC

POST /api/v1/products

Products Controller Handles creator merchandise/product operations

  • Auth Required: AUTH

PUT /api/v1/products

Update order shipping status and tracking number

  • Auth Required: PUBLIC

Ratings

GET /api/v1/ratings

GET /api/v1/models/{id}/rating Get rating stats for a model

  • Auth Required: PUBLIC

DELETE /search/history - Clear user's search history

  • Auth Required: PUBLIC

SecurityQuestions

GET /api/v1/securityquestions

Reset password using security question token POST /api/v1/auth/reset-password-with-token

  • Auth Required: PUBLIC

Settings

GET /api/v1/settings

Get video player settings GET /api/v1/settings/player

  • Auth Required: PUBLIC

PUT /api/v1/settings

Get all public settings (cached) This is the main method that builds the settings array / private function getPublicSettings(): array { global $conn;

  • Auth Required: PUBLIC

Sponsors

GET /api/v1/sponsors

Track sponsor click POST /api/v1/sponsors/{id}/click

  • Auth Required: PUBLIC

Styles

GET /api/v1/styles

Bulk save multiple styles at once POST /api/v1/styles/bulk

  • Auth Required: PUBLIC

DELETE /api/v1/styles

Delete a specific style override DELETE /api/v1/styles/{id}

  • Auth Required: PUBLIC
  • Parameters:
  • id (int): Style ID

Subscriptions

GET /api/v1/subscriptions

Upgrade subscription POST /api/v1/subscriptions/upgrade

  • Auth Required: PUBLIC

Tags

GET /api/v1/tags

Parse tag string and return tag IDs (creates tags if they don't exist) POST /api/v1/tags/parse

  • Auth Required: PUBLIC

POST /api/v1/tags

Create new tag (admin only) POST /api/v1/tags

  • Auth Required: PUBLIC

PUT /api/v1/tags

Update tag (admin only) PUT /api/v1/tags/{id}

  • Auth Required: PUBLIC
  • Parameters:
  • id (int): Tag ID

DELETE /api/v1/tags

Delete tag (admin only) DELETE /api/v1/tags/{id}

  • Auth Required: PUBLIC
  • Parameters:
  • id (int): Tag ID

Tips

GET /api/v1/tips

POST /api/v1/tips/{tipid}/refund Refund a tip (creator only) - Option 2: Proportional Loss User gets 100% back, creator loses their portion (80%), platform absorbs their portion (20%)

  • Auth Required: PUBLIC

UserPreferences

GET /api/v1/userpreferences

GET /user/preferences Get all user preferences (privacy, stream, email)

  • Auth Required: PUBLIC

PUT /api/v1/userpreferences

PUT /user/preferences/email Update user's email preferences

  • Auth Required: PUBLIC

Users

GET /api/v1/users

Get trusted devices for current user GET /api/v1/user/trusted-devices

  • Auth Required: PUBLIC

PUT /api/v1/users

Update profile privacy settings PUT /api/v1/users/me/privacy

  • Auth Required: PUBLIC

DELETE /api/v1/users

Remove a trusted device DELETE /api/v1/user/trusted-devices/{id}

  • Auth Required: PUBLIC

UserVerification

GET /api/v1/userverification

GET /admin/verification/stats Get verification statistics (admin only)

  • Auth Required: PUBLIC

PUT /api/v1/userverification

PUT /admin/verification/{userId}/status Update verification status (admin only)

  • Auth Required: PUBLIC

DELETE /api/v1/userverification

DELETE /user/verification/documents/{documentId} Delete a verification document

  • Auth Required: PUBLIC

VideoReports

GET /api/v1/videoreports

GET /video-reports/reasons - Get list of valid report reasons

  • Auth Required: PUBLIC

Videos

GET /api/v1/videos

Generate URL-friendly slug from title

  • Auth Required: PUBLIC
  • Parameters:
  • title (string):
  • Returns: string -

POST /api/v1/videos

POST /videos/{id}/tags - Add tag to video

  • Auth Required: PUBLIC

PUT /api/v1/videos

PATCH /videos/{id}/status - Update video status (admin only)

  • Auth Required: PUBLIC

DELETE /api/v1/videos

DELETE /videos/{id} - Delete video (owner or admin)

  • Auth Required: PUBLIC

WatchHistory

GET /api/v1/watchhistory

POST /content/{type}/{id}/track Track viewing of any content type (camperformer, gallery, model) Body: optional { "watchedduration": 1, "totalduration": 1 }

  • Auth Required: PUBLIC

PUT /api/v1/watchhistory

POST /videos/{id}/progress Update video watch progress Body: { "watchedduration": 120, "totalduration": 600, "lastposition": 120 }

  • Auth Required: PUBLIC

DELETE /api/v1/watchhistory

DELETE /history/{id} Remove specific history entry

  • Auth Required: PUBLIC

Webcam

GET /api/v1/webcam

GET /cams/{id}/schedule - Get performer's schedule/heatmap data

  • Auth Required: PUBLIC
  • Parameters:
  • performerId (int): Performer ID from tblCamsPerformers
  • Returns: array - Schedule data with metadata

Webhooks

GET /api/v1/webhooks

GET /api/v1/webhooks/status Get cloud encoding status (requires admin auth)

  • Auth Required: PUBLIC

Withdrawals

GET /api/v1/withdrawals

GET /api/v1/creator/withdrawals/my-requests Get withdrawal history for current user

  • Auth Required: PUBLIC