Este documento explica como fazer chamadas bem-sucedidas ao serviço da Messenger API for Instagram (também conhecida como API de Mensagens do Instagram nas Políticas do Desenvolvedor) usando seu app e como obter mensagens da conta profissional do Instagram. Para acompanhar este guia, presumimos que você já conheça a Graph API e o Login do Facebook.
Você precisará do seguinte:
MODERATE
na Página Desenvolvedores que são iniciantes na plataforma do Messenger
Desenvolvedores com experiência na plataforma do Messenger
Você pode usar o Login do Facebook ou o Login para Empresas do Instagram para solicitar aos usuários do app as permissões necessárias.
O fluxo do Login para Empresas do Instagram permite que uma pessoa faça o seguinte durante o fluxo de login:
Para implementar o Login para Empresas do Instagram, consulte primeiro o guia Business Login for Instagram e depois retorne a esta página.
Verifique sua conexão à conta de desenvolvedor do Facebook. Depois, acesse o app e dispare o modal de Login do Facebook. Lembre-se: sua conta de desenvolvedor do Facebook precisa ter a capacidade de executar tarefas, com acesso de nível "Moderado" ou superior, na Página do Facebook conectada à conta do Instagram que você deseja consultar.
Depois de acionar o modal, clique em OK para conceder ao app as permissões instagram_basic
, instagram_manage_messages
e pages_manage_metadata
.
A API retornará um token de acesso do usuário. Capture o token para que o app possa usá-lo nas consultas seguintes. Se você estiver usando o Explorador da Graph API, ele será capturado automaticamente e exibido para referência no campo Token de acesso:
Consulte o ponto de extremidade GET /me/accounts
. Isso é convertido para GET /{user-id}/accounts
, que executa um GET no nó do usuário do Facebook, com base no seu token de acesso.
curl -i -X GET \ "https://graph.facebook.com/v9.0/me/accounts?access_token={access-token}"
Essa ação deve retornar uma coleção de Páginas do Facebook nas quais o usuário atual pode executar as tarefas MANAGE
, CREATE_CONTENT
, MODERATE
ou ADVERTISE
:
{ "data": [ { "access_token": "EAAJjmJ...", "category": "App Page", "category_list": [ { "id": "2301", "name": "App Page" } ], "name": "Metricsaurus", "id": "134895793791914", // capture the Page ID "tasks": [ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT", "MANAGE" ] } ] }
Capture a identificação da Página do Facebook conectada à conta do Instagram que você quer consultar. Tenha em mente que os usuários do app podem ter a capacidade de executar tarefas em várias Páginas. Por isso, em algum momento, você precisará usar uma lógica que possa determinar a identificação da Página correta que deve ser capturada (ou criar uma interface do usuário em que os usuários do app possam identificar a Página correta para você).
Para executar várias chamadas à API de Mensagens do Instagram, será necessário usar o token de acesso à Página (PAT, pelas iniciais em inglês) associado da conta profissional do Instagram em questão que foi concedido anteriormente por meio do fluxo de login do Facebook.
Envie uma solicitação GET
para o ponto de extremidade /{page-id}
usando o token de acesso do usuário. Por exemplo:
curl -i -X GET "https://graph.facebook.com/{page-id}? fields=access_token& access_token={user-access-token}"
Se o processo for bem-sucedido, o app obterá esta resposta:
{ "access_token":"{page-access-token}", "id":"{page-id}" }
Para gerar um token de acesso à Página de longa duração, siga este guia.
Essa ferramenta será implantada para todos os desenvolvedores nas próximas semanas. Caso você não veja as configurações no Painel de Apps, siga as etapas 1 a 5 acima para gerar tokens de acesso à Página.
Se for o proprietário dos ativos (conta do Instagram e Página do Facebook) que deseja integrar ao serviço da Messenger API for Instagram, você tem a opção de usar a ferramenta de configuração do Instagram no Painel de Apps do Desenvolvedor para configurar com mais praticidade os tokens de acesso à Página e os Webhooks. Você encontra a ferramenta em Painel de Apps do Desenvolvedor → Messenger → Configurações do Instagram. A maneira atual de configurar tokens e webhooks continuará funcionando, mas essa ferramenta facilitará a configuração do ambiente.
Para gerenciar as mensagens do Instagram via API, as contas profissionais do Instagram precisarão habilitar a alternância de ferramentas conectadas nas configurações do controle de mensagens.
Use a identificação da Página capturada e o token de acesso à Página (PAT, pelas iniciais em inglês) para consultar o ponto de extremidade GET /{page-id}/conversations?platform=instagram
:
curl -i -X GET \ "https://graph.facebook.com/v9.0/17841405822304914/conversations?platform=instagram&access_token={access-token}"
Essa ação deve retornar as identificações de todos os objetos de conversa no usuário do Instagram:
{ "data": [ { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTM2MDk5MDc1MzYyOTgx" }, { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTYzMzQ2MzE5NjM1NDcy" }, { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTk3MTY0NjI2NzAyMjMw" }, { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MzkzNDI5MDYzMzkyNjU0" } }
Se conseguir realizar essa consulta final, você poderá fazer consultas usando qualquer um dos pontos de extremidade do serviço da Messenger API for Instagram. Consulte os nossos vários guias e referências para saber o que cada ponto de extremidade faz e quais permissões eles requerem.