Saltar para o conteúdo

Extrato de engajamento (quem fez o quê, quando e onde)

GET/api/reports/engagement/activities

Auth
Exige token
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

Owner, admin, moderador ou financeiro (a equipe), inclusive atividade em espaço privado. Uma linha por atividade, da mais recente para a mais antiga, das mesmas fontes que definem "membro ativo" em `GET /api/reports/engagement` e no Dashboard.

Tipos (`kind`): `post` (post no feed), `article` (conteúdo), `comment` (em post, conteúdo, evento ou curso), `reaction` (em post, conteúdo, comentário, evento ou curso), `event` (inscrição em evento, vou/talvez), `enrollment` (matrícula em curso), `lesson` (abriu ou concluiu aula), `classified` (anúncio nos Classificados), `gallery` (imagem na Galeria), `event_created` (criou um evento), `attendance` (check-in no módulo Presença) e `login` (entrou na comunidade; registrado pelo Ranking, uma vez por dia).

`points` é o que o Ranking deu por aquela atividade (0 sem Ranking ou sem regra). Não há linha separada de pontos; receber uma curtida não aparece no extrato (não é algo que o membro fez). `target` é o item da atividade (`type`: status, content, event, course, classified ou gallery) com `title` e `link`; item apagado vem com `title` e `link` nulos. `space` é nulo fora de espaço ou com o espaço apagado.

Paginação por cursor: passe `pagination.nextCursor` em `cursor` enquanto `hasMore` for `true`. Não há total. Período: `from`/`to` em datas do fuso da comunidade, inclusive, padrão últimos 30 dias, no máximo 366 dias.

**CSV:** `format=csv` (ou `Accept: text/csv`) baixa o extrato com os mesmos filtros (sem `cursor`/`limit`), colunas no idioma do `Accept-Language` (data e hora no fuso da comunidade, membro, atividade, espaço, item, link, pontos). Acima de 50.000 linhas responde 422 antes de começar: encurte o período ou filtre.

Parâmetros

NomeOndeTipoDescrição
fromopcionalquerystring (date)Primeiro dia (AAAA-MM-DD, fuso da comunidade). Padrão 29 dias antes de `to`.
toopcionalquerystring (date)Último dia, inclusive. Padrão hoje.
timezoneopcionalquerystringFuso IANA em que os períodos são contados. Padrão: o fuso do país da comunidade (o mesmo dos prazos do call4papers). A resposta devolve o fuso usado em `timezone`.
profileIdopcionalquerystringSó as atividades deste membro.
kindopcionalquerypost | article | comment | reaction | event | enrollment | lesson | classified | gallery | event_created | attendance | login[]Um ou mais tipos (`kind=post&kind=article` ou `kind=post,article`).
spaceIdopcionalquerystringSó as atividades deste espaço.
cursoropcionalquerystringO `nextCursor` da página anterior.
limitopcionalqueryinteger
formatopcionalqueryjson | csv

Headers

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

Respostas

CódigoDescrição
200Uma página do extrato (JSON) ou o arquivo CSV.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem permissão para esta operação.
422O CSV passaria de 50.000 linhas.
500Erro interno do servidor.

Exemplo com curl

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