API Hook com Body

Olá, pessoal. Alguém consegue me informar se consigo mandar body na requisição?

image

Esse parâmetro não tem na documentação da VTEX mas minha API precisa de Body

Doc: Orders API

Olá @Sarah.pinheiro, tudo joia?

Na verdade o OrderHook apenas notificará a URL registrada com o OrderId da compra segundo o contexto que foi configurado.

Ou seja, não teria porque enviar nada para o OrderHook além da URL e do contexto de quando deve notificar a URL registrada.

O que exatamente você está tentando fazer?

1 Like

Estou tentando fazer uma requisição HTTP, minha API recebe essa notificação certinha, porém minha API necessita de um corpo de requisição (diferente dos dados que vão ser enviados). Esse hook pode fazer essa requisição POST enviando o body da API?

Oi @Sarah.pinheiro,

A única responsabilidade do Order Hook é notificar uma URL cadastrada sempre que um pedido com determinada condição ocorrer.

Passo 1: Criação do Serviço de Recebimento de Notificações

Primeiramente, precisamos criar um serviço que receberá as notificações dos pedidos. As notificações enviadas pela VTEX seguirão o seguinte padrão:

{
   "Domain": "Marketplace",
   "OrderId": "v40484048naf-01",
   "State": "payment-approved",
   "LastChange": "2019-07-29T23:17:30.0617185Z",
   "Origin": {
       "Account": "accountABC",
       "Key": "vtexappkey-keyEDF"
   }
}

Passo 2: Consulta dos Dados do Pedido

Como o serviço criado recebe a notificação vinda da VTEX basicamente só com o OrderId e o Status do pedido é necessário consultar os dados do Pedido usando o VTEX Store GraphQL, ou usando o VTEX IO Clients ou fazendo uma requisição para o endpoint GET Order:

https://{accountName}.{environment}.com.br/api/oms/pvt/orders/{orderId}

Passo 3: Validações e Processamento dos Dados

Logo que o serviço criado obter a notificação e os dados completos do pedido, você pode realizar as validações e os processamentos necessários de acordo com a lógica do seu negócio.

Passo 4: Configuração do Order Hook

Somente após finalizar a criação do serviço (que deve obrigatoriamente retornar Status Code 200 quando consultado) é que configuramos o Order Hook com a URL do serviço criado e o filtro com as condições necessárias para que a VTEX envie a notificação dos pedidos que atendam aos critérios desejados.

Resumindo

  • Criar o serviço para recebimento das notificações.
  • Consultar os dados do pedido com o OrderId recebido.
  • Realizar as validações e processamentos necessários.
  • Configurar o Order Hook com a URL do serviço e os filtros desejados.

Se o serviço estiver configurado corretamente e recebendo as notificações dos OrderId, a configuração do Order Hook está concluída.

1 Like