OTP que te devolve o código
Uma chamada envia o código de login pro seu usuário e devolve o mesmo código pra você, pro seu app verificar do jeito que quiser. A maioria das integrações de OTP no WhatsApp passa uma semana construindo exatamente isto.
Envie e receba o código
import { Whatsapi } from "@whatsapi.sh/sdk";
const wa = new Whatsapi({ apiKey: "wa_your_key" });
const data = await wa.sendOtp({ to: "+5511988887777" });{
"data": {
"code": "482913",
"expiresAt": "2026-08-24T19:05:00.000Z",
"to": "+5511988887777",
"messageId": "3EB0…"
}
}O código é seu: compare no seu backend, mostre na sua interface, ou não faça nada disso e use /v1/otp/check. Para conferir, guardamos só um hash com salt. A mensagem que levou o código fica no histórico da conversa, como qualquer outra. O código sai na hora, sem “digitando…” antes. O primeiro código para alguém com quem o seu número nunca conversou (a pessoa nunca escreveu para ele e ele nunca mandou nada para ela por aqui) gasta uma das conversas novas do dia desse número.
Ou deixe a gente conferir
import { Whatsapi } from "@whatsapi.sh/sdk";
const wa = new Whatsapi({ apiKey: "wa_your_key" });
const data = await wa.checkOtp({ to: "+5511988887777", code: "482913" });{ "data": { "verified": true, "to": "+5511988887777" } }Código errado ou vencido é 400 OTP_INVALID, nunca um 200 com verified: false. Um endpoint de verificação que responde 200 pra código errado está a um if esquecido de deixar qualquer um entrar. Cinco tentativas por código, e depois ele queima. Um código novo tem 60 segundos de espera pra reenvio.