Pular para o conteúdo
whatsapi.sh
Tema
Docs

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" });
200 OK
{
  "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" });
200 OK
{ "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.