Aller au contenu

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

GET/api/reports/engagement/activities

Auth
Jeton requis
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.

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 Engajamento, uma vez por dia).

`points` é o que o Engajamento deu por aquela atividade (0 sem Engajamento 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. Acima de 2.000 linhas responde 202: o CSV é gerado numa fila e o link chega por e-mail a quem pediu.

Paramètres

NomEmplacementTypeDescription
fromfacultatifquerystring (date)Primeiro dia (AAAA-MM-DD, fuso da comunidade). Padrão 29 dias antes de `to`.
tofacultatifquerystring (date)Último dia, inclusive. Padrão hoje.
timezonefacultatifquerystringFuso 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`.
memberIdfacultatifquerystringSó as atividades deste membro.
kindfacultatifquerypost | article | comment | reaction | event | enrollment | lesson | classified | gallery | event_created | attendance | login[]Um ou mais tipos (`kind=post&kind=article` ou `kind=post,article`).
spaceIdfacultatifquerystringSó as atividades deste espaço.
cursorfacultatifquerystringO `nextCursor` da página anterior.
limitfacultatifqueryinteger
formatfacultatifqueryjson | csv

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
200Uma página do extrato (JSON) ou o arquivo CSV.
202Exportação grande (mais de 2.000 linhas): o arquivo não vem na resposta. Ele é gerado numa fila com os mesmos filtros, guardado de forma privada e o link (válido por 72 horas) vai por e-mail para quem pediu. `data.email` é o endereço que recebe; se a pessoa perder o papel antes da geração, recebe um aviso de falha em vez do link.
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.
422O CSV passaria de 50.000 linhas.
500Erro interno do servidor.

Exemple curl

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