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-CommunityIdEnvoyez le X-CommunityId de la communauté où l’opération a lieu.
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
| Nom | Type | Description |
|---|---|---|
X-CommunityIdfacultatif | string (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
| Nom | Type | Description |
|---|---|---|
altchaobligatoire | string | O payload do widget ALTCHA sobre um desafio de `GET /api/auth/challenge`. Uso único. · max 8192 |
fullNameobligatoire | string | max 200 |
emailobligatoire | string (email) | |
languagefacultatif | string | Idioma 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. |
phonefacultatif | string | Opcional, sem confirmação (vai para a conta se o pedido for aprovado). Inválido: 400 com param = phone. |
phoneCountryfacultatif | string | |
fieldsfacultatif | object | Os 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. |
referralCodefacultatif | string | O 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 |
referralSeenAtfacultatif | string (date-time) | Quando a pessoa abriu o link; mais de 30 dias antes: ignorado. |
ageConfirmedfacultatif | boolean | A 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
| Statut | Description |
|---|---|
202 | Pedido recebido (resposta genérica; não diz se o pedido foi criado). |
400 | Requisição inválida — falha de validação. |
403 | Autenticado, mas sem permissão para esta operação. |
404 | Recurso não encontrado. |
409 | O cadastro desta comunidade é aberto, sem aprovação (use `POST /api/auth/register`). |
422 | Campo do cadastro obrigatório faltando, fora da lista ou inválido; ou `altcha` ausente, inválido, vencido ou já usado. |
429 | Tentativas demais. O header `Retry-After` diz em quantos segundos tentar de novo. |
500 | Erro interno do servidor. |
503 | A 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]"}'