Liga a verificação em duas etapas (ou troca o telefone dela) — envia o código
POST/api/auth/two-factor/setup
- 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.
Manda um código ao `phone` (ou ao telefone da conta) por WhatsApp, ou SMS com `channel: sms`. O código é da plataforma: não depende do canal nem da cota da comunidade e vale em qualquer comunidade. País sem WhatsApp nem SMS suportado: **422** com o motivo. Limites da verificação de telefone (429). Confirme com `POST /api/auth/two-factor/setup/confirm`. Com o 2FA já ligado, troca o telefone dele e pede o passo extra (`X-Step-Up-Token`; sem ele **403** `STEP_UP_REQUIRED`). Rota aberta a qualquer sessão: é o caminho de quem a equipe obriga a ligar.
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. |
X-Step-Up-Tokenopcional | string | Só com o 2FA já ligado (troca de telefone). |
Corpo da requisição application/json
| Nome | Tipo | Descrição |
|---|---|---|
phoneopcional | string | |
phoneCountryopcional | string | |
channelopcional | whatsapp | sms |
Respostas
| Código | Descrição |
|---|---|
200 | Código enviado. |
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 | Autenticado, mas sem permissão para esta operação. |
422 | País não suportado ou caro demais. |
429 | Limite de códigos (um por minuto; por telefone, conta e IP). Código de ativação: no máximo 3 por conta e 3 por telefone em 24 h, e um teto diário por comunidade; os códigos de ativação nunca usam a parte do teto da plataforma reservada ao login e ao passo extra. |
Exemplo com curl
curl -X POST "https://api.memberfy.net/api/auth/two-factor/setup" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{}'