Formato dos webhooks da Instagram Graph API — mensagens DM, respostas a stories e menções recebidas pelo seu perfil
Quando você conecta seu perfil Instagram na Timely.ai, a plataforma registra um webhook no Facebook App associado à sua conta Instagram Business. A Meta passa a enviar eventos desse perfil para a Timely, que os normaliza e os repassa para os webhooks do seu workspace.Esta página documenta o formato bruto que a Meta envia — útil para depuração e para quem mantém integrações diretas.
Para receber eventos do Instagram via webhook, seu app na Meta precisa ter:
Permissões instagram_basic, instagram_manage_messages e pages_messaging
Página do Facebook vinculada ao perfil Instagram Business
Campo instagram selecionado nas assinaturas de webhook
A Timely.ai gerencia toda essa configuração automaticamente quando você conecta o Instagram pelo dashboard em Configurações → Canais → Instagram. Você só precisa desta documentação se estiver integrando diretamente com a Graph API.
A Meta usa dois formatos de envelope diferentes para o Instagram:
entry[].messaging — mensagens diretas, story replies, leituras e reações. Contém o array messaging com o remetente e destinatário.
entry[].changes — menções e atualizações de comentários. Contém o array changes com field e value.
Seu handler precisa verificar qual chave está presente antes de processar.
Node.js
app.post("/webhook/instagram", (req, res) => { const body = req.body; if (body.object !== "instagram") return res.sendStatus(404); for (const entry of body.entry) { if (entry.messaging) { for (const event of entry.messaging) { if (event.message) handleDM(event); if (event.reaction) handleReaction(event); } } if (entry.changes) { for (const change of entry.changes) { if (change.field === "mentions") handleMention(change.value); } } } res.sendStatus(200);});