Dá um feedback a um colega
POST/api/feedbacks
- Auth
- Token erforderlich
- API-Schlüssel:
- Kein API-Schlüssel möglich
- X-CommunityId
X-CommunityIdSende die X-CommunityId der Community, in der die Operation stattfindet.
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).
Header
| Name | Typ | Beschreibung |
|---|---|---|
X-CommunityIdoptional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Request-Body application/json
| Name | Typ | Beschreibung |
|---|---|---|
spaceIdoptional | string (uuid) | Espaço de Feedbacks onde o feedback é dado. |
recipientIdoptional | string (uuid) | Quem recebe o feedback direto; obrigatório sem `subjectId`. |
subjectIdoptional | string (uuid) | Feedback sobre esta pessoa, entregue ao líder direto dela (no lugar de `recipientId`). |
messageToSubjectoptional | string | "Mensagem para a pessoa" (texto rico, opcional), só com `subjectId`; sem ela, a pessoa não vê nada. · max 20000 |
bodyoptional | string | Texto livre; obrigatório sem `sections`. · max 20000 |
sectionsoptional | object[] | 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[].themeIdPflicht | string (uuid) | |
sections[].observedoptional | string | "O que você observou". |
sections[].impactoptional | string | "Qual foi o impacto". |
sections[].suggestionoptional | string | "O que sugere". |
sections[].behaviorIdsoptional | string (uuid)[] | Comportamentos do tema que a pessoa observou (opcional). |
Antworten
| Status | Beschreibung |
|---|---|
201 | O feedback criado (`Feedback` + `emailNotice`). |
400 | Requisição inválida — falha de validação. |
401 | Token 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`). |
403 | Sem 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`). |
404 | Recurso não encontrado. |
422 | Sem 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`. |
500 | Erro interno do servidor. |
curl-Beispiel
curl -X POST "https://api.memberfy.net/api/feedbacks" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{}'