Saltar para o conteúdo

Convida uma pessoa para a equipe da empresa

POST/api/resident-companies/{id}/members

Auth
Exige token
Quem pode:
owner
admin
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

Owner, admin ou o admin **desta** empresa (só com a empresa ativa); funcionário comum, admin de outra empresa e admin de empresa encerrada levam 403. `isAdmin: true` só owner ou admin podem mandar (403 para os demais). **Owner e admin da comunidade vinculam direto:** quem já é membro só ganha o vínculo (`status: linked`, `joinedViaCompany: false`, sem e-mail); quem não é entra na comunidade com papel `member` (sempre: `role` no corpo é ignorado), recebe o e-mail de convite de `POST /api/profiles/invite` e entra na equipe (`status: invited`, `joinedViaCompany: true`). **O admin da empresa só convida:** a resposta é sempre a mesma (`status: invited`, `pending: true`, `invitationId`, mensagem "Convite enviado."), seja a pessoa membro da comunidade, de outra empresa ou de fora. Ninguém entra na equipe sem aceitar: a pessoa recebe um e-mail e vê o convite em "Minha empresa" (`GET /api/resident-companies/invitations/mine`), onde aceita ou recusa. Quem ainda não era da comunidade também recebe o convite da comunidade, como antes. Convidar de novo quem já tem convite pendente devolve o mesmo `invitationId`, sem novo e-mail. Erros claros, nunca sucesso silencioso: comunidade fechada para novos membros (F-86) 403; e-mail que pediu para não participar (F-85) 409; pessoa já nesta equipe 409; pessoa já em outra empresa 409 só para owner e admin (para o admin da empresa, o 409 aparece só para a própria pessoa, no aceite); empresa encerrada 409. Limite do admin da empresa: até 30 convites por hora (429 com `Retry-After` acima disso); owner e admin não têm esse limite.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriopathstring (uuid)

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
emailobrigatóriostring (email)
nameopcionalstringNome da pessoa (usado se a conta for criada agora). · max 100
isAdminopcionalbooleanSó owner ou admin.

Respostas

CódigoDescrição
201Pessoa convidada ou vinculada (owner/admin), ou convite pendente enviado (admin da empresa).
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
409Conflito com o estado atual do recurso.
429Admin da empresa acima de 30 convites na hora (cabeçalho `Retry-After`).
500Erro interno do servidor.

Exemplo com curl

curl -X POST "https://api.memberfy.net/api/resident-companies/<id>/members" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]"}'