Raphael Serafim· Publicado em 28 de setembro de 2026· 9 min de leitura

API do WhatsApp para delivery e restaurante: pedido, entrega e avaliação no mesmo chat

Como usar a API não oficial do WhatsApp no delivery: cardápio em lista, confirmação, endereço por localização, entregador em tempo real, Pix e avaliação.

Ver como Markdown

A API não oficial do WhatsApp permite montar o delivery inteiro dentro da conversa: o cliente escolhe o prato num cardápio em lista, confirma o pedido, compartilha o endereço com um toque, paga por Pix, acompanha a entrega e avalia no final — sem app próprio e sem atendente digitando no pico. Neste guia você vê o fluxo completo de um restaurante com a WAME, os endpoints de cada etapa e os cuidados para o número continuar saudável.

A camada não oficial não é afiliada, endossada ou suportada pelo WhatsApp ou pela Meta. O uso é de responsabilidade de quem envia.

Por que o delivery combina com a API não oficial

Restaurante vive de conversa curta, rápida e com muito vai e volta: "tem sem cebola?", "demora quanto?", "já saiu?". Três características da camada não oficial encaixam nesse ritmo:

  • Texto livre, sem template nem janela de 24h. A mensagem de "pedido saiu" não precisa de aprovação prévia.
  • Recursos nativos do app: lista para cardápio, botão de pedir localização, localização em tempo real, enquete para avaliação.
  • Custo fixo por instância. Sábado à noite com o triplo de pedidos não vira fatura por mensagem. A conta está em custo fixo vs cobrança por mensagem.

E o fluxo nasce seguro: é o cliente quem chama primeiro. Um bot que responde quem escreveu é o uso de menor risco que existe.

O fluxo em sete etapas

  1. Cliente manda "oi" (ou clica no link da bio).
  2. Bot responde com saudação e o cardápio em lista.
  3. Cliente escolhe itens; bot confirma e pergunta observações.
  4. Bot pede a localização com o botão nativo.
  5. Bot envia o resumo com o total e o Pix.
  6. Cozinha e entrega disparam atualizações de status.
  7. Depois da entrega, uma enquete de avaliação.

A estrutura do bot — webhook, estado por cliente, handoff para humano — está em como criar um bot de WhatsApp. Aqui o foco é o que é específico de restaurante.

Cardápio em mensagem de lista

A mensagem de lista organiza o cardápio em seções, e cada item volta no webhook com o rowId que você definiu:

bash
curl -X POST "https://us.api-wa.me/SUA_KEY/message/list" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999999999",
    "title": "Cardápio de hoje",
    "text": "Escolha um item para adicionar ao pedido:",
    "buttonText": "Ver cardápio",
    "footer": "Aberto até 23h",
    "sections": [
      {
        "title": "Pizzas",
        "rows": [
          { "title": "Margherita", "description": "R$ 49,90", "rowId": "pz_margherita" },
          { "title": "Calabresa", "description": "R$ 52,90", "rowId": "pz_calabresa" }
        ]
      },
      {
        "title": "Bebidas",
        "rows": [
          { "title": "Refrigerante 2L", "description": "R$ 14,00", "rowId": "bb_refri2l" }
        ]
      }
    ]
  }'

A escolha chega como interactive.list_reply.id no webhook formato meta. Guarde os itens num carrinho por cliente e, a cada escolha, responda com o parcial e a lista de novo — ou botões "Adicionar mais" e "Fechar pedido" com /message/button_reply.

Duas dicas de quem já viu isso em produção:

  • Cardápio muito grande não cabe em uma lista. Divida por categoria: primeiro a lista de categorias, depois os itens da categoria escolhida.
  • Sempre aceite texto livre também. Parte dos clientes vai digitar "uma calabresa grande sem cebola". Um atalho para atendente humano resolve o que o bot não entender.

Se você já tem catálogo cadastrado no WhatsApp Business, há também o caminho do catálogo com carrinho.

Endereço com um toque: pedido de localização

Endereço digitado é a maior fonte de entrega errada: número trocado, bairro abreviado, complemento esquecido. O botão nativo de localização resolve:

bash
curl -X POST "https://us.api-wa.me/SUA_KEY/message/location-request" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999999999",
    "text": "Toque no botão para enviar sua localização de entrega 📍"
  }'

O cliente compartilha, e a mensagem de localização chega no webhook com latitude e longitude. Com as coordenadas você calcula a taxa de entrega por distância e confirma se o endereço está na área atendida. Peça o complemento (apartamento, bloco) em texto logo em seguida — a coordenada não traz isso.

Um detalhe: como a pessoa já conversou com você nas etapas anteriores, a conversa está "quente" e o botão aparece normalmente. Mensagens interativas mandadas como primeira mensagem para quem nunca falou com o número podem não aparecer — por isso, se o fluxo começar do seu lado, abra com texto.

Resumo, total e Pix

Com itens e endereço, mande o resumo. Texto com título e rodapé (/message/title) deixa o pedido legível, e o pagamento vai com a mensagem de Pix:

bash
curl -X POST "https://us.api-wa.me/SUA_KEY/message/text" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999999999",
    "text": "Pedido #4821\n1x Calabresa — R$ 52,90\n1x Refrigerante 2L — R$ 14,00\nEntrega — R$ 6,00\n\nTotal: R$ 72,90\nPrevisão: 40 a 50 min"
  }'

O envio do Pix — chave, valor e o que muda na conversão — está detalhado em cobrança por Pix pelo WhatsApp. Se preferir pagamento na entrega, troque a etapa por botões "Dinheiro" e "Cartão na entrega".

Status do pedido sem ninguém digitar

Cada mudança de status no seu sistema dispara uma mensagem curta:

javascript
const STATUS = {
  preparo:  'Seu pedido está sendo preparado 👨‍🍳',
  saiu:     'Seu pedido saiu para entrega 🛵 Previsão: 20 min.',
  entregue: 'Pedido entregue! Bom apetite 😋',
};

async function avisarStatus(telefone, status) {
  await fetch(`https://us.api-wa.me/${process.env.WAME_KEY}/message/text`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ to: telefone, text: STATUS[status] }),
  });
}

Três mensagens por pedido, para quem acabou de pedir, é exatamente o que o cliente espera receber. Não há risco em avisar — há risco em não avisar e receber cinco "cadê meu pedido?".

Entregador em tempo real

A API tem POST /{key}/message/live-location, que compartilha uma localização em tempo real a partir de latitude, longitude e uma legenda:

bash
curl -X POST "https://us.api-wa.me/SUA_KEY/message/live-location" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999999999",
    "latitude": -23.5614,
    "longitude": -46.6559,
    "caption": "Seu entregador está a caminho"
  }'

Na prática, há dois desenhos. Se o restaurante tem app de entregador com GPS, o sistema envia o ponto de partida e as atualizações. Se não tem, o mais simples é o entregador compartilhar a própria localização em tempo real pelo WhatsApp dele, e o bot só avisa "saiu para entrega" com o nome de quem vai levar. Para apresentar o entregador, um cartão de contato com /message/contact evita que o cliente ligue para a loja perguntando.

Avaliação por enquete

Uma hora depois do "entregue", uma enquete curta mede a experiência sem exigir que o cliente escreva:

bash
curl -X POST "https://us.api-wa.me/SUA_KEY/message/poll" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999999999",
    "name": "Como foi seu pedido hoje?",
    "values": ["Excelente", "Bom", "Poderia melhorar"],
    "selectableCount": 1
  }'

Quem responder "Poderia melhorar" merece contato humano no mesmo dia. O passo a passo de NPS e o que fazer com cada nota estão em pesquisa de satisfação com enquete.

Horário de pico: fila, não pressa

Sexta à noite, dezenas de conversas começam ao mesmo tempo. O desenho que aguenta:

  • Webhook responde 200 na hora e joga o evento numa fila. Processar dentro da requisição faz o evento ser reenviado e o cliente recebe o cardápio duas vezes.
  • Estado por cliente em Redis ou banco, não em memória: um deploy no meio do pico não pode apagar carrinhos.
  • Idempotência pelo id da mensagem, para descartar reentregas. Detalhes em webhook em produção.

Os envios da camada não oficial já saem com ritmo humano — online, "digitando…", envio —, então você não precisa inventar atrasos. E como o bot só responde quem escreveu, o volume do pico é o comportamento mais natural possível para o número.

Promoção: só para quem pediu

Aqui mora o único risco real do delivery. A tentação é pegar a base de quem já pediu e mandar "Hoje tem pizza em dobro!" para todo mundo. Mensagem idêntica para centenas de números que não pediram é o padrão clássico de spam: gera bloqueios, denúncias e, na WAME, esbarra no freio da própria API, que recusa com 429 o mesmo texto repetido para números demais em poucos minutos.

A WAME não apoia spam. Os caminhos que funcionam:

Seguindo isso, a taxa de bloqueio fica muito baixa para quem usa do jeito certo — e o número que recebe os pedidos continua no ar.

Recusar ligação no pico

Muito cliente liga em vez de escrever, e no pico ninguém atende. Recusar a ligação automaticamente e responder "Estamos atendendo por aqui, me diga seu pedido 👇" converte a ligação perdida em pedido. O fluxo está em recusar ligação automaticamente.

Conclusão

No delivery, a API não oficial do WhatsApp transforma o chat no próprio app de pedidos: cardápio em lista, endereço pelo botão de localização, total com Pix, status automático, entregador em tempo real e avaliação por enquete — tudo por endpoints simples e com custo fixo, mesmo no pico. O cuidado que segura o número é um só: responder quem chamou e mandar promoção apenas para quem pediu. Os endpoints de cada etapa estão na documentação.

Pronto para automatizar seu WhatsApp?

Crie sua conta gratuita e comece a enviar mensagens pela API em minutos.

Começar grátis

Perguntas frequentes

Dá para receber pedidos de delivery pelo WhatsApp de forma automática?+

Dá. Com a API não oficial da WAME, um bot recebe a mensagem pelo webhook, mostra o cardápio em mensagem de lista, confirma itens, pede o endereço com o botão nativo de localização e envia o total com Pix. O restaurante só vê o pedido pronto no sistema.

Como pego o endereço do cliente pelo WhatsApp sem ele digitar?+

Use POST /{key}/message/location-request. O cliente recebe um botão nativo para compartilhar a localização, e as coordenadas chegam no webhook. É mais preciso que endereço digitado e evita erro de número e complemento.

Posso mostrar a localização do entregador em tempo real?+

A API tem POST /{key}/message/live-location, que envia uma localização em tempo real a partir de latitude e longitude. O caso mais simples é o entregador compartilhar a própria localização pelo app; pela API, o sistema pode enviar o ponto de partida e as atualizações de status em texto.

Posso mandar promoção para todos os clientes do delivery?+

Só para quem pediu para receber. Promoção para a base inteira, sem opt-in, é o que mais gera denúncia e bloqueio. A WAME não apoia spam. Uma alternativa segura é um Canal do WhatsApp ou status, que só alcançam quem escolheu seguir ou salvou seu número.

O que acontece no horário de pico, quando chegam muitos pedidos juntos?+

Receba o webhook, responda 200 na hora e processe cada conversa numa fila. Os envios saem com ritmo humano automaticamente. Como o bot está respondendo quem escreveu primeiro, o volume de pico é o comportamento mais seguro possível para o número.

Continue lendo