Pular para o conteúdo

Webhooks

Webhook é uma conexão entre dois sistemas para o recebimento de mensagens automáticas. Com os webhooks você envia informações em tempo real para uma URL desejada. Na Olist Ecommerce, a utilização dos webhooks é uma maneira prática da plataforma fornecer informações do seu Ecommerce para sistemas externos. Neste artigo você confere os eventos disponíveis; como ativá-los, alterá-los e excluí-los na sua loja.

Para que haja envio e recebimento de informações utilizando webhooks, é necessário configurar condições iniciais para que essa comunicação ocorra. É com as condições sendo satisfeitas que um sistema dispara um dado para outro. Assim, satisfazendo a condição pré-estabelecida, o evento realiza o disparo.

Na plataforma Olist Ecommerce há eventos pré-definidos para que o lojista apenas ative e envie para o sistema que desejar. O lojista ativa os eventos e indica o caminho (URL) que deseja receber. Entenda os eventos pré-definidos e como suas condições de disparo na tabela a seguir.

EventoCondição de disparo
sku-availableQuando um SKU que não possuía unidades disponíveis em estoque passa a ter unidades disponíveis.
sku-unavailableQuando um SKU que possuía unidades disponíveis em estoque passa a não ter mais unidades disponíveis.
prices-changedQuando há alteração no preço de um SKU.
stocks-changedQuando há mudança na quantidade de unidades em estoque de um SKU.
product-activatedQuando uma referência (referência de produto) é ativada no catálogo.
product-changedQuando há alteração em uma referência (referência de produto). As alterações podem ser no nome ou título da referência.
order-canceledQuando um pedido é cancelado.
order-confirmedQuando um pedido é confirmado.
order-receivedQuando um pedido é recebido.
order-sentQuando um pedido é enviado. (Evento deprecado)
client-savedQuando há mudança nos dados do cliente. Nesse caso, tanto as mudanças via Admin quanto via Ecommerce disparam o evento.
package-confirmedQuando o pedido, que gerou o pacote, é confirmado.
package-sentQuando um pacote é enviado.
package-shippedQuando um pacote é enviado.
package-packedQuando um pedido recebe o status de packed (empacotado)
package-deliveredQuando um pacote é entregue.
cart-createdQuando um carrinho é criado (o primeiro item do carrinho é adicionado).
product-added-to-cartQuando há produto adicionado no carrinho.
shipping-calculatedQuando o cliente calcula o frete no carrinho.
product-viewedQuando um produto é visualizado na loja.
product-removed-from-cartQuando um produto é removido do carrinho.
product-listedQuando há busca produtos. Nesse caso, a lista de produtos resultado da busca é enviado via webhook.
checkout-1-cartQuando um cliente acessa o carrinho.
checkout-2-shipping-calcQuando um cliente simula o frete no checkout.
checkout-3-shipping-modeQuando um cliente seleciona uma forma de envio no checkout.
checkout-4-addressQuando um cliente preenche o endereço de entrega no _checkout _da compra.
checkout-5-paymentQuando um cliente segue no _checkout _até a etapa de pagamento.
cart-abandonedQuando há abandono de carrinho. Nesse caso, o evento é disparado depois de um período de tempo que carrinho não sofrer atualizações.
invoice-createdQuando o pacote é faturado (nota fiscal é criada).
order-item-confirmedQuando um pedido é confirmado. Nesse caso, o evento envia cada item do pedido via webhook.
credit-depositedQuando o crédito é depositado para um cliente, seja pelo admin, API ou pedido.
`credit-activatedQuando o crédito é ativado, ou seja, a data inicial de validade está em vigor.
credit-expiringQuando o crédito irá expirar, dispara em 7, 3 e 1 dias antes de vencer o crédito.

❗️

Eventos deprecados continuam em funcionamento mas que não recebem suporte.

Os eventos disponíveis são habilitados via Admin. Para habilitar um evento:

  1. Acesse o Admin;
  2. Clique no ícone de Configurações no canto inferior esquerdo;
  3. Clique me Webhooks na seção Integrações;
  4. Clique no ícone + Adicionar webhook;
  5. Preencha os campos na janela Adicionar novo webhook:
  6. Clique em Salvar;
{1012} Janela "Adicionar novo webhook" {962} Página de webhooks do Admin.

Quando as condições de disparo forem satisfeitas, um arquivo .json com as informações do evento é enviado para a URL configurada.

📘

Utilize uma URL de teste caso queira testar um evento. É possível gerar uma URL utilizando a ferramenta Hookbin. Você pode configurar um mesmo evento para diferentes URLs.

Você também pode reenviar um evento caso precise testar disparos. Nesse caso, utilize um pedido da loja para utilizar o reenvio de disparo.

Para reenviar:

  1. Acesse o Admin;
  2. Clique no ícone de Configurações no canto inferior esquerdo;
  3. Clique me Webhooks na seção Integrações;
  4. Selecione o evento que deseja reenviar;
  5. Clique no ícone de reenvio;
  6. Escreva o código do pedido teste;
  7. Clique em Enviar;

Confira se o envio foi feito.

❗️

Normalmente os disparos ocorrem em tempo real. No entanto, por questões técnicas, o envio pode ocorrer em até cinco minutos.

Você pode editar a URL de um evento já habilitado. Para alterar um evento:

  1. Acesse o Admin;
  2. Clique no ícone de Configurações no canto inferior esquerdo;
  3. Clique me Webhooks na seção Integrações;
  4. Clique no ícone de edição;
  5. Altere a URL;
  6. Clique em Salvar.
  1. Acesse o Admin;
  2. Clique no ícone de Configurações no canto inferior esquerdo;
  3. Clique me Webhooks na seção Integrações;
  4. Selecione o evento que deseja excluir;
  5. Clique no ícone de lixeira;
  6. Clique em Sim.