Aller au contenu

Lista os registros de atividade da comunidade

GET/api/activity-logs

Auth
Jeton requis
Qui peut l’appeler:
owner
admin
moderator
Clé d’API:
reports:read
X-CommunityId
X-CommunityId Envoyez le X-CommunityId de la communauté où l’opération a lieu.
Les descriptions des endpoints viennent directement de la spécification de l’API et sont en portugais pour l’instant. L’interface autour est traduite.

Linha do tempo única do que aconteceu na comunidade do `X-CommunityId`, mais recentes primeiro. Exige owner ou admin dessa comunidade (moderator e member recebem 403).

Quatro origens (`source`): - `team`: ações da equipe sobre assinaturas (cancelar, reativar, desconto, cortesia, prorrogação, adicional, link de pagamento). `details` traz o que mudou (`before`, `after`) e o papel de quem agiu (`actorRole`). - `assistant`: o que um assistente de IA (Claude, ChatGPT, Cursor) fez pela conexão MCP — ferramentas chamadas, conexões autorizadas e revogadas. `details.args` é um **resumo** dos argumentos: tokens de confirmação e de idempotência, imagens em base64 e qualquer campo com nome de segredo ficam de fora; textos são cortados em 200 caracteres e listas de objetos viram `{ count }`. - `members`: ações de membros que pontuam no Engajamento (publicar, comentar, curtir, participar de evento, se inscrever em curso, login diário). `details.points` é a pontuação ganha. - `apiKeys`: chaves de API pessoais. `apiKey.created`, `apiKey.renamed`, `apiKey.ips_updated` (`details.before`/`after`) e `apiKey.revoked` (quem revogou é o `actor`; `details.ownerMemberId` é o dono), e `apiKey.request`: cada chamada de escrita ou exclusão feita com uma chave, com o dono como `actor` e `details` `{ keyName, prefix, method, path, status }` ("via chave n8n" no `actionLabel`). Leituras com chave não entram.

Cada item: `id`, `at`, `source`, `actor` (`memberId`, `name`, `avatarUrl`; `memberId` nulo quando quem agiu não tem perfil na comunidade; `actor` nulo quando não se sabe), `action` (chave estável para o app traduzir: `subscription.CANCEL_NOW`, `mcp.tool.create_post`, `mcp.oauth.consent`, `game.LIKE_POST`), `actionLabel` (a ação no idioma do `Accept-Language`), `target` (`type`, `id`, `label`; nulo no login diário) e `details`.

Quando o alvo vive dentro de um space (`target.type` `content`, `event`, `status` ou `course`), `target` traz também `spaceId`, para abrir o item no space dele. Vem `null` quando o item foi excluído ou não está em nenhum space; nos outros tipos o campo não aparece.

Filtros: `source`, `memberId` (a pessoa que agiu; perfil de outra comunidade não traz nada), `from` e `to` (ISO 8601; uma data sem hora em `to` inclui o dia inteiro, em UTC). A paginação é exata entre as origens.

Paramètres

NomEmplacementTypeDescription
sourcefacultatifqueryteam | assistant | members | apiKeysSó uma origem. Sem ele, todas.
memberIdfacultatifquerystring (uuid)Só o que essa pessoa fez.
fromfacultatifquerystring (date-time)A partir de (inclusive).
tofacultatifquerystring (date-time)Até (inclusive). `2026-10-06` inclui o dia todo.
pagefacultatifqueryinteger
limitfacultatifqueryinteger

En-têtes

NomTypeDescription
X-CommunityIdfacultatifstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Réponses

StatutDescription
200Lista paginada, mais recentes primeiro.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado; token de outra comunidade (o `X-CommunityId` ou o `communityId` do corpo não é o do token); token antigo ou de uma sessão encerrada (troca de senha, convite aceito). Nesses casos a mensagem pede para entrar de novo (`auth.signInAgain`).
403Autenticado, mas sem permissão para esta operação.
500Erro interno do servidor.

Exemple curl

curl -X GET "https://api.memberfy.net/api/activity-logs" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID"