Responde a um pedido de feedback
POST/api/feedbacks/requests/{id}/answer
- Auth
- Exige token
- Chave de API:
- Não aceita chave de API
- X-CommunityId
X-CommunityIdEnvie o X-CommunityId da comunidade em que a operação acontece.
Só a pessoa a quem foi pedido (quem pediu: 403; qualquer outra: 404), enquanto o pedido está `PENDING` (respondido, recusado ou cancelado: 409). Vira um feedback para quem pediu, ligado ao pedido (`requestId`), e o pedido passa a `ANSWERED`. Quem pediu recebe, 10 minutos depois, o e-mail "Fulano respondeu o seu pedido de feedback" (categoria `feedbacks`), sem o texto. Devolve o `Feedback` criado + `emailNotice`. Texto livre em `body`, ou o modelo guiado em `sections` (o app abre uma seção por tema pedido; a pessoa pode remover seções e adicionar outros temas). Os temas do pedido continuam aceitos mesmo se desativados depois. Num pedido **sobre outra pessoa**, `body`/`sections` são o feedback interno (quem pediu e o líder direto da pessoa neste momento leem) e `messageToSubject` (opcional) é a mensagem para a pessoa, que a lê com o nome de quem escreveu e recebe "Fulano te deixou uma mensagem" (`messageNotice`); quem pediu recebe "Fulano respondeu o seu pedido de feedback sobre uma pessoa do time". `messageToSubject` em pedido direto: 422.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
idobrigatório | path | string (uuid) |
Headers
| Nome | Tipo | Descrição |
|---|---|---|
X-CommunityIdopcional | string (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
| Nome | Tipo | Descrição |
|---|---|---|
bodyopcional | string | Texto livre; obrigatório sem `sections`. · max 20000 |
messageToSubjectopcional | string | Só em pedido sobre outra pessoa: a mensagem para ela (texto rico, opcional). · max 20000 |
sectionsopcional | 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[].themeIdobrigatório | string (uuid) | |
sections[].observedopcional | string | "O que você observou". |
sections[].impactopcional | string | "Qual foi o impacto". |
sections[].suggestionopcional | string | "O que sugere". |
sections[].behaviorIdsopcional | string (uuid)[] | Comportamentos do tema que a pessoa observou (opcional). |
Respostas
| Código | Descrição |
|---|---|
201 | O feedback criado. |
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. |
409 | O pedido não está mais pendente. |
422 | Sem texto ou acima do limite, ou quem pediu não abre mais o espaço. |
500 | Erro interno do servidor. |
Exemplo com curl
curl -X POST "https://api.memberfy.net/api/feedbacks/requests/<id>/answer" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{}'