# Criar fatura para pedido

{% tabs %}
{% tab title="Configuração" %}

| Campo                                             | Tipo                 | Descrição                                                                                                                                                                                                                                                      |
| ------------------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Descrição                                         | Campo de texto       | Descrição visual do conector na construção do fluxo.                                                                                                                                                                                                           |
| [Conta de serviço](#user-content-fn-1)[^1]        | Seletor              | Permite selecionar uma conta de serviço do tipo Bearer Token, cadastrada no Workspace Floui, para realizar a conexão e autenticação com o ambiente Adobe Commerce Magento.                                                                                     |
| ID do pedido (order\_id)                          | Campo de texto       | Identificador do pedido realizado no e-commerce. Este não é o increment\_id exibido nas grades de pedido.                                                                                                                                                      |
| Lista com itens para fatura (objeto JS/JSON)      | Campo de texto       | Permite informar o caminho, dentro do objeto msg, de uma lista JSON contendo os dados da fatura. Os dados da fatura deverão conter o identificador dos itens do pedido que serão faturados, a quantidade de itens e atributos opcionais extensíveis da fatura. |
| Notificar cliente                                 | Seletor              | Define se o cliente será notificado por e-mail.                                                                                                                                                                                                                |
| Capturar                                          | Seletor              | Permite definir se o pedido será capturado. Atenção ao optar por não, pois é necessário produtos para gerar uma fatura de pedido.                                                                                                                              |
| Valor do capturar                                 | Campo de texto       | Campo disponível quando selecionada a opção Valor Customizado em Capturar. Permite definir um valor booleano customizado (true/false), permitindo o uso de valores dinâmicos pela notação Mustache.                                                            |
| Acrescentar comentários anteriores                | Seletor              | Define se será enviado ou não um comentário junto a criação da fatura.                                                                                                                                                                                         |
| Comentário visível na vitrine                     | Campo de texto       | Permite definir se os comentários adicionados junto à fatura serão visíveis pelo usuário comprador nos detalhes do pedido.                                                                                                                                     |
| Atributos extensíveis adicionais para comentários | Tabela de parâmetros | Definem informações adicionais e extensíveis associadas ao comentário do pedido. Configurado no formato de Chave e Valor.                                                                                                                                      |
| Atributos extensíveis adicionais                  | Tabela de parâmetros | Definem informações adicionais e extensíveis associadas à fatura do pedido. Configurado no formato de Chave e Valor.                                                                                                                                           |
| Output Path                                       | Campo de texto       | Refere-se ao caminho do resultado da requisição na saída do conector no contexto de execução do fluxo                                                                                                                                                          |
| {% endtab %}                                      |                      |                                                                                                                                                                                                                                                                |

{% tab title="Payload" %}

## Detalhes

O conector Criar fatura para pedido oferece uma interface simples e automatizada para o cadastro de faturas de pedidos no e-commerce por meio da API REST.

O conector utiliza o endpoint **POST** `/rest/V1/order/{id}/invoice`, onde `{id}` é o identificador do pedido. Para saber mais sobre esta ou outras APIs disponibilizadas para Adobe Commerce Magento, acesse o link [REST endpoints (ReDocly)](https://developer.adobe.com/commerce/webapi/rest/quick-reference/).

## Lista de itens a serem faturados no pedido

Para adicionar uma lista com os itens que serão faturados será necessário que o JSON siga um padrão específico. Segue um exemplo da estrutura para inserir uma lista com os itens. No caso abaixo o JSON está no caminho `msg.list`, logo, na configuração **Lista com itens para fatura (objeto JS/JSON)** será necessário passar o caminho msg.list.

```json
[
    {
        "order_item_id": 3514,
        "qty": 1,
        "extension_attributes": {}
    },
    {
        "order_item_id": 3515,
        "qty": 1,
        "extension_attributes": {}
    }
]
```

## Sucesso

Quando a requisição for bem-sucedida, a resposta conterá um identificador único da fatura gerada no e-commerce.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf3X9gsPzTzlS9_IK_RrlI2BgQJzbFg1omev3UWOUzeNpzjNjXKSMdnC65Fig06ofvNZ85prJQ1bj1MbPOD2TSPzx6g-ctZzKbjimooGvs8oWRik9HfOJk7rVZMoDyouPSSYqmJfQ?key=Yp0qdx99PgGWwiHA4kq1q_wj" alt=""><figcaption><p>Sucesso na criação da fatura</p></figcaption></figure>

## Erros

Cenários de erro poderão ocorrer por diversos motivos, desde o uso de listas com formato não esperado pelo conector até erros na atualização devido ao fluxo de pedidos no e-commerce. Caso a lista contenha um produto válido e um inválido, dado pelo identificador do item do pedido, o produto inválido será ignorado e a fatura será gerada com o item válido. Segue um exemplo abaixo de como os erros são retornados da API.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfDVxvRzzIrRgfXxO6rOlEoStPyP5K0q4XN7S_3nqvM8Aya89H4WDXXgPKaSQMpj5qwS5jlebTC473RliWc1Y_vwUCJm6ptYYGH1Jx1SbKaVva8NvKeDBW1MwuU8Lx6L7LMrqAtnQ?key=Yp0qdx99PgGWwiHA4kq1q_wj" alt=""><figcaption><p>Erro na criação de fatura</p></figcaption></figure>
{% endtab %}
{% endtabs %}

[^1]: A conta de serviço precisa ser adicionada no painel de configuração do Floui antes de ser selecionada dentro do componente.
