Uma automação pode estar 100% pronta no código e ainda não funcionar porque a trava não é técnica, é de permissão da plataforma. Construí um agente que lê comentário, responde publicamente e tenta enviar mensagem privada no Instagram — as duas primeiras funcionam, a terceira trava com o erro “Application does not have the capability”, falta de revisão formal da Meta.
Isso não é exclusivo do Instagram. É um padrão comum: uma parte da automação pede acesso a algo sensível (mensagem privada, dado financeiro, publicação em nome de outro), e a plataforma exige que um humano da empresa dona da API aprove esse acesso antes de liberar, mesmo com o código certo.
O que funcionou de verdade nessa automação?
Duas das três etapas funcionaram sem barreira nenhuma. Ler os comentários de um post (`GET /{media-id}/comments`) funcionou de primeira. Responder um comentário publicamente (`POST /{comment-id}/replies`) também funcionou, e foi testado ao vivo em comentários reais — a resposta apareceu publicada normalmente.
Onde exatamente ela travou?
A terceira etapa — enviar uma mensagem privada em resposta ao comentário (o recurso chamado “Private Reply”, via `POST /{ig-id}/messages`) — retornou o erro de código 3: “Application does not have the capability”. O token de acesso já tinha as permissões `instagram_manage_messages` e `instagram_manage_comments` concedidas em nível básico, mas isso não bastou.
Por que a Meta bloqueia isso mesmo com o código certo?
Porque enviar mensagem privada em nome de uma conta empresarial é uma permissão de acesso avançado, e acesso avançado exige passar pelo App Review da Meta — um processo em que a equipe da plataforma analisa o uso pedido, geralmente com descrição do caso de uso e gravação de tela mostrando a função funcionando.
Uma tentativa de contorno que não funciona: inscrever a página no campo de eventos de mensagem (`subscribed_apps`) direto, sem passar pela revisão. Isso retorna outro erro (código 200), porque esse caminho pertence ao Messenger do Facebook, não ao Instagram — são sistemas de permissão diferentes por baixo.
O que fazer enquanto a revisão da plataforma não sai?
A saída foi separar o que já funciona do que depende de terceiro: publicar a resposta automática no comentário — que já estava liberada — sem prometer, no texto dessa resposta, que uma mensagem privada viria em seguida. Prometer algo que ainda depende de aprovação externa é o tipo de promessa que o próprio processo pode não cumprir no prazo que a pessoa espera.
Em paralelo, a revisão formal da permissão pode ser solicitada — ela não bloqueia o resto da automação enquanto está em análise, só a etapa específica de mensagem privada. Um agente de resposta automática que já lê e responde comentário sozinho está descrito em como transformar uma tabela de preço em orçamento automático e em como montar um atendente que agenda horário sozinho.
Em resumo
Código pronto não é o mesmo que automação liberada: quando a ação envolve dado sensível de terceiro — como mensagem privada em nome de uma empresa —, a plataforma dona da API exige revisão humana antes, independente de o código estar certo. A saída não é insistir tentando contornar: é separar o que já funciona hoje do que depende de aprovação externa, e não prometer o que ainda não foi liberado.
Deixe um comentário