Webhook

Documentação – Sistema de Notificações

Quando ocorre a criação ou atualização de um pedido, produto ou cliente sempre há o interesse de um aplicativo para receber essas informações, gerar alguma ação e manter as informações atualizadas entre a plataforma e o aplicativo.

O Sistema de Notificação (webhook) é responsável por disponibilizar essas informações aos aplicativos, facilitando assim esta atualização.

Estas notificações serão realizadas para uma URL do aplicativo através de uma requisição via POST, onde o aplicativo irá receber essas notificações quando ocorrer alguma inserção, atualização ou exclusão de informações na plataforma.

Ativação da Notificação

Para ativar as notificações, é necessário informar a URL de Notificação, onde será cadastrada a URL no aplicativo.

Parâmetros da Notificação

Para identificar o tipo de dado e qual a informação que foi atualizada, são enviados alguns parâmetros via POST no momento da notificação. Esses parâmetros são:

Parâmetros de envio  
scope_name Nome do escopo notificado.
scope_id Código do escopo da notificação.
seller_id Código do vendedor.
act Ação realizada.

Abaixo os escopos disponíveis na notificação:

Tipos de Escopos de Notificação  
product Notificação de produto.
product_price Notificação de preço de produto.
product_stock Notificação de estoque de produto.
variant Notificação de variação do produto.
variant_price Notificação de preço da variação.
variant_stock Notificação de estoque da variação.
order Notificação de pedido.
customer Notificação de cliente.

As ações disponíveis na notificação são localizadas abaixo:

Tipos de Ações  
insert Inserção de um novo registro.
update Atualizaçao de um registro.
delete Exclusão de um registro.

Recomendações de Implementação

São recomendados dois tratamentos para utilização do sistem de notificação que são, armazenar as notificações e agrupar as notificações idênticas antes de gerar qualquer ação.

Desta forma, pode-se evitar diversas requisições ao mesmo escopo, visto que um produto pode sofrer diversas atualizações em um curto interválo de tempo, assim como o pedido pode sofrer alterações rápidas.

Exemplo de código

<?php

	$sellerID = $_POST["seller_id"]; //Código da Loja

	switch($_POST["scope_name"] . "_" . $_POST["act"] ){
		case "product_insert":
			// Tratamento da atualização produto
			$productID = $_POST["scope_id"]; // Código do produto
		break;
		case "product_update":
			// Tratamento da atualização do produto
			$productID = $_POST["scope_id"]; // Código do produto
		case "variant_stock_update":
			// Tratamento da atualização de estoque de uma variação de produto
			$variantID = $_POST["scope_id"]; // Código da variação do produto
		break;
		case "order_insert":
			// Tratamento da insersão de um novo pedido
			$orderID = $_POST["scope_id"]; // Código do pedido
		break;
		case "customer_delete":
			// Tratamento da exclusão de um cliente
			$customerID = $_POST["scope_id"]; // Código do cliente
		break;
    
     }


?>
Frontend - Agencia 
Tem mais dúvidas? Envie uma solicitação

Comentários

    Artigos nessa seção

    Desenvolvido por Zendesk