# Notificação de Pedidos

{% hint style="danger" %}
Esta funcionalidade ainda não está em Produção. Parceiros integrados devem aguardar comunicado quando a implementação for concluída.
{% endhint %}

{% hint style="danger" %}
Esta funcionalidade requer que a plataforma/ERP passe pelo processo de homologação da URL de notificação. &#x20;
{% endhint %}

## O que é a notificação de pedidos?

Quando um pedido é gerado ou tem seu status atualizado pelo marketplace a informação é notificada pela API para a URL cadastrada na conta do parceiro. Esta notificação contará com o **código do pedido**.&#x20;

Em posse do código do pedido que foi gerado/atualizado (informação que, como mencionado, será disponibilizada no *payload* da notificação), caberá à plataforma/ERP a consulta dos dados da entrega.

{% hint style="info" %}
O parceiro que optar pela notificação de pedidos não deverá mais utilizar a fila de integração [(*/queues/orders*)](https://desenvolvedores.skyhub.com.br/pedidos/consumo-de-pedidos-queues).
{% endhint %}

### Criação e cadastro da URL

A plataforma/ERP deve criar um endpoint acessível via web e este deve ser capaz de receber requisições com o método POST.

Após a criação, a URL para recebimento da notificação precisa ser enviada para o e-mail *<mark style="color:blue;"><srv.mktp.api@americanas.io></mark>*, assim nosso time realizará as configurações necessárias.

### Notificações

A cada atualização de status ou recebimento de novos pedidos, a API realizará um **POST** para a **URL cadastrada** previamente, onde serão vistos os dados a seguir:

```
{
  "resource_id": "Lojas Americanas-1000000000006",
  "resource": "/orders/Lojas Americanas-1000000000006"
}

```

{% hint style="info" %}
O código do pedido trata-se de um exemplo. A notificação enviará o pedido real oriundo do marketplace.
{% endhint %}

Uma vez que o POST tenha retornado <mark style="color:green;">sucesso</mark>, a mensagem de notificação é excluída de nossa fila.

{% hint style="warning" %}
Caso a URL esteja indisponível, serão executadas novas tentativas de realizar a notificação pelos próximos 3 dias.
{% endhint %}

### GET - Consumindo o pedido

Após o recebimento da notificação contendo o código do pedido é preciso realizar um **GET** no endpoint *`/orders`* utilizando o **resource\_id** informado no *payload*, conforme exemplo abaixo:

```
curl --location --request GET 'https://api.skyhub.com.br/orders/Lojas Americanas-1000000000006' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
```

{% hint style="info" %}
Para maiores detalhes sobre a consulta individual de pedidos é possível acessar a documentação disponibilizada a guia [Consulta de Pedidos](https://desenvolvedores.skyhub.com.br/pedidos/consulta-de-pedidos) desta documentação.
{% endhint %}
