# 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](/pedidos/consulta-de-pedidos.md) desta documentação.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://desenvolvedores.skyhub.com.br/pedidos/notificacao-de-pedidos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
