Pular para o conteúdo principal

Janela de 24 horas

Conversas no Instagram só podem ser iniciadas pela pessoa. A partir da última mensagem recebida dela, sua integração tem 24 horas para responder. Fora desse prazo, a Meta recusa o envio:
O code: 10 com error_subcode: 2534022 é a assinatura exata de envio fora da janela. Use esses valores para tratar o caso na sua integração, em vez de comparar o texto da mensagem.
Quando a primeira mensagem da pessoa vem de um anúncio Click-to-Direct, a janela padrão já nasce com até 7 dias.
A tag human_agent, que estende o prazo para 7 dias, não é aceita pela API. Ela declara que um ser humano escreveu a resposta, e pela API não há como garantir isso. Como todos os clientes do Instagram operam sob um único aplicativo na Meta, o abuso de um afetaria todos. Respostas de atendente fora da janela são enviadas pelo painel, onde a garantia existe.

Paginação

Endpoints que retornam listas, como publicações e comentários, devolvem um objeto paging com cursores:
Não chame a URL de paging.next diretamente. Ela aponta para a Meta e não funciona sem o token da Meta.
Para buscar a próxima página, repita a mesma chamada na URL da Datafy acrescentando o parâmetro after:
Quando não houver mais páginas, a resposta vem sem paging.next.

Limites de requisição

Os limites são contados por token, em janelas de 1 minuto: Quando o limite é excedido, a resposta é 429 Too Many Requests, informando quantos segundos aguardar:

Limites da Meta

A Meta mantém os próprios limites, por conta profissional, e eles valem além dos da Datafy. Em várias operações eles são mais restritivos que os nossos: Há também um teto de volume, e não de chamadas: uma conta que ultrapassa 72.000 mensagens enviadas e recebidas deixa de receber novas mensagens na caixa de entrada do Instagram e fica impedida de enviar até o volume cair.
O limite de resposta privada é o mais restritivo da lista. São 750 por hora, equivalentes a 12,5 por minuto, contra 4.800 por minuto no limite de envio da Datafy. Uma integração que responde comentários no direct deve controlar a própria cadência.
Quando a Meta recusa por excesso, a resposta dela é repassada sem alteração. A Datafy não enfileira nem repete a chamada.
Evite consultar o mesmo recurso em loop, como a lista de publicações ou os comentários. Para acompanhar mudanças, use os webhooks.

Erros da Datafy

Antes de repassar a requisição para a Meta, a Datafy valida o token, a assinatura, as rotas bloqueadas e o limite de uso. Nesses casos, a resposta tem os campos statusCode e message:

Erros da Meta

Quando a requisição chega à Meta e ela recusa, a Datafy repassa a resposta sem alteração, com o mesmo status HTTP:

Rotas bloqueadas

Algumas operações alteram configurações que a Datafy gerencia para manter seu canal funcionando. Elas retornam 403 Forbidden:
  • Métodos de escrita em caminhos que contenham subscribed_apps. Alterar isso cancelaria a inscrição do aplicativo na sua conta e você pararia de receber eventos.
  • Métodos de escrita em caminhos que contenham refresh_access_token, access_token ou oauth. O ciclo de vida do token é responsabilidade da Datafy, que o renova antes do vencimento.
  • POST em um caminho de um único segmento, como POST /ig/me, que altera a configuração da própria conta.
  • Envio com a tag human_agent.
Ler a própria inscrição de webhooks continua permitido, porque é como você confere que a conta está recebendo eventos:
Todos os outros endpoints da API do Instagram funcionam normalmente.