Orientação de produto
Como tratar os valores de avatar_url retornados pelo WA Lookup
Como armazenar, atualizar e tratar com segurança a string avatar_url retornada pelo tipo de serviço ws_avatar do WA Lookup, incluindo valores vazios.

O campo avatar_url é a parte de uma resposta ws_avatar que mais costuma surpreender uma integração, porque pode ser uma string vazia e porque armazenar uma URL é algo muito diferente de armazenar um booleano.
O WA Lookup retorna o campo avatar_url em toda resposta ws_avatar bem-sucedida. O valor é uma string vazia quando não há URL disponível, então a integração deve armazená-lo separadamente do booleano avatar que o acompanha e tratar o valor vazio de forma explícita.
Modele o booleano e a URL separadamente
O booleano avatar e a string avatar_url respondem a perguntas diferentes: se um avatar foi detectado e onde ele poderia ser obtido. Juntá-los em uma única coluna anulável faz perder a primeira resposta sempre que a segunda está ausente — e a ausência é um resultado normal, não um caso extremo. Duas colunas mantêm as duas respostas legíveis.
Decida se você vai armazenar a URL
Algumas integrações só precisam do booleano; nesse caso, descartar a URL elimina por completo toda uma categoria de dúvidas sobre retenção. Se você a mantiver, guarde a data da verificação ao lado dela, porque as informações de perfil mudam e uma URL armazenada é um retrato do que era verdade no momento da verificação, e não um endereço permanente.
Trate a obtenção da imagem como uma questão à parte
Buscar o conteúdo para o qual uma URL aponta é uma operação diferente de executar a verificação, com seus próprios modos de falha e seu próprio tempo. Manter as duas separadas significa que um problema de obtenção nunca vai parecer um problema de verificação nos seus logs, o que faz diferença quando você está tentando entender por que um lote parece errado.
Trate a ausência sem ramificações por toda parte
Normalize a resposta uma única vez na fronteira da sua integração — transformando o campo opcional em uma representação explícita que seu código entenda — em vez de testar a presença em cada ponto de chamada. Valores ausentes são comuns o bastante para que verificações espalhadas se tornem a principal fonte de bugs evitáveis.
Perguntas frequentes
O avatar_url deve ser armazenado indefinidamente?
Se for armazená-lo, guarde-o com a data da verificação, já que as informações de perfil mudam e o valor é um retrato de um momento, e não um endereço permanente.
O que indica um avatar_url ausente?
Que o serviço de origem não forneceu uma URL para aquela conta no momento da verificação. O booleano avatar continua informando se um avatar foi detectado.
A obtenção da imagem faz parte da verificação?
Não. A verificação retorna campos; obter o conteúdo para o qual uma URL aponta é uma operação separada, com seus próprios modos de falha.