Pular para o conteúdo

Pede para entrar numa comunidade com cadastro com aprovação

POST/api/auth/signup-request

Auth
Pública
Quem pode:
owner
admin
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.

Numa comunidade com **cadastro com aprovação** (`signupEnabled` e `signupRequiresApproval`), o candidato pede para entrar com nome, e-mail, idioma, telefone opcional e os campos do cadastro (`fields`, como em `POST /api/auth/register`), **sem senha**. O pedido vai para a fila da equipe (`GET /api/signup-requests`); nada vira membro até owner ou admin aprovar, e a aprovação manda o e-mail com o link para criar a senha.

A resposta é **sempre a mesma** (202, "Pedido enviado"), crie o pedido ou não: e-mail que já é membro, que já tem pedido vivo, que foi recusado ou expirou nos últimos 30 dias, ou que passou do próprio limite (3 pedidos por dia) recebe a mesma resposta e nada é criado. O login nunca revela que existe um pedido.

Comunidade com cadastro fechado: 403. Cadastro aberto sem aprovação: 409 (use `POST /api/auth/register`). Comunidade suspensa pela Memberfy: 403 com a mensagem genérica (`code = COMMUNITY_SUSPENDED`). Campo do cadastro faltando ou inválido: 422, um erro por campo. Exige `altcha`. Limites: 30 cadastros e pedidos por IP em 15 minutos e 10 pedidos por IP por hora (429 com `Retry-After`).

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
altchaobrigatóriostringO payload do widget ALTCHA sobre um desafio de `GET /api/auth/challenge`. Uso único. · max 8192
fullNameobrigatóriostringmax 200
emailobrigatóriostring (email)
languageopcionalstringIdioma do candidato (pt-BR, pt-PT, en-US, es-ES, es-MX, es-AR, it-IT, de-DE, de-AT, de-CH). Sem ele, o `Accept-Language`, depois o da comunidade. Os e-mails do pedido saem nesse idioma.
phoneopcionalstringOpcional, sem confirmação (vai para a conta se o pedido for aprovado). Inválido: 400 com param = phone.
phoneCountryopcionalstring
fieldsopcionalobjectOs campos do cadastro da comunidade, `{ key: valor }` (`GET /api/member-fields/signup`). Aparecem para a equipe na fila e vão para a conta na aprovação.

Respostas

CódigoDescrição
202Pedido recebido (resposta genérica; não diz se o pedido foi criado).
400Requisição inválida — falha de validação.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
409O cadastro desta comunidade é aberto, sem aprovação (use `POST /api/auth/register`).
422Campo do cadastro obrigatório faltando, fora da lista ou inválido; ou `altcha` ausente, inválido, vencido ou já usado.
429Tentativas demais. O header `Retry-After` diz em quantos segundos tentar de novo.
500Erro interno do servidor.
503A API não consegue verificar o ALTCHA agora (chave não configurada em produção). `param = altcha`.

Exemplo com curl

curl -X POST "https://api.memberfy.net/api/auth/signup-request" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"altcha":"string","fullName":"string","email":"[email protected]"}'