Aller au contenu

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

POST/api/auth/signup-request

Auth
Public
Qui peut l’appeler:
owner
admin
Clé d’API:
Clé d’API non acceptée
X-CommunityId
X-CommunityId Envoyez le X-CommunityId de la communauté où l’opération a lieu.
Les descriptions des endpoints viennent directement de la spécification de l’API et sont en portugais pour l’instant. L’interface autour est traduite.

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`).

En-têtes

NomTypeDescription
X-CommunityIdfacultatifstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Corps de la requête application/json

NomTypeDescription
altchaobligatoirestringO payload do widget ALTCHA sobre um desafio de `GET /api/auth/challenge`. Uso único. · max 8192
fullNameobligatoirestringmax 200
emailobligatoirestring (email)
languagefacultatifstringIdioma do candidato (pt-BR, pt-PT, en-US, es-ES, es-MX, es-AR, it-IT, de-DE, de-AT, de-CH, fr-FR, fr-CA, fr-BE, fr-CH). Sem ele, o `Accept-Language`, depois o da comunidade. Os e-mails do pedido saem nesse idioma.
phonefacultatifstringOpcional, sem confirmação (vai para a conta se o pedido for aprovado). Inválido: 400 com param = phone.
phoneCountryfacultatifstring
fieldsfacultatifobjectOs 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.
referralCodefacultatifstringO código do link de indicação (`?ref=`). Fica no pedido e conta só na aprovação, com as mesmas regras de `POST /api/auth/register`; nunca muda a resposta. · max 32
referralSeenAtfacultatifstring (date-time)Quando a pessoa abriu o link; mais de 30 dias antes: ignorado.
ageConfirmedfacultatifbooleanA pessoa confirma ter a idade mínima para ter conta (16, ou a `minimumAge` da comunidade, que vem em `POST /api/communities/domain`). `true` registra o aceite no pedido, que passa para a conta na aprovação; Obrigatório: sem o campo ou com `false`, a resposta é 400 `param = ageConfirmed` com `data.minimumAge`.

Réponses

StatutDescription
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`.

Exemple 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]"}'