Como Enviar DMs Automáticas no Instagram via API: Tutorial Completo 2026
A API do Instagram permite enviar DMs automáticas em resposta a interações do usuário: comentários, menções em Stories, reações e mensagens recebidas. Este tutorial cobre como configurar a API, os tipos de mensagem suportados e os casos de uso mais eficientes para vendas e atendimento.
Pré-requisitos: o que você precisa antes de começar
A API do Instagram para Messaging requer algumas configurações no Meta Business Manager antes de poder ser usada.
- Conta no Meta Business Manager verificada com empresa
- Perfil do Instagram convertido para Conta Comercial (não Criador de Conteúdo)
- App no Meta Business Manager com as permissões instagram_manage_messages e pages_manage_metadata
- Token de acesso de página com as permissões necessárias
- Webhook configurado para receber eventos de mensagem e menção
Tipos de DM que você pode enviar via API
A API do Instagram Messaging tem limitações em relação à API do WhatsApp. Nem todos os tipos de mensagem são suportados.
- Texto: mensagens de texto simples. Suportado.
- Imagem: envio de imagem via URL pública. Suportado.
- Vídeo: envio de vídeo via URL pública. Suportado.
- Áudio: envio de arquivo de áudio. Suportado.
- Arquivo genérico: não suportado na DM do Instagram.
- Botões interativos: suportado em alguns contextos via templates de resposta.
- Produtos do catálogo: suportado para perfis com Commerce Manager configurado.
Configurando o webhook para receber mensagens
O webhook do Instagram funciona de forma similar ao do WhatsApp: você registra um URL de callback no Meta Business Manager e recebe eventos quando o usuário interage.
Para DMs, subscribe ao campo messages no webhook. Para respostas de Stories, subscribe a messaging_referrals e messaging_story_replies.
- No Meta Business Manager, vá em Configurações do App > Webhooks
- Adicione o URL do seu webhook e o token de verificação
- Subscribe ao campo messages no objeto instagram
- Implemente o endpoint GET para verificação (mesmo padrão do WhatsApp)
- Implemente o endpoint POST para processar os eventos recebidos
- Teste enviando uma DM de uma conta de teste para o perfil
Enviando uma DM: exemplo de código em Node.js
Para enviar uma DM, faça um POST para a Graph API com o ID do usuário do Instagram como destinatário. O ID do usuário é obtido a partir do payload do webhook quando o usuário interage com seu perfil.
- Endpoint: POST https://graph.facebook.com/v19.0/me/messages
- Header: Authorization: Bearer {PAGE_ACCESS_TOKEN}
- Body: recipient.id (Instagram user ID), messaging_type, message.text ou message.attachment
- O user ID do Instagram é específico por app: salve-o no banco ao primeiro contato
- messaging_type deve ser RESPONSE para respostas a mensagens recebidas (janela de 24h)
- Para mensagens proativas, só é possível dentro da janela de 24h de interação recente
A janela de 24 horas: limitação importante
Diferente do WhatsApp, a API do Instagram Messaging não tem um sistema de templates para envio fora da janela de 24h. Você só pode enviar mensagens proativas para usuários que interagiram com seu perfil nas últimas 24 horas.
Após 24 horas sem interação, você não pode enviar DM pela API. O único caminho é o usuário iniciar nova interação (comentário, menção, DM).
Casos de uso de maior impacto para DM automático
Os casos de uso abaixo têm o melhor custo-benefício para empresas que usam Instagram para vendas.
- Resposta a comentários com palavra-chave: enviando DM com link do produto comentado
- Boas-vindas a novos seguidores: possível via webhook, mas avaliar o volume
- Resposta a menção nos Stories: usuário menciona sua marca e recebe DM automática
- Continuação de conversa iniciada no Direct: bot de atendimento com IA
- Qualificação de lead: perguntas automáticas após o primeiro contato via Direct
Perguntas frequentes
Posso enviar DM para qualquer seguidor a qualquer momento?
Não. A API do Instagram só permite enviar DMs dentro da janela de 24h após uma interação do usuário (DM recebida, comentário, menção em Story). Diferente do WhatsApp, não há equivalente a templates para envio proativo fora dessa janela.
Como obter o Instagram User ID de um seguidor?
O Instagram User ID é específico por app e só é obtido quando o usuário interage com seu perfil pelo Direct ou comenta em seus posts. Você recebe o ID no payload do webhook e deve salvá-lo no banco de dados vinculado ao perfil do contato.
A API do Instagram funciona com perfis pessoais?
Não. A API de Messaging do Instagram só está disponível para Contas Comerciais e de Criador vinculadas ao Meta Business Manager. Perfis pessoais não têm acesso à API.
Qual é o limite de DMs que posso enviar por dia via API?
A Meta não publica um limite fixo para DMs via API. Os limites são baseados na reputação do perfil e no histórico de uso. Perfis com alto engajamento orgânico e boa reputação têm limites mais generosos. Comportamentos de spam reduzem os limites automaticamente.
É possível enviar DMs em lote para múltiplos usuários ao mesmo tempo?
Tecnicamente sim, mas com cautela. Enviar DMs em massa para usuários que não iniciaram a conversa nas últimas 24h é bloqueado pela API. Para usuários ativos, respeite o rate limit e faça as chamadas de forma assíncrona com delay entre elas.