Saltar para o conteúdo

Dá um feedback a um colega

POST/api/feedbacks

Auth
Exige token
Chave de API:
Não aceita chave de API
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

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`). `recipientId` é o perfil de um colega vivo da mesma comunidade que também abre esse espaço; ninguém dá feedback a si mesmo (422 com `errors`). `body` é texto rico (HTML; é sanitizado), com até 5000 caracteres de texto; ou, no lugar dele, `sections` (o modelo guiado por temas: a API monta o texto e guarda os temas à parte, só para os números). Só o autor e o destinatário vão ler, texto e temas. O destinatário recebe, 10 minutos depois e pela fila, o e-mail "Fulano te deu um feedback" (categoria `feedbacks`, que ele pode desligar), **sem o texto**. `data.emailNotice` traz `{ scheduled, recipientCount }`.

**Sobre outra pessoa (espontâneo):** no lugar de `recipientId`, `subjectId` (um colega vivo que abre o espaço). O feedback interno (`body` ou `sections`) vai ao **líder direto** da pessoa (`reportsToId`), que é gravado e não muda se o líder mudar depois; `messageToSubject` (opcional, texto rico, até 5000 caracteres de texto) vai à pessoa, com o nome de quem escreveu. Pessoa sem líder (ou com líder que não abre o espaço): 422 `subjectNoLeader`/`leaderNoAccess`, com mensagem clara; sobre si mesmo: 422 `aboutSelf`; sendo o próprio líder da pessoa: 422 `subjectIsYourReport` (dê o feedback direto); `recipientId` e `subjectId` juntos: 422. Avisos por e-mail, sem texto e sem o nome da pessoa: o líder recebe "Fulano te enviou um feedback sobre uma pessoa do seu time" (`emailNotice`); a pessoa, só se houver mensagem, "Fulano te deixou uma mensagem" (`messageNotice`, nulo sem mensagem).

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.

Corpo da requisição application/json

NomeTipoDescrição
spaceIdopcionalstring (uuid)Espaço de Feedbacks onde o feedback é dado.
recipientIdopcionalstring (uuid)Quem recebe o feedback direto; obrigatório sem `subjectId`.
subjectIdopcionalstring (uuid)Feedback sobre esta pessoa, entregue ao líder direto dela (no lugar de `recipientId`).
messageToSubjectopcionalstring"Mensagem para a pessoa" (texto rico, opcional), só com `subjectId`; sem ela, a pessoa não vê nada. · max 20000
bodyopcionalstringTexto livre; obrigatório sem `sections`. · max 20000
sectionsopcionalobject[]O modelo guiado: uma seção por tema (no lugar de `body`; os dois juntos: 422 `bodyAndSections`). A API monta o `body` com o nome do tema e as três perguntas como títulos, no idioma de quem escreve (`Accept-Language`); pergunta em branco não entra, seção sem nenhum texto sai (texto e vínculo); sem texto em nenhuma: 422 `sectionsEmpty`. Tema ou comportamento inativo ou de outra comunidade: 422 `themeInvalid`/`behaviorInvalid`.
sections[].themeIdobrigatóriostring (uuid)
sections[].observedopcionalstring"O que você observou".
sections[].impactopcionalstring"Qual foi o impacto".
sections[].suggestionopcionalstring"O que sugere".
sections[].behaviorIdsopcionalstring (uuid)[]Comportamentos do tema que a pessoa observou (opcional).

Respostas

CódigoDescrição
201O feedback criado (`Feedback` + `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.
422Sem texto ou acima do limite, seções vazias ou com tema/comportamento inválido, a si mesmo, pessoa de outra comunidade ou que não abre o espaço, sem `spaceId` numa comunidade com vários espaços de Feedbacks (`spaceRequired`); sobre outra pessoa: sem líder, líder sem acesso, sobre si mesmo ou sendo o líder dela, `messageToSubject` sem `subjectId`.
500Erro interno do servidor.

Exemplo com curl

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