# Como lançar um companheiro de IA no WhatsApp em 2026

> Passo a passo para lançar um companheiro de IA no WhatsApp: número, persona, link de entrada, memória, regras de segurança, retenção sem mensagem fria e custo.

Source: https://whasp.ai/pt/blog/lancar-companheiro-ia-whatsapp · 2026-10-20

## O essencial

- Os termos do WhatsApp Business da Meta, de 15 de janeiro de 2026, barram assistentes de IA fora de uma lista curta de mercados, então a maioria dos companheiros roda em um número pessoal de WhatsApp.
- Na whasp o usuário sempre escreve primeiro, então mostre após o cadastro um link wa.me com uma mensagem pré-preenchida que leva um código ligando o celular dele à conta.
- Os servidores da whasp não guardam mensagens, então o seu próprio banco guarda o histórico da conversa, o resumo contínuo e os fatos de que o companheiro se lembra.
- A retenção vem de ganchos abertos na conversa, de links no e-mail ou no app que abrem o chat e de lembretes que o usuário pede, não de mensagens frias.
- Entregue a segurança desde o primeiro dia: diga que é uma IA, confira a idade no cadastro, trate casos de automutilação e respeite o STOP.

Para lançar um companheiro de IA no WhatsApp, rode-o em um número pessoal de WhatsApp, porque a API do WhatsApp Business da Meta barra assistentes de IA de uso geral na maioria dos mercados. Defina uma persona no perfil do número, dê aos usuários um link para que escrevam primeiro, responda cada mensagem a partir de um webhook com uma memória que você mesmo guarda e entregue as regras de segurança desde o primeiro dia.

## Por que criar um companheiro de IA no WhatsApp, e isso é permitido?

Um companheiro vive ou morre pela frequência com que as pessoas abrem a conversa. Mais de 3 bilhões de pessoas usam o WhatsApp todo mês, segundo a [teleconferência de resultados do primeiro trimestre de 2025 da Meta, como noticiou o TechCrunch](https://techcrunch.com/2025/05/01/whatsapp-now-has-more-than-3-billion-users/), e o seu companheiro chega como um contato em um app que elas já abrem todo dia. Não há instalação, página em loja de apps nem nova permissão de notificação. O [argumento completo, com números](https://whasp.ai/pt/blog/companheiros-ia-whatsapp-deixam-apps), está em um artigo à parte.

O problema são as regras. Os termos do WhatsApp Business da Meta, em vigor desde 15 de janeiro de 2026, [proíbem "provedores de IA"](https://techcrunch.com/2025/10/18/whatssapp-changes-its-terms-to-bar-general-purpose-chatbots-from-its-platform/) na WhatsApp Business Platform quando a IA é a funcionalidade principal. A [página de preços da Meta](https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing/ai-providers) os define como desenvolvedores de modelos de linguagem, plataformas de IA generativa e assistentes de uso geral. Um companheiro é a própria IA, então, na nossa leitura, ele está coberto.

A página da Meta diz que só dá suporte a provedores de IA nos mercados em que é obrigada por lei: Itália, Brasil, outros 29 países europeus e, a partir de 15 de outubro de 2026, Turquia. Mesmo ali, as mensagens de atendimento só podem ser enviadas em resposta ao usuário, dentro de uma janela de 24 horas aberta. A página não lista Estados Unidos, Reino Unido, Índia nem México. A [regra de janeiro de 2026 na íntegra](https://whasp.ai/pt/blog/meta-proibe-ia-whatsapp-regra-2026) traz a linha do tempo.

Sobra o número pessoal de WhatsApp. Você pode operar um por conta própria, com uma biblioteca de código aberto (o número, o celular e o risco de banimento são seus), ou usar um número gerenciado. O restante deste guia usa a whasp, que opera o número em um celular na nuvem e entrega a você um webhook e uma chamada de envio.

## Como configurar a persona e o número do companheiro?

Um número da whasp é uma conta real de WhatsApp, então carrega uma única persona: nome, recado (about) e foto. O nome tem até 25 caracteres e o recado até 139, em ASCII simples por enquanto (ou seja, sem acentos). O perfil é a primeira coisa que o usuário vê, então diga ali que é uma IA.

```bash
curl https://api.whasp.ai/v1/numbers \
  -H "Authorization: Bearer $WHASP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "label": "ava",
    "profile": {
      "name": "Ava",
      "about": "Uma amiga de IA. Me escreva quando quiser.",
      "photo_url": "https://example.com/ava.jpg"
    }
  }'
```

Isso cobra $49. O número volta como `active` (o caso mais comum) ou `provisioning`, que leva cerca de 30 minutos e termina com um evento `number.ready`. Depois, aponte a whasp para o seu servidor. A resposta traz o segredo de assinatura, `whsec_...`, criado uma única vez e mantido.

```bash
curl -X PUT https://api.whasp.ai/v1/webhook \
  -H "Authorization: Bearer $WHASP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://companion.example.com/whasp" }'
```

Se você tem vários personagens, tem vários números, um perfil para cada.

## Como o usuário inicia a conversa com o companheiro?

O usuário inicia a conversa. Um número da whasp não consegue abrir um chat: um envio para quem nunca escreveu retorna 409 `chat_not_open`. Por isso o primeiro contato acontece no seu produto. Depois do cadastro, mostre um botão que abre o WhatsApp com a mensagem já digitada.

`GET /v1/numbers/pick` devolve o número saudável com mais folga e um `wa_link`. Coloque na mensagem pré-preenchida um código do seu cadastro, e a primeira mensagem recebida diz de quem é aquele celular.

```ts
// Chamada quando um usuário logado toca em "Falar com a Ava" no seu app.
export async function chatLink(code: string): Promise<string> {
  const text = encodeURIComponent(`Oi Ava, meu código é ${code}`);
  const res = await fetch(`https://api.whasp.ai/v1/numbers/pick?text=${text}`, {
    headers: { Authorization: `Bearer ${process.env.WHASP_API_KEY}` },
  });
  if (res.ok) {
    const { wa_link } = await res.json();
    return wa_link;
  }
  throw new Error(`pick failed with ${res.status}`); // 409 no_capacity: adicione um número
}
```

Confira a idade e peça o aceite dos seus termos antes de mostrar o link. Se um celular desconhecido escrever sem código, responda uma vez com um link para o cadastro.

## Como o companheiro responde, lembra e soa humano?

O companheiro responde a partir de um webhook. Cada mensagem recebida chega em um evento `message.received`, assinado conforme o [Standard Webhooks](https://www.standardwebhooks.com). Verifique a assinatura, responda 2xx na hora e só então faça o trabalho lento: carregar a memória, chamar o seu modelo, enviar a resposta.

```ts
import { createServer } from "node:http";
import { Webhook } from "standardwebhooks";

declare function linkPhoneToAccount(phone: string, code: string): Promise<void>;
declare function companionReply(chat: string, text: string): Promise<string[]>; // memória + modelo

const wh = new Webhook(process.env.WHASP_WEBHOOK_SECRET ?? ""); // whsec_...
const handled = new Set<string>(); // em produção, use uma tabela no banco de dados

async function send(to: string, text: string, key: string) {
  const res = await fetch("https://api.whasp.ai/v1/messages", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.WHASP_API_KEY}`,
      "Content-Type": "application/json",
      "Idempotency-Key": key,
    },
    body: JSON.stringify({ to, text }),
  });
  if (res.ok) return;
  console.error("send failed", res.status, await res.text());
}

async function handle(event: any) {
  const { chat, text } = event.data.message;
  const code = text?.match(/meu código é (\w+)/i)?.[1];
  if (code) await linkPhoneToAccount(chat, code);

  const parts = await companionReply(chat, text ?? "");
  for (const [i, part] of parts.entries()) await send(chat, part, `${event.id}:${i}`);
}

createServer(async (req, res) => {
  req.setEncoding("utf8");
  let body = "";
  for await (const chunk of req) body += chunk;

  let event: any;
  try {
    event = wh.verify(body, req.headers as Record<string, string>);
  } catch {
    res.writeHead(401).end();
    return;
  }
  res.writeHead(204).end(); // confirme primeiro, trabalhe depois

  const duplicate = handled.has(event.id);
  handled.add(event.id);
  if (event.type === "message.received" && duplicate === false) await handle(event);
}).listen(3000);
```

Usar o id do evento no `Idempotency-Key` garante que um evento reenviado nunca gere dois envios. Os eventos podem chegar duas vezes ou fora de ordem, daí a checagem de `handled`.

**A memória é sua.** Os servidores da whasp não guardam mensagens: o conteúdo de uma mensagem recebida chega a você uma única vez, nesse evento. Guarde os últimos turnos, um resumo contínuo e uma lista curta de fatos (nome, trabalho, pessoas, planos). É isso que permite à Ava perguntar "Como foi a sexta?" três semanas depois. [Memória de conversa](https://whasp.ai/pt/blog/memoria-conversa-agente-ia-whatsapp) trata do esquema e dos orçamentos de tokens.

**O tom é de chat, não de redação.** Divida a resposta em duas ou três mensagens curtas, faça uma pergunta de cada vez e não use Markdown. A whasp envia de um número uma mensagem por vez, com cerca de um segundo de intervalo, então o ritmo já vem pronto. [Como escrever prompts para o WhatsApp](https://whasp.ai/pt/blog/prompt-agente-ia-whatsapp-formatacao) traz um modelo de system prompt.

> **Maya:** Foi ótimo, consegui a vaga.
>
> **Ava:** Maya, que notícia incrível. Parabéns.
>
> **Ava:** Semana passada você estava com medo da segunda etapa. O que acabaram perguntando?

Um número é um celular operado como uma pessoa faria, então algumas coisas não existem: indicador de "digitando", confirmação de leitura, mensagens de voz enviadas, grupos e resposta a uma mensagem específica. Uma mensagem de voz que o usuário envia chega como um arquivo de áudio que você pode transcrever.

## Que regras de segurança e de idade um companheiro de IA precisa ter?

Um companheiro precisa das regras de segurança antes do primeiro usuário, porque cedo ou tarde vai encontrar alguém em sofrimento. No WhatsApp, quatro coisas importam.

1. **Avise que é uma IA.** Coloque isso no recado do perfil e na primeira mensagem. A SB 243 da Califórnia, [sancionada em outubro de 2025](https://www.gov.ca.gov/2025/10/13/governor-newsom-signs-bills-to-further-strengthen-californias-leadership-in-protecting-children-online/), exige que os operadores de chatbots de companhia avisem com clareza que o chatbot é uma IA sempre que uma pessoa razoável possa achar que fala com um humano, e sempre aos usuários que eles sabem ser menores.
2. **Confira a idade antes do link.** Os [Termos de Serviço](https://www.whatsapp.com/legal/terms-of-service) do WhatsApp fixam a idade mínima em 13 anos, ou mais, onde a lei local exigir. A whasp não consegue verificar idades. Você consegue, no cadastro, antes de mostrar o link. O mesmo resumo da lei californiana acrescenta lembretes de pausa para menores e a proibição de imagens sexualmente explícitas para eles.
3. **Trate automutilação.** A SB 243 também exige protocolos para ideação suicida. Detecte o sinal, saia do papel de personagem e indique um serviço de apoio em crise do país do usuário. O código de país do número de telefone em `chat` mostra qual é.
4. **Respeite o STOP.** Uma mensagem recebida com `STOP`, `UNSUBSCRIBE`, `OPTOUT`, `CANCEL`, `END`, `QUIT` ou qualquer grafia de "opt out" faz o descadastro (opt-out) do chat automaticamente, e os envios retornam 403 `chat_opted_out` até o usuário escrever de novo. Pedidos educados ("por favor, pare") ficam por sua conta. Confirme uma vez com `"override_optout": true`.

As [regras de segurança para companheiros de IA em 2026](https://whasp.ai/pt/blog/regras-seguranca-companheiro-ia-2026) transformam as leis em uma lista de verificação. Isto não é aconselhamento jurídico.

## Como fazer os usuários voltarem sem mensagens frias?

A retenção em um número que não pode escrever primeiro vem de três lugares, e nenhum deles é mensagem fria.

**Ganchos abertos na conversa.** Termine a sessão em algo que tenha um próximo passo: a entrevista de sexta, o livro que acabaram de começar, a discussão que pretendem resolver. Guarde isso. Quando o usuário voltar a escrever, a primeira resposta da Ava retoma o assunto. As pessoas voltam para terminar uma história.

**Canais que são seus.** Seu app, e-mail ou notificação push podem levar o mesmo `wa_link` com um "Oi Ava, aqui é a Maya" pré-preenchido. O usuário toca e escreve primeiro, então não há mensagem fria. Colete um e-mail no cadastro para isso e para o caso de banimento descrito abaixo.

**Pedidos feitos dentro do chat.** Se a Maya diz "me chama na sexta à noite", seu sistema pode enviar essa mensagem depois. A whasp aceita o envio para quem já escreveu para o número e recusa todos os outros. Mantenha essas mensagens poucas, específicas e claramente pedidas. Não construa o produto sobre mensagens que ninguém pediu.

Nunca prometa aos usuários que o companheiro "te manda mensagem primeiro". Ele não consegue, e os [casos de uso que funcionam melhor](https://whasp.ai/pt/blog/casos-uso-agente-ia-whatsapp) começam todos pelo usuário.

## Quanto custa um companheiro de IA no WhatsApp e como escalar?

Cobre fora do WhatsApp. Venda a assinatura no seu site ou no seu app, vincule o celular à conta com o código do cadastro e confira o plano no handler do webhook. Um celular sem plano pago recebe uma resposta com um link para assinar. A whasp não cuida de pagamentos dos usuários finais.

Sobre o custo, um número da whasp custa $49 a cada 30 dias, a partir de um saldo pré-pago, para cerca de 100 usuários ativos (pessoas que escreveram nos últimos 30 dias). Isso dá menos de 50 centavos por usuário ativo por mês. A conta do modelo é a linha maior e menos previsível, então limite as mensagens por usuário por dia.

Cada número permite 100 chats ativos em 30 dias, 40 novos chats em 24 horas e 1.500 mensagens enviadas em 24 horas. Um número acima de 80% de um limite passa a `at_risk`; as mudanças entre `healthy`, `at_risk` e `critical` chegam em eventos `number.status_changed`. Adicione um número antes de chegar lá: `/numbers/pick` manda os novos usuários para o que tem folga, e quem volta continua no seu.

Se o WhatsApp banir um número, a whasp o aposenta e passa você para um substituto com o mesmo label, perfil e período pago, avisado por `number.replaced`. O novo número começa vazio e os chats não se movem. Você envia a cada usuário o novo `wa_link` por e-mail ou no app, e eles escrevem primeiro de novo. Como a memória é sua, a troca passa quase despercebida: mesmo usuário, mesmo histórico.

## O que fazer agora?

1. Escreva a persona e as regras de segurança, nessa ordem.
2. Adicione um número e configure o webhook. `POST /v1/webhook/test` verifica o seu endpoint.
3. Convide cinco pessoas que você conhece e leia todas as conversas.
4. Veja [o que mais funciona bem no WhatsApp](https://whasp.ai/pt/blog/casos-uso-agente-ia-whatsapp) antes de acrescentar recursos.

O [quickstart](https://whasp.ai/docs#quickstart) traz o fluxo completo, e a página de [preços](https://whasp.ai/pt/pricing) lista as opções de recarga.

## Perguntas

### Posso rodar um companheiro de IA na API do WhatsApp Business?

Em geral, não. Os termos da Meta em vigor desde 15 de janeiro de 2026 barram provedores de IA cuja função principal é a própria IA, exceto onde os reguladores forçaram exceções (Itália, Brasil, outros 29 países europeus e, a partir de 15 de outubro de 2026, Turquia). Mesmo nesses lugares, as respostas precisam ficar dentro da janela de atendimento ao cliente de 24 horas.

### Meu companheiro de IA pode mandar mensagem primeiro para os usuários no WhatsApp?

Na whasp, não. Um número só envia para quem já escreveu para ele, e um envio para qualquer outra pessoa retorna 409 chat_not_open. Use um link no seu app ou um e-mail para fazer o usuário escrever primeiro.

### Quantos usuários um número de WhatsApp aguenta?

Na whasp, cerca de 100 usuários ativos por número (pessoas que escreveram nos últimos 30 dias), 40 novos chats a cada 24 horas e 1.500 mensagens enviadas a cada 24 horas. Adicione números conforme crescer.

### Quanto custa rodar um companheiro de IA no WhatsApp?

Um número da whasp custa $49 a cada 30 dias, o que dá menos de 50 centavos por usuário ativo por mês com cerca de 100 usuários por número. A conta do modelo vem por cima e cresce conforme os usuários conversam.

### O que acontece com o meu companheiro se o número for banido?

A whasp troca o número sem custo, com o mesmo label, perfil e período pago, e envia um evento number.replaced. Os chats não se movem, então você envia aos usuários o novo link wa.me.
