API de Instagram e Messenger na mesma API do WhatsApp: uma instância, um padrão
API de Instagram Direct e Messenger oficiais na mesma API do WhatsApp: uma instância, um padrão Meta, o campo provider escolhe o canal. Sem criar app na Meta.
Você não precisa manter três integrações para atender no WhatsApp, no Instagram Direct e no Messenger. Na WAME, os três canais oficiais vivem na mesma instância e falam o mesmo padrão (o envelope da Meta). Para trocar de canal, você muda um único campo: provider. Nada de criar app na Meta, montar três webhooks ou aprender três SDKs.
Se o seu time já usa a API de WhatsApp e agora precisa responder também no Direct e no Messenger, este artigo mostra por que isso pode ser uma extensão do que você já tem — e não um projeto novo do zero.
O problema: 3 canais quase sempre viram 3 integrações
Quando você decide atender oficialmente no Instagram Direct e no Messenger, o caminho tradicional é doloroso:
- Três apps (ou permissões) diferentes no Meta for Developers, cada um com seu processo de revisão.
- Três fluxos de autenticação e token, com System User, permissões e renovação manual para cada produto.
- Três formatos de payload para aprender — o corpo de envio e o webhook do Instagram não são iguais aos do Messenger, que por sua vez diferem do WhatsApp.
- Três webhooks para configurar, validar (verify token, assinatura HMAC) e manter no ar.
Na prática, cada canal novo é um mini-projeto: mais código, mais pontos de falha, mais superfície para manter. E, quando a Meta muda algo, você atualiza em três lugares. É aí que a maioria dos times desiste do multicanal — ou entrega uma integração frágil.
A solução WAME: 1 instância, 1 padrão
A WAME é Meta Business Partner (parceira oficial desde 2017, com mais de 50 mil instâncias ativas). Isso muda o ponto de partida: a infraestrutura oficial já existe e é mantida pela WAME. Você não precisa:
- ❌ Criar um app no Meta for Developers.
- ❌ Virar Tech Provider (Solution Partner) para operar os canais.
- ❌ Montar webhook por produto, gerar e renovar token na mão.
Em vez disso, você conecta suas contas pelo Embedded Signup oficial da Meta — o mesmo fluxo seguro (OAuth + token criptografado) que já usa para o WhatsApp — e passa a ter WhatsApp, Instagram Direct e Messenger na mesma instância. Um único padrão de envio e de recebimento, no formato Meta, para os três.
Quer entender a credencial por trás disso? Veja WAME é parceira oficial da Meta. Para a visão geral do multicanal, temos a página API oficial de Instagram e Messenger.
A ideia central: você aprende um padrão e ganha três canais. O
provideré o que decide para onde a mensagem vai.
Enviar nos 3 canais: mesmo método, só muda o provider
O envio é idêntico nos três canais. O provider é whatsapp por padrão; para Instagram Direct você usa instagram e para Messenger, messenger. Isso vale para os tipos suportados: text, template, button, audio, image, video e document.
Com o SDK Node/TypeScript (npm i @raphaelvserafim/client-api-whatsapp):
import { Wame, TypeMessage } from '@raphaelvserafim/client-api-whatsapp';
const wa = new Wame({ server: "https://us.api-wa.me", key: "YOUR_KEY" });
// WhatsApp (padrão)
await wa.message.send({ type: TypeMessage.TEXT, body: { to: "5511999999999", text: "Oi pelo WhatsApp" } });
// Instagram — mesmo método, só o provider
await wa.message.send({ type: TypeMessage.TEXT, body: { to: "IG_USER_ID", text: "Oi pelo Instagram", provider: "instagram" } });
// Messenger
await wa.message.send({ type: TypeMessage.TEXT, body: { to: "PSID", text: "Oi pelo Messenger", provider: "messenger" } });
A classe é Wame (WhatsApp é um alias depreciado). Se o seu fluxo é majoritariamente Instagram, dá para fixar o canal no client: new Wame({ server, key, provider: "instagram" }). A referência completa do SDK TypeScript está em /docs/sdk/ts.
Com PHP (composer require raphaelvserafim/client-php-api-wa-me):
use Api\Wame\Wame;
use Api\Wame\Provider;
$wa = new Wame(['server' => 'https://us.api-wa.me', 'key' => 'YOUR_KEY']);
$wa->message->sendText('5511999999999', 'Oi pelo WhatsApp');
$wa->message->sendText('IG_USER_ID', 'Oi pelo Instagram', Provider::INSTAGRAM);
$wa->message->sendText('PSID', 'Oi pelo Messenger', Provider::MESSENGER);
E, se você prefere HTTP puro, é o mesmo endpoint com o provider no corpo:
curl -X POST "https://us.api-wa.me/YOUR_KEY/message/text" \
-H "Content-Type: application/json" \
-d '{"to":"5511999999999","text":"Olá!","provider":"instagram"}'
A key da instância vai no path e a base é https://us.api-wa.me. Repare no destinatário: no WhatsApp é o telefone; no Instagram é o IG_USER_ID; no Messenger é o PSID. O resto do contrato é o mesmo.
Receber nos 3 canais: mesmo envelope de webhook
O recebimento segue a mesma lógica. Você configura o webhook uma vez, com um PUT na instância, e passa a receber os três canais no formato Meta:
curl -X PUT "https://us.api-wa.me/YOUR_KEY/instance" \
-H "Content-Type: application/json" \
-d '{"allowWebhook":true,"webhookFormat":"meta","webhookMessage":"https://seu-servidor/webhook"}'
A partir daí, todas as mensagens chegam no mesmo envelope. O campo de topo provider diz de qual canal veio — então um único handler resolve os três:
{
"object": "wame",
"provider": "instagram",
"instance": "YOUR_INSTANCE_ID",
"official": true,
"entry": [{ "id": "...", "changes": [{ "field": "messages", "value": {
"messaging_product": "whatsapp",
"metadata": { "display_phone_number": "5511999990000", "phone_number_id": "YOUR_INSTANCE_ID" },
"contacts": [{ "profile": { "name": "Fulano" }, "wa_id": "5511988887777" }],
"messages": [{ "from": "5511988887777", "id": "wamid.XXX", "timestamp": "1700000000", "type": "text", "text": { "body": "Olá!" } }]
}}]}]
}
Para uma mensagem do Messenger, o mesmo JSON chega com "provider": "messenger"; para o WhatsApp, com "provider": "whatsapp". A estrutura interna (entry, changes, messages) é a que você já conhece da Cloud API — por isso, se seu backend já processa webhooks de WhatsApp, ele já entende Instagram e Messenger com pouquíssima adaptação. Os detalhes e os tipos de evento estão em /docs/webhooks.
O
providerno topo é a única ramificação que o seu código precisa. Roteie por ele e pronto: um envelope, três canais.
Quando recomendar essa abordagem
Uma instância com um padrão faz sentido especialmente quando:
- Você já usa a API de WhatsApp da WAME e quer adicionar Instagram Direct e Messenger sem reescrever a integração.
- Seu atendimento é omnichannel: o cliente inicia no Direct, migra para o WhatsApp, volta pelo Messenger — e você quer tudo no mesmo backend, com histórico coerente.
- Você constrói para clientes (agência, SaaS, chatbot) e não quer manter três integrações por conta, nem virar Tech Provider.
- Você quer reduzir manutenção: um formato, um webhook, um SDK — menos código para quebrar quando a Meta atualiza algo.
Quando não compensa? Se o seu produto vive de um canal só e não há intenção de multicanal no curto prazo, você pode começar apenas pelo WhatsApp — e habilitar os outros canais depois, sem trocar de arquitetura, já que o padrão é o mesmo.
Vale lembrar que a WAME oferece oficial (Cloud API) e não oficial (QR Code) na mesma plataforma. Para os canais da Meta com o padrão descrito aqui — Instagram Direct e Messenger oficiais — o caminho é a conexão oficial via Embedded Signup.
Comece agora
Se você chegou até aqui, a mensagem é simples: não construa três integrações. Conecte suas contas de Instagram e Messenger à mesma instância de WhatsApp que você já domina, envie mudando só o provider e receba tudo no mesmo envelope. Com 99,9% de uptime, suporte 24/7 em português e planos a partir de R$28,99/mês, dá para colocar os três canais no ar hoje.
Crie sua instância e conecte os canais no portal da WAME. Depois, use a referência do SDK TypeScript e a documentação de webhooks para plugar no seu backend — e a página API oficial de Instagram e Messenger para os detalhes de cada canal.
Um padrão. Uma instância. Três canais oficiais da Meta.
Pronto para automatizar seu WhatsApp?
Crie sua conta gratuita e comece a enviar mensagens pela API em minutos.
Começar grátisPerguntas frequentes
Preciso criar um app no Meta for Developers para usar a API de Instagram e Messenger?+
Não. A WAME é Meta Business Partner e mantém o app aprovado, o webhook central e a renovação de token. Você conecta suas contas pelo fluxo oficial Embedded Signup e usa Instagram Direct, Messenger e WhatsApp na mesma instância, sem virar Tech Provider.
Como escolho entre WhatsApp, Instagram e Messenger no envio?+
É o mesmo método de envio nos três canais. Você só muda o campo provider no corpo da requisição: whatsapp (padrão), instagram ou messenger. Não há endpoints diferentes nem SDKs separados para cada canal.
O webhook de recebimento é diferente para cada canal?+
Não. Os três canais chegam no mesmo envelope de webhook no formato Meta. O campo provider indica de qual canal veio a mensagem (instagram, messenger ou whatsapp), então você trata tudo com um único handler.
As APIs de Instagram e Messenger são oficiais?+
Sim. A conexão usa a infraestrutura oficial da Meta via Embedded Signup, com OAuth e token criptografado. Você é dono das contas, vê os canais conectados e pode revogar o acesso quando quiser.
Quanto custa usar os três canais na WAME?+
Os planos começam a partir de R$28,99/mês. Você usa WhatsApp, Instagram Direct e Messenger na mesma instância e no mesmo padrão, com suporte 24/7 em português e 99,9% de uptime.
Continue lendo
API não oficial do WhatsApp: recursos que a oficial não tem (com exemplos)
Recursos da API não oficial do WhatsApp (QR Code): botões, listas, enquete, figurinha, reação, grupos, status e Pix — com exemplos em cURL e Node.js.
Bot de IA no WhatsApp, Instagram e Messenger com n8n (template pronto)
Monte um bot de IA (GPT/OpenAI) que responde no WhatsApp, Instagram e Messenger num único fluxo do n8n. Template pronto WAME, com memória por contato.
WAME API na prática: seu primeiro envio no WhatsApp, Instagram e Messenger em 10 minutos
Quickstart da WAME API: crie a instância, conecte e faça o primeiro envio no WhatsApp, Instagram e Messenger com SDK Node, PHP ou cURL em 10 minutos.