entry[].id é o user_id da conta profissional, o mesmo devolvido por Dados da conta. Use-o para saber a qual canal o evento pertence.
Duas formas dentro do mesmo envelope
O conteúdo vem em uma de duas listas, e elas se comportam de maneiras diferentes:
Em
changes[] basta ler field. Em messaging[] é preciso testar quais chaves existem:
A unidade de entry.time muda
Tratar os dois como a mesma unidade coloca comentários em 1970 ou mensagens em um futuro distante. Normalize antes de guardar:
messaging[], o campo timestamp do próprio evento é sempre em milissegundos e costuma ser mais preciso que o time do entry.
Um envio pode trazer vários eventos
A listaentry[] aceita mais de um item, e cada item aceita vários eventos. Percorra as listas em vez de ler apenas o primeiro elemento.