Falha na criação de fatura para itens configuráveis ao usar a API REST do Adobe Commerce
A criação de faturas usando a API REST do Adobe Commerce falha para produtos configuráveis, em que o item não aparece na fatura e os erros de validação não são acionados. Para corrigir esse problema, faça referência à ID do item do produto configurável (principal) em vez do produto simples (secundário) na solicitação de fatura.
Descrição description
Ambiente
Adobe Commerce
Problema/Sintomas
- As faturas criadas por meio da API não incluem produtos configuráveis.
- Nenhuma mensagem de erro é exibida quando somente as IDs de item filho (simples) são usadas.
- Incluindo IDs de item pai e filho com quantidade zero para devoluções pai A fatura não pode ser criada sem produtos.
- Fatura de produtos simples bem-sucedida.
Resolução resolution
Para corrigir esse problema, siga estas etapas:
-
Identifique a ID do item do produto configurável (pai) do pedido consultando a tabela
sales_order_item.code language-none select item_id, sku, product_type from sales_order_item; 208 simple_skuA configurable 211 simple_skuA simple 214 simple_skuB configurable 217 simple_skuB simple 220 simple_skuC simple 223 simple_skuD simple -
Crie a fatura por meio da API REST incluindo somente a ID do item do produto principal configurável na carga da solicitação.
Observação: não inclua IDs de item de produto filho (simples) e não defina a quantidade como zero para nenhum item.
-
Submeta a solicitação de criação de NFF usando a seguinte estrutura de carga útil:
code language-none curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ https://<store_url>/rest/V1/order/<order_id>/invoice { "items": [ { "order_item_id": 208, "qty": 1 }, { "order_item_id": 220, "qty": 1 }, { "order_item_id": 223, "qty": 1 } ] } -
Verifique se a fatura criada inclui itens de linha para todos os produtos configuráveis pretendidos.
Nota
Se houver várias variações de um produto configurável em um pedido, use cada ID de item pai relevante correspondente a essas variações ao criar faturas.
select item_id, sku, product_type from sales_order_item;
226 simple_skuA configurable
229 simple_skuA simple
232 simple_skuB configurable
235 simple_skuB simple
Neste exemplo, a carga para a variante B da fatura do SKU simple_skuB usa a ID do item pai 232.