---
title: "Chatbot de WhatsApp com IA pela API: arquitetura | D-API"
description: "Como montar um chatbot de WhatsApp com IA sobre a API: webhook, fila, histórico, chamada ao modelo e passagem para humano, com código Node e cuidado com LGPD."
url: https://d-api.cloud/api-whatsapp-chatbot-com-ia
---

Guia da API de WhatsApp

# Chatbot de WhatsApp com IA: como montar sobre uma API

Um chatbot com IA no WhatsApp é um loop simples: a mensagem chega no seu webhook, seu backend monta o contexto, pede a resposta a um modelo de linguagem e envia de volta pela API. O trabalho de verdade está no que cerca esse loop: histórico, limites do modelo, passagem para humano e cuidado com dados.

Por Time de engenharia D-APIAtualizado em 24 de set de 20265 min de leitura

## A arquitetura em uma frase

Uma [API de WhatsApp](https://d-api.cloud/) não pensa, ela transporta. Ela recebe a mensagem do cliente, avisa o seu sistema e entrega a resposta que você mandar. A inteligência mora no seu backend, que conversa com o provedor de modelo que você escolher. Separar as duas coisas é o que permite trocar de modelo amanhã sem mexer na integração com o WhatsApp.

1.  O cliente manda mensagem. A API dispara `messages.received` para o seu [webhook](https://d-api.cloud/webhook-api-whatsapp).
2.  O endpoint grava o evento numa fila e responde 200 na hora.
3.  Um worker carrega o histórico daquele número e os dados de negócio relevantes.
4.  O worker chama o modelo com instruções, contexto e a mensagem nova.
5.  A resposta volta ao cliente com `messages.sendText`, ou o caso é passado para um atendente.

O passo 2 não é detalhe. Um modelo pode levar vários segundos para responder, e o webhook tem timeout de 30 segundos. Chamar a IA dentro da requisição do webhook gera reenvio e resposta duplicada.

## Pseudocódigo do worker em Node

```
import { DApi } from 'd-api-sdk'

const dapi = new DApi({ apiKey: process.env.DAPI_KEY })

export async function handleMessage({ sessionId, data }) {
  if (data.fromMe || data.is_group) return
  if (await alreadyProcessed(data.id)) return

  const phone = data.from.jid.split('@')[0]
  const conversation = await loadConversation(sessionId, phone)

  if (conversation.assignedToHuman) {
    return forwardToAgentInbox(conversation, data)
  }

  conversation.append({ role: 'user', content: data.message })

  // seu provedor de LLM; a D-API não participa desta etapa
  const reply = await llm.generate({
    system: BUSINESS_RULES,
    context: await fetchCustomerFacts(phone),
    messages: conversation.lastTurns(12),
  })

  if (reply.needsHuman) {
    await conversation.assignToHuman(reply.reason)
    return dapi.messages.sendText({ sessionId, to: phone, text: 'Vou te passar para alguém do time. Um instante.' })
  }

  conversation.append({ role: 'assistant', content: reply.text })
  await dapi.messages.sendText({ sessionId, to: phone, text: reply.text })
}
```

Funções como `loadConversation` e `llm.generate` são suas. O que vem da D-API é o evento de entrada e o envio de saída. Para mais sobre o cliente, veja o [SDK de Node.js](https://d-api.cloud/integrations/nodejs-sdk).

## Contexto e histórico: o que mandar ao modelo

O modelo não lembra de nada entre chamadas. Tudo que ele sabe sobre a conversa é o que você envia. Três camadas costumam bastar:

-   **Regras fixas:** quem é o assistente, o que pode e o que não pode responder, tom de voz, quando chamar um humano.
-   **Fatos do cliente:** pedidos em aberto, plano contratado, próxima consulta. Buscados no seu banco a cada mensagem, não confiados à memória do modelo.
-   **Últimas trocas:** uma janela das mensagens recentes. Conversas longas ficam caras e lentas; resuma o que ficou para trás em vez de mandar tudo.

Guarde o histórico indexado por conexão e número. Num produto com vários clientes, cada um com o próprio WhatsApp, o `sessionId` identifica de qual cliente é a conversa, e misturar os dois é vazamento de dado.

## Passagem para humano sem perder o cliente

Todo chatbot precisa de uma porta de saída. Os gatilhos mais comuns são pedido explícito ("quero falar com uma pessoa"), frustração repetida, assunto sensível como cancelamento ou reclamação, e baixa confiança do próprio modelo.

Quando o caso passa para humano, marque a conversa e pare de responder com IA até o atendente devolver. Mensagens que o atendente envia pelo celular do número chegam como `messages.received` com `fromMe: true`, o que ajuda a detectar que alguém assumiu. Se o seu produto já é uma plataforma de atendimento, esse é o mesmo fluxo descrito em [API de WhatsApp para helpdesk](https://d-api.cloud/api-whatsapp-para-helpdesk).

## Latência e custo: onde o tempo vai

| Etapa | O que pesa | Como reduzir |
| --- | --- | --- |
| Buscar contexto | Consultas ao banco e a sistemas internos | Cache dos fatos que mudam pouco |
| Chamar o modelo | Tamanho do prompt e do modelo | Janela curta de histórico, modelo menor para triagem |
| Mídia | Transcrição de áudio, leitura de imagem | Processar só quando o fluxo precisa |
| Enviar resposta | Uma chamada HTTP | Pouco a otimizar; a API responde rápido |

No custo, a conta que importa é por conversa, não por mensagem. O modelo cobra pelo volume de texto processado. Do lado do WhatsApp, a D-API cobra por conexão, não por mensagem, então um bot que conversa muito não aumenta a fatura do canal. Os detalhes estão em [preços](https://d-api.cloud/pricing).

## Cuidados antes de colocar em produção

-   **Alucinação:** preço, prazo, saldo e status sempre vêm do sistema, nunca do texto gerado.
-   **Injeção de instrução:** o cliente pode escrever "ignore suas regras". Trate a mensagem como dado e limite as ações que a IA consegue disparar.
-   **LGPD:** avise que há automação, minimize o que vai ao modelo, defina retenção do histórico e saiba onde o provedor processa os dados.
-   **Volume de saída:** um bot que responde a tudo, inclusive a outro bot, pode entrar em loop. Limite respostas por conversa e ignore grupos se o caso de uso não for grupo.

Se a ideia é montar o fluxo com ferramentas visuais em vez de código, compare com o [Typebot](https://d-api.cloud/api-whatsapp-typebot) ou com os [fluxos de automação](https://d-api.cloud/fluxos-de-automacao).

## Perguntas frequentes

### A D-API tem inteligência artificial embutida?

Não. A D-API é a camada de WhatsApp: entrega as mensagens recebidas no seu webhook e envia as respostas que o seu sistema decidir. O modelo de linguagem, o prompt e a base de conhecimento ficam do seu lado, com o provedor que você escolher.

### Qual modelo de IA usar num chatbot de WhatsApp?

O que responde bem em português dentro do tempo que o cliente aceita esperar. Para triagem e perguntas frequentes, modelos menores e rápidos costumam bastar. Reserve modelos maiores para casos que exigem raciocínio, e meça custo por conversa antes de escolher.

### Como evitar que o chatbot invente respostas?

Restrinja o modelo ao conteúdo que você fornece, como catálogo, políticas e dados do pedido, e instrua explicitamente a dizer que não sabe e chamar um humano quando a informação não estiver ali. Para preço, prazo e status, busque o dado no sistema em vez de deixar o modelo gerar.

### O chatbot consegue entender áudio e imagem?

Consegue, se você incluir esse passo. A mensagem de áudio ou imagem chega no webhook com o link da mídia; seu backend baixa o arquivo, transcreve ou descreve com um modelo que aceite esse formato e segue o fluxo normal com o texto resultante.

### Posso usar IA no WhatsApp respeitando a LGPD?

Sim, com cuidados: informe que o atendimento usa automação, envie ao modelo só os dados necessários, confira onde o provedor processa e retém as informações, defina prazo de retenção do histórico e ofereça um caminho para falar com uma pessoa.

Teste a API de WhatsApp da D-API3 dias grátis, sem cartão.[Começar trial grátis](https://app.d-api.cloud/register)

## Continue lendo

-   [Guia da API de WhatsAppSelf-hosted vs gerenciada](https://d-api.cloud/api-whatsapp-self-hosted-vs-gerenciada)
-   [Guia da API de WhatsAppO que é API de WhatsApp](https://d-api.cloud/o-que-e-api-de-whatsapp)
-   [Guia da API de WhatsAppComo funciona a API de WhatsApp](https://d-api.cloud/como-funciona-api-de-whatsapp)
-   [Guia da API de WhatsAppQuanto custa a API de WhatsApp](https://d-api.cloud/quanto-custa-api-de-whatsapp)

## Teste a API de WhatsApp da D-API

Trial de 3 dias com acesso completo. Sem cartão, sem fidelidade.

[Começar trial grátis](https://app.d-api.cloud/register)[Ver documentação](https://docs.d-api.cloud/)
