Extrato de engajamento (quem fez o quê, quando e onde)
GET/api/reports/engagement/activities
- Auth
- Requiere token
- X-CommunityId
X-CommunityIdEnvía el X-CommunityId de la comunidad en la que ocurre la operación.
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
| Nombre | Dónde | Tipo | Descripción |
|---|---|---|---|
fromopcional | query | string (date) | Primeiro dia (AAAA-MM-DD, fuso da comunidade). Padrão 29 dias antes de `to`. |
toopcional | query | string (date) | Último dia, inclusive. Padrão hoje. |
timezoneopcional | query | string | Fuso 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`. |
profileIdopcional | query | string | Só as atividades deste membro. |
kindopcional | query | post | article | comment | reaction | event | enrollment | lesson | classified | gallery | event_created | attendance | login[] | Um ou mais tipos (`kind=post&kind=article` ou `kind=post,article`). |
spaceIdopcional | query | string | Só as atividades deste espaço. |
cursoropcional | query | string | O `nextCursor` da página anterior. |
limitopcional | query | integer | |
formatopcional | query | json | csv |
Headers
| Nombre | Tipo | Descripción |
|---|---|---|
X-CommunityIdopcional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Respuestas
| Código | Descripción |
|---|---|
200 | Uma página do extrato (JSON) ou o arquivo CSV. |
400 | Requisição inválida — falha de validação. |
401 | Token ausente, inválido ou expirado. |
403 | Autenticado, mas sem permissão para esta operação. |
422 | O CSV passaria de 50.000 linhas. |
500 | Erro interno do servidor. |
Ejemplo con curl
curl -X GET "https://api.memberfy.net/api/reports/engagement/activities" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID"