Skip to content

Pede feedback a um colega

POST/api/feedbacks/requests

Auth
Requires a token
Who can call it:
owner
admin
API key:
No API key accepted
X-CommunityId
X-CommunityId Send the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.

Qualquer papel que abra o espaço (`spaceId`; opcional enquanto a comunidade tem um só espaço de Feedbacks, obrigatório com vários: 422 `spaceRequired`). Quem pede é sempre quem vai receber o feedback. `giverId` é um colega vivo que abre esse espaço (a si mesmo: 422); `message` opcional, até 1000 caracteres. `themeIds` (opcional, até 10) são temas ativos do catálogo da comunidade sobre os quais a pessoa quer ouvir, e `behaviorIds` (opcional) comportamentos ativos desses temas; inativo, de outra comunidade ou de tema não escolhido: 422 `themeInvalid`/`behaviorInvalid`. Quem vai responder vê os temas no pedido. Um pedido pendente por par em cada espaço (o segundo: 409); a resposta entra no espaço do pedido. O colega recebe, 10 minutos depois e pela fila, o e-mail "Fulano pediu o seu feedback" (categoria `feedbacks`), sem a mensagem. `data.emailNotice` traz `{ scheduled, recipientCount }`.

**Sobre outra pessoa:** com `subjectId` (a pessoa) e `giverIds` (os colegas indicados; `giverId` sozinho também vale), cria um pedido para cada indicado, todos com o mesmo `roundId`. Só o **líder direto** da pessoa (`reportsToId`; o indireto não) ou owner/admin, sobre qualquer pessoa da comunidade (os outros: 403 `aboutDenied`). Tudo ou nada: até `maxNominees` indicados (configuração do espaço, `GET /api/feedbacks/settings`; padrão 5), distintos, que abrem o espaço, nem a pessoa, nem quem pede, nem o líder dela (422 com `errors`, `param` = `giverIds[i]`); indicado com pedido pendente seu sobre a mesma pessoa: 409 `aboutPending`. Quem pede lê o feedback interno das respostas; cada indicado vê só o próprio pedido (nem quem mais foi indicado, nem as outras respostas); a pessoa não é avisada nem vê o pedido. Cada indicado recebe "Fulano pediu o seu feedback sobre uma pessoa do time" (sem o nome da pessoa). Devolve `{ roundId, subject, maxNominees, requests: [FeedbackRequest], emailNotice }`. `giverIds` sem `subjectId`: 422.

Headers

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

Request body application/json

NameTypeDescription
spaceIdoptionalstring (uuid)Espaço de Feedbacks do pedido.
giverIdoptionalstring (uuid)A pessoa a quem se pede; obrigatório sem `subjectId`.
subjectIdoptionalstring (uuid)Pedido sobre esta pessoa (líder direto ou owner/admin).
giverIdsoptionalstring (uuid)[]Os colegas indicados, só com `subjectId`; até o limite do espaço.
messageoptionalstringmax 1000
themeIdsoptionalstring (uuid)[]Temas do catálogo (GET /api/feedbacks/themes).
behaviorIdsoptionalstring (uuid)[]Comportamentos dos temas escolhidos.

Responses

StatusDescription
201O pedido criado (`FeedbackRequest` + `emailNotice`).
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`).
403Sem permissão para esta operação, ou sessão de suporte do SuperAdmin ("Entrar"): feedbacks são pessoais e o modo suporte não vê nem age neles (`feedback.errors.supportSession`).
404Recurso não encontrado.
409Já existe um pedido pendente seu para esta pessoa neste espaço (sobre outra pessoa: para este indicado, sobre a mesma pessoa).
422A si mesmo, pessoa de outra comunidade ou que não abre o espaço, mensagem acima de 1000, tema ou comportamento inválido, ou sem `spaceId` numa comunidade com vários espaços de Feedbacks (`spaceRequired`); sobre outra pessoa: indicados demais, repetidos, a própria pessoa ou o líder dela.
500Erro interno do servidor.

curl example

curl -X POST "https://api.memberfy.net/api/feedbacks/requests" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'