---
title: "Ligação pelo WhatsApp via API não oficial: guia prático"
description: "Como fazer, atender, recusar e encerrar ligações de WhatsApp pela API não oficial, tocar áudio na chamada e gerar link de chamada, com exemplos em cURL."
url: "https://api-wa.me/blog/fazer-ligacao-whatsapp-api-nao-oficial"
language: "pt-BR"
og:type: "article"
og:site_name: "WAME API"
---

[Início](https://api-wa.me/)/[Blog da API do WhatsApp](https://api-wa.me/blog)/Ligação pelo WhatsApp via API não oficial: fazer, atender e tocar áudio

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

Compartilhar

# Ligação pelo WhatsApp via API não oficial: fazer, atender e tocar áudio

Como fazer, atender, recusar e encerrar ligações de WhatsApp pela API não oficial, tocar áudio na chamada e gerar link de chamada, com exemplos em cURL.

Copiar para LLM[Ver como Markdown](https://api-wa.me/blog/fazer-ligacao-whatsapp-api-nao-oficial.md)

**Pela API não oficial do WhatsApp você faz ligação de voz com um `POST /{key}/call`, atende ou recusa chamadas recebidas, encerra a chamada e ainda toca um áudio dentro da ligação ativa — tudo pelo mesmo número conectado por QR Code, sem aprovação da Meta.** Isso abre casos como confirmação por voz, lembrete para quem pediu e uma URA simples, sem contratar telefonia.

Este guia mostra cada endpoint com exemplo em cURL, um fluxo completo de confirmação por voz e os cuidados para que ligação automatizada não vire motivo de denúncia.

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

## Oficial vs não oficial: são coisas diferentes

Já temos um artigo sobre a [WhatsApp Calling API](https://api-wa.me/blog/whatsapp-calling-api-chamada-voz-video), o recurso de chamadas da Cloud API oficial da Meta. Lá, há requisitos de habilitação na conta e regras de cobrança da Meta.

Na camada não oficial, a lógica é outra: a instância está conectada como um **aparelho** do número, então liga como o app ligaria. Na prática:

|  | Não oficial (WAME) | Calling API oficial |
| --- | --- | --- |
| Aprovação da Meta | Não precisa | Precisa |
| Número | O que você já usa, conectado por QR/pareamento | Número registrado na Cloud API |
| Custo | Plano fixo por instância | Regras de cobrança da Meta |
| Tocar áudio na chamada | Sim, por endpoint | Depende da sua infraestrutura de mídia |

Se você já usa a API oficial e quer chamadas com garantia formal da Meta, a Calling API é o caminho — e está na mesma plataforma. Para o restante, a não oficial resolve com muito menos atrito.

## Antes de tudo: permissão de chamadas

Ligações exigem que a **permissão de chamadas esteja habilitada na instância**. Sem ela, o `POST /call` não inicia a chamada. Confira a configuração no painel e na [documentação](https://api-wa.me/docs) antes de testar.

Todos os endpoints abaixo usam a base `https://us.api-wa.me/SUA_KEY/` — a `key` na URL já autentica a instância.

## Fazer uma ligação

bash

Copiar

```
curl -X POST "https://us.api-wa.me/SUA_KEY/call" \
  -H "Content-Type: application/json" \
  -d '{ "to": "5511999999999" }'
```

O número vai no formato internacional, só dígitos. A resposta traz a identificação da chamada, que você usa nos próximos passos (tocar áudio, encerrar). Guarde esse identificador.

## Tocar um áudio dentro da chamada

Esta é a parte que transforma ligação em automação. Com a chamada ativa, envie um áudio para ser tocado para quem atendeu:

bash

Copiar

```
curl -X POST "https://us.api-wa.me/SUA_KEY/call/ID_DA_CHAMADA/audio" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://seusite.com.br/audios/confirmacao-consulta.mp3" }'
```

O áudio pode ir por `url`, `base64` ou `file`. Para mensagens personalizadas ("Olá, Carla, sua consulta é quinta às 14h"), você pode gerar o arquivo com um serviço de síntese de voz e mandar em `base64`, sem precisar hospedar.

Dicas que fazem diferença:

- **Curto.** Quinze a trinta segundos. Ligação longa de robô é desligada no meio.
- **Identifique-se no começo.** "Aqui é da Clínica Sorriso" nos primeiros segundos.
- **Diga o que a pessoa deve fazer depois.** "Responda SIM na conversa para confirmar."

A chamada também tem o caminho de volta: depois de atendida, a voz de quem está do outro lado chega em tempo real pelo Socket.IO da instância (evento `call-audio`), e você pode responder com áudio ao vivo pelo evento `call-audio-in`. É o que permite colocar uma IA para conversar na ligação — o passo a passo está em [IA para atender ligação no WhatsApp](https://api-wa.me/blog/ia-atender-ligacao-whatsapp-api).

## Encerrar a chamada

Quando o áudio terminar, encerre:

bash

Copiar

```
curl -X POST "https://us.api-wa.me/SUA_KEY/call/end" \
  -H "Content-Type: application/json" \
  -d '{ "callId": "ID_DA_CHAMADA", "peerJid": "[email protected]" }'
```

## Atender e recusar ligações recebidas

Quando alguém liga para o número, a instância recebe um **evento de chamada no webhook**. No formato `meta` ele chega com `field: "call"` e uma lista em `value.calls`, e cada item traz `id`, `from` (só dígitos), `from_jid` (o JID completo), `status` (`offer` quando a chamada está chegando) e `is_video`. Para atender ou recusar, use o `id` e o **`from_jid`**: é o JID completo que a API precisa para falar com o aparelho de quem ligou.

bash

Copiar

```
# Atender
curl -X POST "https://us.api-wa.me/SUA_KEY/call/accept" \
  -H "Content-Type: application/json" \
  -d '{ "callId": "ID_DA_CHAMADA", "callFrom": "[email protected]" }'

# Recusar
curl -X DELETE "https://us.api-wa.me/SUA_KEY/call/ID_DA_CHAMADA/[email protected]"
```

Atender por API faz sentido quando você vai tocar uma mensagem (horário de funcionamento, aviso de que o atendimento é por texto). O caso mais comum, porém, é **recusar e responder por texto** — número de atendimento que recebe dezenas de ligações e não tem quem atenda. Esse fluxo tem um guia só dele: [recusar ligação automaticamente e responder por mensagem](https://api-wa.me/blog/recusar-ligacao-whatsapp-automatico-api).

## Link de chamada: deixe o cliente ligar

Nem sempre é você quem deve ligar. Às vezes é melhor oferecer um **link de chamada** para o cliente entrar quando puder — uma consultoria marcada, um suporte por voz agendado.

Gerar o link, sem enviar para ninguém (para colocar num e-mail ou no seu sistema):

bash

Copiar

```
curl -X POST "https://us.api-wa.me/SUA_KEY/message/create-call-link" \
  -H "Content-Type: application/json" \
  -d '{ "type": "audio" }'
```

Ou enviar direto na conversa, com uma legenda:

bash

Copiar

```
curl -X POST "https://us.api-wa.me/SUA_KEY/message/call-link" \
  -H "Content-Type: application/json" \
  -d '{ "to": "5511999999999", "type": "audio", "caption": "Nossa conversa de quinta, 14h. É só tocar aqui." }'
```

É o formato mais respeitoso de todos: a pessoa decide a hora.

## Fluxo completo: confirmação de consulta por voz

Um exemplo de ponta a ponta, em Node.js com `fetch`. O cliente pediu lembrete por ligação no agendamento — isso fica registrado no seu sistema.

javascript

Copiar

```
const API = 'https://us.api-wa.me/SUA_KEY';
const post = (path, body) => fetch(`${API}${path}`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify(body),
}).then((r) => r.json());

async function confirmarPorVoz(agendamento) {
  // Só liga para quem pediu lembrete por ligação
  if (!agendamento.aceitaLigacao) return;

  const chamada = await post('/call', { to: agendamento.telefone });
  const callId = chamada.callId ?? chamada.id; // confira o campo na documentação

  // Na prática, aguarde o evento de chamada atendida no webhook
  // antes de tocar o áudio.
  await post(`/call/${callId}/audio`, { url: agendamento.audioUrl });

  // Reforço por texto: a confirmação acontece na conversa
  await post('/message/text', {
    to: agendamento.telefone,
    text: `Oi, ${agendamento.nome}! Sua consulta é ${agendamento.quando}. Responda SIM para confirmar ou REMARCAR.`,
  });
}
```

Repare que a confirmação em si acontece **por texto**. A ligação chama atenção; a resposta fica registrada na conversa, onde o seu webhook consegue ler. Esse híbrido costuma funcionar melhor do que tentar capturar resposta por voz.

## URA simples

Com atender + tocar áudio + encerrar, dá para montar uma URA básica: atende, toca "nosso atendimento é por mensagem, já te enviamos o menu" e encerra, seguido de uma [mensagem de lista](https://api-wa.me/blog/api-nao-oficial-whatsapp-recursos-exemplos) com as opções. Para a maioria dos negócios, é mais útil do que menu por tecla: a pessoa escolhe tocando, e o atendimento continua no texto, onde o seu [bot](https://api-wa.me/blog/criar-bot-whatsapp-api-nao-oficial) já trabalha. Se preferir que a pessoa fale o que precisa em vez de ouvir opções, veja a [URA inteligente com IA](https://api-wa.me/blog/ura-inteligente-whatsapp-ligacao).

## O que não fazer com ligação automatizada

Ligação é o canal mais invasivo que existe. Uma mensagem espera; uma chamada interrompe. Por isso:

- **Nunca ligue para lista.** Ligação automatizada em sequência para quem não pediu é robocall, é denunciada rápido e derruba número. A WAME não apoia esse uso.
- **Só com consentimento específico.** "Aceito receber lembrete por ligação" é diferente de "aceito WhatsApp".
- **Respeite horário.** Horário comercial do destinatário, sem exceção.
- **Uma tentativa.** Não atendeu? Mande texto. Não ligue de novo em seguida.
- **Nada de fan-out.** Muitas chamadas para números diferentes em pouco tempo é exatamente o padrão que o anti-spam procura — veja [o que derruba um número](https://api-wa.me/blog/api-whatsapp-nao-oficial-bane-o-que-derruba-numero).

Usada assim — pouca, combinada, útil —, ligação pela API tem risco muito baixo e resolve o que texto sozinho não resolve.

## Conclusão

A API não oficial do WhatsApp da WAME trata ligação como qualquer outro recurso: um endpoint para ligar, outros para atender, recusar, encerrar e tocar áudio, mais o link de chamada para o cliente escolher a hora. Sem aprovação da Meta e dentro do plano por instância. Use para quem pediu — confirmação, lembrete, URA simples — e deixe a conversa por texto registrar a resposta. Todos os parâmetros estão na [documentação](https://api-wa.me/docs).

### Pronto para automatizar seu WhatsApp?

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

[Começar grátis](https://portal.api-wa.me/sign-up)

## Perguntas frequentes

Dá para fazer ligação de WhatsApp pela API não oficial?+

Sim. Com a permissão de chamadas habilitada na instância, um POST em /{key}/call com o número em 'to' inicia uma ligação de voz. A API também permite atender, recusar, encerrar e tocar um áudio dentro da chamada ativa.

Qual a diferença para a WhatsApp Calling API oficial?+

A Calling API oficial é um recurso da Cloud API da Meta, com requisitos e regras de cobrança próprios. Na não oficial, a instância liga como um aparelho conectado ao número, sem aprovação da Meta, e o custo é o plano fixo por instância.

Posso tocar uma mensagem gravada durante a ligação?+

Sim. Com a chamada ativa, faça POST em /{key}/call/{callId}/audio enviando o áudio por url, base64 ou file. É a base para confirmação por voz e URA simples.

Posso usar a API para ligar automaticamente para uma lista de contatos?+

Não deve. Ligação não solicitada em sequência para lista é um dos comportamentos mais denunciados e a WAME não apoia esse uso. Ligações automatizadas fazem sentido para quem pediu: confirmação, lembrete combinado, retorno agendado.

Como atender ou recusar ligações recebidas?+

O evento de chamada recebida chega no webhook da instância (field call, com a lista em value.calls). Com o id da chamada e o from\_jid de quem ligou, use POST /{key}/call/accept para atender ou DELETE /{key}/call/{id}/{from} para recusar.

## Continue lendo

[### Agente de voz no WhatsApp: latência, interrupção (barge-in) e silêncio

Como deixar um agente de voz no WhatsApp natural: latência, streaming, detecção de fala, interrupção (barge-in), silêncio e eco, com exemplos em Node.js.](https://api-wa.me/blog/agente-voz-whatsapp-latencia-interrupcao)[### IA para atender ligação no WhatsApp pela API: como montar um agente de voz

Como montar um agente de voz que atende ligações no WhatsApp pela API: webhook, áudio em tempo real por Socket.IO, transcrição, IA, voz sintética e handoff.](https://api-wa.me/blog/ia-atender-ligacao-whatsapp-api)[### IA que liga para confirmar agendamento no WhatsApp (e entende sim, não e remarcar)

IA que liga pelo WhatsApp para confirmar consultas e serviços: entende sim, não e remarcar, atualiza a agenda e cai para mensagem se ninguém atender.](https://api-wa.me/blog/ia-ligar-confirmar-agendamento-whatsapp)

[Voltar ao blog](https://api-wa.me/blog)

## Structured data

```json
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "WAME API",
  "alternateName": "API Oficial e Não Oficial de WhatsApp, Instagram, Messenger e Telegram",
  "url": "https://api-wa.me",
  "inLanguage": "pt-BR",
  "publisher": {
    "@id": "https://api-wa.me/#organization",
    "@type": "Organization",
    "name": "WAME API",
    "url": "https://api-wa.me"
  }
}
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://api-wa.me/#organization",
  "name": "WAME API",
  "alternateName": [
    "WAME",
    "Wame API",
    "wame.api.br",
    "api-wa.me"
  ],
  "url": "https://api-wa.me",
  "logo": {
    "@type": "ImageObject",
    "url": "https://api-wa.me/images/web-app-manifest-512x512.png",
    "width": 512,
    "height": 512
  },
  "disambiguatingDescription": "WAME API é uma empresa brasileira de software, fundada em 2017 e parceira oficial da Meta (Meta Business Partner), que fornece APIs de WhatsApp, Instagram Direct e Messenger. Não tem relação com o wa.me, que é o encurtador de links operado pela WhatsApp LLC.",
  "identifier": {
    "@type": "PropertyValue",
    "propertyID": "INPI-BR",
    "name": "Pedido de registro de marca (INPI, classe NCL 42)",
    "value": "944724159"
  },
  "foundingDate": "2017",
  "slogan": "Parceira Oficial da Meta — WhatsApp, Instagram, Messenger e Telegram numa instância só. Desde 2017.",
  "description": "Plataforma brasileira e Parceira Oficial da Meta (Meta Business Partner) para as APIs oficiais de WhatsApp (Cloud API), Instagram Direct e Messenger — os três numa única instância, com os mesmos endpoints e um único formato de webhook. Também oferece a API não oficial via QR Code e o Telegram, na mesma plataforma. No mercado desde 2017, com mais de 50 mil instâncias criadas, 99,9% de uptime e suporte humano 24/7 em português. SDKs oficiais para Node.js/TypeScript e PHP.",
  "knowsAbout": [
    "WhatsApp Cloud API oficial (Meta)",
    "API oficial de Instagram (Direct)",
    "API oficial de Messenger",
    "API multicanal Meta",
    "Meta Business Partner",
    "WhatsApp API",
    "API não oficial de WhatsApp",
    "automação de WhatsApp",
    "números virtuais",
    "webhooks"
  ],
  "sameAs": [
    "https://github.com/wame-api",
    "https://www.linkedin.com/company/wameapi",
    "https://www.instagram.com/wame.api/",
    "https://www.youtube.com/@wameapi"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "customer support",
    "url": "https://api-wa.me/contact",
    "availableLanguage": [
      "Portuguese"
    ]
  }
}
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Ligação pelo WhatsApp via API não oficial: fazer, atender e tocar áudio",
  "description": "Como fazer, atender, recusar e encerrar ligações de WhatsApp pela API não oficial, tocar áudio na chamada e gerar link de chamada, com exemplos em cURL.",
  "image": "https://api-wa.me/blog/fazer-ligacao-whatsapp-api-nao-oficial/opengraph-image",
  "datePublished": "2026-09-28",
  "dateModified": "2026-09-28",
  "author": {
    "@type": "Person",
    "name": "Raphael Serafim",
    "url": "https://github.com/raphaelvserafim",
    "sameAs": [
      "https://github.com/raphaelvserafim"
    ]
  },
  "publisher": {
    "@type": "Organization",
    "name": "api-wa.me",
    "logo": {
      "@type": "ImageObject",
      "url": "https://api-wa.me/images/screenshot.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://api-wa.me/blog/fazer-ligacao-whatsapp-api-nao-oficial"
  },
  "keywords": "api whatsapp não oficial, api não oficial whatsapp, ligação whatsapp api, fazer ligação whatsapp pela api, chamada de voz whatsapp api, ura whatsapp, link de chamada whatsapp",
  "inLanguage": "pt-BR"
}
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://api-wa.me"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog da API do WhatsApp",
      "item": "https://api-wa.me/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Ligação pelo WhatsApp via API não oficial: fazer, atender e tocar áudio",
      "item": "https://api-wa.me/blog/fazer-ligacao-whatsapp-api-nao-oficial"
    }
  ]
}
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Dá para fazer ligação de WhatsApp pela API não oficial?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Sim. Com a permissão de chamadas habilitada na instância, um POST em /{key}/call com o número em 'to' inicia uma ligação de voz. A API também permite atender, recusar, encerrar e tocar um áudio dentro da chamada ativa."
      }
    },
    {
      "@type": "Question",
      "name": "Qual a diferença para a WhatsApp Calling API oficial?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A Calling API oficial é um recurso da Cloud API da Meta, com requisitos e regras de cobrança próprios. Na não oficial, a instância liga como um aparelho conectado ao número, sem aprovação da Meta, e o custo é o plano fixo por instância."
      }
    },
    {
      "@type": "Question",
      "name": "Posso tocar uma mensagem gravada durante a ligação?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Sim. Com a chamada ativa, faça POST em /{key}/call/{callId}/audio enviando o áudio por url, base64 ou file. É a base para confirmação por voz e URA simples."
      }
    },
    {
      "@type": "Question",
      "name": "Posso usar a API para ligar automaticamente para uma lista de contatos?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Não deve. Ligação não solicitada em sequência para lista é um dos comportamentos mais denunciados e a WAME não apoia esse uso. Ligações automatizadas fazem sentido para quem pediu: confirmação, lembrete combinado, retorno agendado."
      }
    },
    {
      "@type": "Question",
      "name": "Como atender ou recusar ligações recebidas?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "O evento de chamada recebida chega no webhook da instância (field call, com a lista em value.calls). Com o id da chamada e o from_jid de quem ligou, use POST /{key}/call/accept para atender ou DELETE /{key}/call/{id}/{from} para recusar."
      }
    }
  ]
}
```
