Saltar para o conteúdo

Manda o código de confirmação do telefone

POST/api/members/me/phone-verification

Auth
Exige token
Chave de API:
members:write
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

Qualquer papel, para a própria conta na comunidade do `X-CommunityId`. Manda um código de 6 dígitos para `phone` (ou para o telefone da conta, sem `phone`), válido por 10 minutos. O telefone só passa a receber avisos depois de `POST /api/members/me/phone-verification/confirm`; até lá a conta não muda. Canal: pelo WhatsApp (modelo de autenticação) quando a comunidade tem o WhatsApp ligado, mesmo com o SMS ligado; por SMS quando o WhatsApp está desligado ou não aceita o número (plano, país, preço, modelo, descadastro), e também quando o envio pelo WhatsApp falha depois (o mesmo código segue por SMS, se o SMS estiver ligado). `data.sentVia` diz o canal escolhido (`whatsapp` ou `sms`). Sem nenhum dos dois canais ligados: 409 `sms.otpNoChannel`. Para o SMS, precisa de um país aceito (422 `sms.countryUnsupported`: o envio é global, menos os países bloqueados, hoje só os EUA), e de um país onde um SMS não passe do teto de preço (422 `sms.countryTooExpensive`). Preço do país desconhecido no momento (consulta de preço fora do ar, sem preço ou em outra moeda): 503 `sms.priceUnknown`, tente de novo em alguns minutos; com a consulta fora do ar, passa só o país que teve preço conhecido abaixo do teto nos últimos 30 dias. Limites contra abuso: um código por minuto por conta (429 com `Retry-After` e `data.retryAfterSeconds`), 3 por hora e 6 por dia por telefone, 6 por dia por conta e 10 por hora por IP (429 `sms.otpTooMany`). Tetos de 24 horas contra abuso: 300 códigos por comunidade (429 `sms.otpCommunityLimit`) e 3.000 na plataforma inteira (429 `sms.otpUnavailable`; o SuperAdmin recebe um aviso no sino, uma vez por dia). Plano sem SMS: 409 `sms.channelNotOnPlan`. Um código novo invalida o anterior.

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
phoneopcionalstring
phoneCountryopcionalstringPaís do número quando ele vem sem `+`. Padrão: o da conta, ou BR.

Respostas

CódigoDescrição
202Código pedido.
400Requisição inválida — falha de validação.
401Token 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`).
409Conflito com o estado atual do recurso.
422País de destino não aceito.
429Limite de códigos.
503Preço do SMS para o país desconhecido no momento (`sms.priceUnknown`).

Exemplo com curl

curl -X POST "https://api.memberfy.net/api/members/me/phone-verification" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'