OCTOMO — API de verificação de identidade por celular no modelo em que o próprio cliente envia a mensagem (MO)
(octomo.octoverse.kr)Sempre que eu adicionava verificação de identidade no cadastro de um serviço, o custo de envio de SMS pesava, então criei uma API de autenticação por celular invertendo a direção do processo.
No modelo tradicional de verificação por SMS, o serviço envia a mensagem de autenticação ao usuário (MT, Mobile Terminated). Isso custa de 9 a 50 won por envio, além de mensalidade básica, então quanto mais usuários, maior o custo; em alguns casos, por causa de contrato e análise, a integração também pode levar de 1 a 2 semanas.
O OCTOMO inverteu essa lógica (MO, Mobile Originated). O usuário envia por SMS, do próprio celular, o código de verificação para um número designado, e o serviço apenas consulta via API a mensagem recebida. Como quem envia a mensagem é o próprio usuário, não há custo de disparo para o serviço, e o fato de o SMS ter sido enviado realmente daquele aparelho também funciona como verificação de posse.
O fluxo recomendado é: ao tocar no botão de verificação, o app de mensagens já abre com o número de destino e o código preenchidos, e o usuário só precisa tocar em enviar. (Como isso é tratado com deep link
sms:, há uma parte que precisa ser implementada no front-end, mas em dispositivos móveis esse é o padrão.) Como não há risco de digitar o número errado ou errar o código, a taxa de falha também diminui.Na prática, a API tem só um endpoint.
POST /octomo/v1/public/message/exists
- Entrada: número de celular + código enviado pelo usuário
- Saída: se uma mensagem com esse código foi recebida nos últimos 5 minutos (
verified: true/false)O fluxo de integração é simples: "toque no botão → app de mensagens abre automaticamente (número e código preenchidos automaticamente) → usuário envia → chama esta API e, se retornar true, passa". Não é necessário instalar app nem SDK; basta fazer chamadas REST, e coloquei exemplos em Node/Java/Python na documentação.
Também deixo registradas, de forma franca, as limitações.
- O deep link elimina o trabalho de digitação, mas ainda resta a etapa de o usuário tocar no botão de envio mais uma vez (um trade-off em troca de custo de envio zero e reforço na verificação de posse).
- Como é baseado em números de celular da Coreia, usuários do exterior não são o público-alvo.
- Para o usuário, aplica-se a tarifa de SMS do próprio plano (em planos ilimitados, na prática é grátis).
Gostaria especialmente de ouvir opiniões sobre possíveis preocupações de UX, como "esse fluxo não causaria muita desistência do usuário?", ou observações sob a ótica de segurança. Feedbacks são bem-vindos.
5 comentários
Como os requisitos legais de verificação de identidade e de verificação de posse são diferentes e se complementam, entendo que há casos em que é obrigatório usar verificação de identidade. Seria bom explicar melhor em quais casos dá para usar apenas essa verificação de posse.
Obrigado pelo feedback!
Como você mencionou, os requisitos atendidos pela verificação de identidade e pela verificação de posse são diferentes,
então vamos organizar e acrescentar na documentação, de forma mais clara, os critérios para quando apenas a verificação de posse é suficiente.
Obrigado por apontar isso com tanta precisão!
Ah, isso é algo que eu queria que existisse há pelo menos uma vez, e a API parece realmente muito fácil de usar...!
"o usuário envia por SMS o código de verificação para o número especificado usando o próprio celular"
Essa parte ficou um pouco confusa para mim, mas a orientação é para que ele envie a mensagem para o número fornecido pela OCTOMO, certo?
Sim, isso mesmo! Basta orientar o cliente a enviar por SMS o código de verificação para o número fornecido pela OCTOMO.
No ambiente de app, recomendamos implementar usando deep link
sms:para que, quando o usuário tocar no botão de verificação, o aplicativo de mensagens seja aberto automaticamente!No ambiente web, atualmente oferecemos o método de envio do SMS com o código de verificação e, adicionalmente, estamos desenvolvendo uma opção com QR code.
Estamos implementando para que, quando o usuário escanear o QR code, ele seja direcionado automaticamente para o aplicativo de mensagens!
Obrigado!
Uau, isso é muito bom mesmo.. vou usar bastante nos meus projetos paralelos haha