Skip to content

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

POST/api/members/me/phone-verification

Auth
Requires a token
API key:
members:write
X-CommunityId
X-CommunityId Send the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.

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

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

Request body application/json

NameTypeDescription
phoneoptionalstring
phoneCountryoptionalstringPaís do número quando ele vem sem `+`. Padrão: o da conta, ou BR.

Responses

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

curl example

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 '{}'