Pular para o conteúdo principal
O evento history entrega as conversas anteriores do aplicativo do WhatsApp Business, depois que a sincronização é solicitada em Sincronizar histórico. O conteúdo não chega de uma vez: ele é dividido em muitas entregas, cada uma com um pedaço das conversas.

Como as conversas vêm organizadas

Acompanhar o progresso

O objeto history[].metadata é o que permite saber em que ponto a sincronização está: A sincronização termina quando chega um bloco com progress: 100.
Os blocos podem chegar fora de ordem. Use o chunk_order para ordenar e o timestamp de cada mensagem para montar a conversa, em vez de confiar na ordem de chegada das entregas.

Mídia no histórico

Mensagens que continham imagem, áudio, vídeo ou documento chegam com type: "media_placeholder" e sem o arquivo:
O marcador indica que houve uma mídia naquele ponto da conversa, mas o arquivo não é sincronizado e não pode ser recuperado depois. Mídias enviadas e recebidas a partir da conexão seguem o caminho normal, descrito em Mensagens recebidas.
O volume desse evento é alto: uma conta com muitas conversas gera milhares de entregas em poucos minutos. Responda 200 de imediato e processe em fila, ou as entregas passam a estourar o tempo limite.

Se a entrega falhar

Como o histórico é uma sincronização única, as entregas de history que falham são reenviadas automaticamente, com intervalos crescentes: 10s, 1min, 5min e 30min. Enquanto a sua URL responder 200, os blocos seguem chegando normalmente. Se a URL ficar indisponível além dessa janela, o pedido de sincronização não se repete sozinho. A forma garantida de recuperar o histórico é desconectar o número e refazer a conexão, solicitando a sincronização de novo. A referência completa está na documentação do webhook history da Meta.