> For the complete documentation index, see [llms.txt](https://desenvolvedores.skyhub.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://desenvolvedores.skyhub.com.br/pedidos/faturamento-pedido-americanas-entrega-direct.md).

# Faturamento Pedido - Americanas Entrega Direct

Pedidos Americanas Entrega Direct exigem o envio do arquivo XML da nota fiscal.&#x20;

Nesse guia vamos abordar como identificar pedidos que pertencem a este serviço (Direct), sobre o fluxo a ser seguido e como a requisição de faturamento deve ser realizada no endpoint `/invoice`.

### Fluxo do andamento do pedido

O fluxo de uma entrega Direct seguirá após o recebimento do status de **aprovado** (**APPROVED**), encaminhado para a API através do marketplace.&#x20;

Para o serviço Americanas Entrega Direct apenas o status de **faturado** (**INVOICED**) será de responsabilidade do lojista, enquanto que os demais (status) - **enviado** (**SHIPPED**) e **entregue** (**DELIVERED**) - serão atualizados na API de forma automática pelo próprio marketplace e caberá a plataforma/ERP o consumo destas informações, ação realizada pelo endpoint `/queues/orders`.

## GET - Identificando um pedido Americanas Entrega Direct

O [consumo de pedidos](/pedidos/consumo-de-pedidos-queues.md) traz informações importantes para o correto ciclo de vida que uma entrega deve seguir.

Para identificação de um pedido pertencente ao serviço **Americanas Entrega Direct** deverá ser observado o valor `b2wentregadirect` para o campo `calculation_type`. Abaixo temos um exemplo para visualização deste campo:

<figure><img src="/files/xfZ1rRmXHKrfz8fyoXbh" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
**Atenção:** O marketplace possui o **Americanas Fulfillment** e os pedidos gerados para este serviço também contarão com o valor `b2wentregadirect`para o campo `calculation_type`, porém quando se tratar de um pedido Fulfillment será validado o campo `shipping_method`.

Para maiores informações sobre a identificação de um pedido Americanas Fulfillment consulte o guia [**Americanas Fulfillment - Identificando Pedido**](/americanas-fulfillment/identificando-pedido.md).
{% endhint %}

## POST - Atualizando **para faturado (INVOICED) um pedido Americanas Entrega Direct**

O faturamento do pedido gerado para o serviço Americanas Entrega Direct deve ser realizado através de um POST para o endpoint padrão para envio do **invoice**:

```
https://api.skyhub.com.br/orders/{code}/invoice
```

#### Request headers:

| Key                  | Value                                       |
| -------------------- | ------------------------------------------- |
| X-User-Email         | email\_de\_usuario                          |
| X-Api-Key            | token\_de\_integracao de sua conta SkyHub   |
| X-Accountmanager-Key | token\_account único de cada Plataforma/ERP |
| Accept               | application/json                            |
| Content-Type         | **multipart/form-data**                     |

{% hint style="danger" %}
Para o faturamento de pedidos Direct é <mark style="color:red;">**obrigatório**</mark> o envio do arquivo XML da nota fiscal e por este motivo é imprescindível a utilização do valor **multipart/form-data** para o header **Content-Type**, pois este será o responsável por mostrar para a API que um arquivo foi indexado à requisição.
{% endhint %}

#### Request body:

```
--form 'status="order_invoiced"' \
--form 'file=@"/path/to/file"' \
--form 'issue_date="AAAA-MM-DDTHH:MM:SS-03:00"' \
--form 'volume_qty="1"'
```

{% hint style="info" %}
Os campos `issue_date` e `volume_qty` são opcionais na requisição apresentada.&#x20;

Caso opte por não enviá-los, é importante estar ciente de que a API assumirá para estes campos os seguintes valores:

* **issue\_date:** Serão assumidos data e hora do momento em que a API enviar a requisição de faturamento ao marketplace;
* **volume\_qty:** Por padrão, se a API não receber este campo será assumido para o mesmo o valor igual a 1 (um).
  {% endhint %}

{% hint style="warning" %}
Não devem ser solicitadas mais etiquetas do que as necessárias para a entrega.&#x20;

Caso um pedido contenha 1 (uma) unidade, por exemplo, obrigatoriamente deverá ser informado o valor 1 para o campo **volume\_qty**.
{% endhint %}

#### Example request:

```
curl --location --request POST 'https://api.skyhub.com.br/orders/Lojas Americanas-1000000000004/invoice' \
--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: multipart/form-data' \
--form 'status="order_invoiced"' \
--form 'file=@"/C:/Path/Documents/NFAmericanas1000000000004.xml"' \
--form 'issue_date="2023-03-27T12:30:00-03:00"' \
--form 'volume_qty="1"'
```

#### Response esperado:

{% hint style="success" %}
204 \[Success] - No content
{% endhint %}

{% hint style="info" %}
Ressaltando que para pedidos **Americanas Entrega Direct** a continuidade do fluxo do pedido após o faturamento será executada pelo marketplace Americanas, não sendo necessário que o lojista envie as atualizações dos status de **enviado** e **entregue**.
{% endhint %}
