Lista feed
GET/api/feed
- Auth
- Public
- Clé d’API:
- feed:read
- X-CommunityId
X-CommunityIdEnvoyez le X-CommunityId de la communauté où l’opération a lieu.
Autenticação opcional: o conteúdo retornado varia conforme o membro autenticado. Itens `status` e `content` trazem `spaceId` (o espaço do próprio post, onde os Drops dos comentários dele são enviados; `null` fora de espaço); os itens `event` também trazem `spaceId` (o espaço do evento, `null` fora de espaço), e todo item traz `spaceTitle` (o título desse espaço, `null` fora de espaço ou com o espaço apagado) e `poll` (schema `Poll`) quando o post é uma enquete, ou `null`; a contagem segue a regra do schema. Post aguardando moderação (ou recusado) aparece só para o autor e a equipe. A visibilidade conferida é a do próprio post, não a cópia guardada no item do feed. `pagination.total` (e `totalPages`/`hasNext`) conta só os itens que quem chama recebe: rascunhos, posts pendentes de outras pessoas, posts que a pessoa não pode ler e itens cujo post foi apagado não entram na contagem nem nas páginas. Itens `status` e `content` trazem `commentsDisabled` (comentários desligados: a caixa de comentar some) e `canToggleComments` (quem lê pode desligar e religar: autor, owner, admin, moderador). Itens `content` trazem `canCreateCampaign` (boolean): `true` para owner, admin, moderador e financeiro em post publicado, não `private` e aprovado na moderação; é quando o app mostra "Enviar por e-mail" (`POST /api/campaigns/from-content`).
Paramètres
| Nom | Emplacement | Type | Description |
|---|---|---|---|
pagefacultatif | query | integer | |
limitfacultatif | query | integer | |
typefacultatif | query | all | status | content | event | events | course | courses | call4papers | recognition | |
visibilityfacultatif | query | public | members | all | |
spaceIdfacultatif | query | string (uuid) | Espaço cujo feed se quer ler. Num espaço Feed com `feedScope: space`, vêm só os itens daquele espaço. Num Feed com `feedScope: section` (e em qualquer outro módulo), vêm os itens de todos os espaços da seção que a pessoa pode abrir, como antes, com o fixado de outro espaço no topo. Espaço que a pessoa não pode abrir dá 403, com o mesmo `data` do `GET /api/spaces/{id}` (`reason`, `actions` e, se o espaço aparece com cadeado, `lockReason` e `space`). |
sectionIdfacultatif | query | string (uuid) | Agrega todos os espaços da seção que a pessoa pode abrir, qualquer que seja o `feedScope`. Vence o `spaceId` quando os dois vêm. |
tagfacultatif | query | string | Só os posts (`status` e `content`) com esta tag, sem diferença de maiúscula, acento ou `#` na frente (`Vagas`, `vagas` e `#vágas` filtram igual); eventos, cursos e os outros tipos saem. O recorte é o mesmo de sempre: com `spaceId`, o espaço ou a seção conforme o `feedScope`, sem os espaços que a pessoa não pode abrir nem os posts que ela não pode ler; `pagination` conta só o filtrado. Os itens `status` e `content` trazem `tags` (sempre um array). |
sortfacultatif | query | recent | activity | Ordem do feed. `recent` (o padrão, "Recentes"): fixados e depois a data de publicação, como sempre. `activity` ("Com atividade"): fixados e depois `lastActivityAt`, o mais novo entre a publicação e o último comentário ou resposta; um post antigo que recebe comentário sobe. Reação não conta, e apagar um comentário não faz o post descer. A ordem é feita no banco e paginada como a outra; o acesso não muda. Todo item traz `lastActivityAt`. Outro valor: 400. |
communityIdfacultatif | query | string (uuid) |
En-têtes
| Nom | Type | Description |
|---|---|---|
X-CommunityIdfacultatif | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Réponses
| Statut | Description |
|---|---|
200 | Operação realizada com sucesso. |
400 | Requisição inválida — falha de validação. |
500 | Erro interno do servidor. |
Exemple curl
curl -X GET "https://api.memberfy.net/api/feed" \
-H "X-CommunityId: $COMMUNITY_ID"