Instagram: contas, comentários e DMs

Liste as contas do Instagram, responda e oculte comentários e mande DMs pela API da XBASE, com exemplos de requisição e resposta.

Atualizado em

Com os escopos do Instagram, a API lista as contas conectadas ao workspace, responde e oculta comentários e manda DMs, pelas mesmas contas que você usa na XBASE.

Listar as contas

GET https://api.xbase.app/api/external/v1/instagram/accounts

Escopo instagram:read. Resposta 200:

[
  {
    "connectionId": "6d1f…",
    "instagramAccountId": "17841400000000000",
    "username": "minhaempresa",
    "name": "Minha Empresa",
    "profilePictureUrl": "https://…",
    "messagingAccess": true,
    "missingScopes": []
  }
]
CampoDescrição
connectionIdId da conta na XBASE. Vai em connectionId nas outras rotas
instagramAccountIdId da conta no Instagram
username · name · profilePictureUrlDados do perfil
messagingAccessSe a conta pode mandar DM pela API
missingScopesPermissões que faltam na conexão da conta com a Meta

Só aparecem as contas ativas.

Responder um comentário

POST https://api.xbase.app/api/external/v1/instagram/comments/{commentId}/reply

Escopo instagram:act. Corpo: { "connectionId": "…", "message": "Obrigado!" }, com message de até 2.200 caracteres. A resposta é pública, embaixo do comentário. Resposta: { "id": "…" }, o id da resposta no Instagram.

Responder por DM (resposta privada)

POST https://api.xbase.app/api/external/v1/instagram/comments/{commentId}/private-reply

Escopo instagram:act. Mesmo corpo do item anterior. Manda uma DM ao autor do comentário. Resposta: { "messageId": "…" }.

A Meta aceita uma resposta privada por comentário, em até 7 dias. A segunda responde 422 META_ERROR.

Ocultar um comentário

POST https://api.xbase.app/api/external/v1/instagram/comments/{commentId}/hide

Escopo instagram:act. Corpo: { "connectionId": "…", "hidden": true } (false mostra de novo). Resposta: { "success": true }.

Mandar uma DM

POST https://api.xbase.app/api/external/v1/instagram/messages

Escopo instagram:act. Corpo: { "connectionId": "…", "recipientId": "…", "text": "Oi!" }, com text de até 1.000 caracteres. recipientId é o id da pessoa no Instagram, que vem nos eventos do webhook. Resposta: { "messageId": "…" }.

A Meta só aceita DM dentro da janela de 24 horas desde a última mensagem da pessoa. Fora dela, a resposta é 422 META_ERROR.

Erros do Instagram

StatuscodeQuando
400(sem code)Campo inválido ou commentId fora do formato
404NOT_FOUNDconnectionId não é de uma conta deste workspace
422META_ERRORA Meta recusou: limite de envio, falta de permissão, fora da janela de 24 horas ou comentário já respondido. A message traz o motivo

Perguntas frequentes

Veja também

Nesta página