Ir para o conteúdo

Assincronicidade no envio de mensagens

Ao enviar um pacote de requisições com solicitação de envio de mensagens para a WhatsApp Business API, esta não aguarda o envio de cada mensagem no pacote para então enviar resposta para a aplicação cliente. O que a API retorna como resposta é um identificador do pedido internalizado para processamento assíncrono e envio de cada mensagem.

O envio de cada mensagem particular envolve uma integração com a Cloud API da Meta e este processo pode ser demorado, principalmente se a lista de destinatários for grande. Sendo assim o processamento do pacote de requisiçoes é feito internamente de forma assíncrona e na medida que as mensagens são enviadas o status particular do envio para determinado contato é atualizado.

Desta forma pode ser que demore alguns segundos ou até minutos para que todas as mensagens sejam enviadas e os status de cada destinatário esteja disponível para consulta.

Nesse meio tempo se consultas forem feitas pela aplicação cliente, os status já recebidos serão retornadas e a aplicação cliente pode saber quantas requisições de envio individuais já foram processadas.

Para saber quantas mensagens já foram processadas, ou seja, já se sabe se status de envio, basta consultar o status e contar quantos elementos há no atributo requisicoesEnvio, conforme explicado no guia Como consultar status de envio de mensagens.