Isso inclui o que foi enviado pela API e também o que uma pessoa da equipe digitou no aplicativo do Instagram. No eco, o sender.id é a conta e o recipient.id é o contato, invertidos em relação a uma mensagem recebida.
Um eco não abre conversa nem reinicia a janela de 24 horas. Só mensagem da pessoa faz isso. Tratar eco como mensagem recebida duplica conversas.
O campo url significa coisas diferentes conforme o type. Em image, video e audio é o arquivo. Em share é o endereço da publicação compartilhada, não um arquivo para baixar.
As URLs de mídia são assinadas e expiram. Baixe o arquivo ao receber, se precisar guardá-lo.