Soluções que levam atualizações de status ao cliente são uma forma eficiente de gerenciar recursos de infraestrutura e melhorar a experiência do consumidor

Uma abordagem mais moderna para a integração de sistemas, que diminui a carga de requisições e automatiza uma série de pedidos. Essa é a proposta trazida pelos webhooks, que podem substituir aplicações baseadas em APIs e são uma opção interessante para desenvolvedores.

Em sua apresentação no PHP Community Summit, evento realizado pela Locaweb com coparticipação do PHPSP, a especialista Marcela Godoy, tech leader na Pravaler, mostrou como os webhooks podem ser uma solução elegante para trazer mais eficiência aos recursos de sistema, mais produtividade para os negócios, ao mesmo tempo oferecendo uma melhor experiência para os consumidores.

Marcela Godoy, tech leader na Pravaler, durante a sua palestra.
Foto Renan Facciolo.

“Quando falamos em webhooks, falamos de informações que trafegam e têm relação com uma solicitação de um usuário”, comenta Marcela. “Quando falamos em troca de informação, a primeira coisa que vem à cabeça é API, mas nem sempre essa é a melhor solução”, alerta.

Aprimorando a experiência do cliente com Webhooks

Em uma situação normal, o cliente requisita um dado e o servidor imediatamente responde com essa informação desejada – e essa situação atende uma grande parte das necessidades dos usuários.

Em várias situações, porém, esse modelo traz efeitos colaterais. Considere, por exemplo, um e-commerce em que um produto não se encontra disponível. Nesse caso, é interessante que o varejista avise o cliente quando aquele item está novamente em estoque.

“Forma-se, então, um pool request em que muitos usuários têm a necessidade daquele dado, e essa demanda pode ser atendida de diversas maneiras”, conta a especialista.

Por meio de APIs, o cliente solicita a informação ao servidor – quantas vezes for necessário. Nessa situação do e-commerce que não tem o produto em estoque, haverá inúmeras solicitações desnecessárias, pois todas retornarão um “não” como resultado.

O ideal, nesse caso, é inverter essa dinâmica, para que o servidor informe aos clientes quando o item está em estoque – e somente nesse momento.

A versatilidade do Webhook

“Os webhooks funcionam no sentido inverso ao de uma API, enviando uma informação que é aguardada pelo cliente. É um modelo que traz muita eficiência para os sistemas em situações movidas a eventos, em que se espera uma atualização de informações do servidor”, analisa Marcela.

Foto: Renan Facciolo.

Por ter um “gatilho” definido (o evento para o qual se espera uma resposta), o webhook consome menos recursos e evita sobrecargas aos servidores, o que se traduz em custos menores e redução do stress à infraestrutura. “Esse é um modelo que diminui muito o consumo de recursos do sistema”, resume.

Por isso, na opinião da especialista, os desenvolvedores deveriam estar mais atentos aos webhooks como uma solução para melhorar a performance e a execução de serviços de um site. “É uma solução que pode trazer grandes ganhos e que deveria fazer parte do repertório de todo dev”, recomenda.

É possível, inclusive, desenvolver redundâncias para que o cliente não perca a atualização da informação, como guardar em uma fila as requisições enviadas pelo servidor que não receberam um OK de recebimento.

“O webhook oferece flexibilidade em sua construção e se adapta à arquitetura que já tenha sido desenvolvida. Por isso, é uma solução muito prática para resolver diversas questões de negócios e melhorar a experiência do consumidor”, conclui Marcela.