
magento 2
Para cancelar 100% do pedido e criar um crédito para todos os itens através da API REST do Magento 2, você deve seguir um processo semelhante ao anterior, mas garantindo que todos os itens do pedido sejam incluídos no crédito. Aqui está como você pode fazer isso:
Primeiro, obtenha o token de autenticação, conforme descrito anteriormente:
POST <magento_url>/rest/V1/integration/admin/token
Antes de criar o crédito, você precisa das informações do pedido, incluindo os order_item_ids e as quantidades dos itens.
GET <magento_url>/rest/V1/orders/<order_id>
Authorization: Bearer your_access_token
Content-Type: application/json
{
"entity_id": 1,
"items": [
{
"item_id": 1,
"qty_ordered": 2,
"product_id": 123,
...
},
...
],
...
}
Com as informações do pedido em mãos, você pode criar o crédito incluindo todos os itens do pedido.
POST <magento_url>/rest/V1/creditmemo
{
"entity": {
"invoice_id": <invoice_id>, // O ID da fatura relacionada
"items": [
{
"order_item_id": <order_item_id_1>,
"qty": <qty_ordered_1>
},
{
"order_item_id": <order_item_id_2>,
"qty": <qty_ordered_2>
},
...
],
"shipping_amount": 0,
"adjustment_positive": 0,
"adjustment_negative": 0
},
"appendComment": true,
"comment": {
"comment": "Cancelamento total do pedido",
"is_visible_on_front": 1
},
"isOffline": false,
"notify": true
}
order_item_ids do pedido com a quantidade total (qty) que foi originalmente solicitada.Envie a requisição. Se tudo estiver configurado corretamente, o Magento retornará uma resposta com os detalhes do crédito criado, indicando que o cancelamento total do pedido foi processado com sucesso.
{
"entity_id": 1,
"increment_id": "100000001",
"state": 2,
"invoice_id": 1,
"order_id": 1,
"created_at": "2024-08-19 10:00:00",
"updated_at": "2024-08-19 10:00:00",
"grand_total": 200.00,
...
}
Os campos adjustment_positive e adjustment_negative na API de geração do creditmemo no Magento 2 são usados para fazer ajustes manuais no valor total do crédito a ser emitido. Eles permitem que você adicione ou subtraia valores específicos do total do crédito, além dos valores calculados automaticamente com base nos itens do pedido, impostos, e frete. Aqui está o que cada um faz:
adjustment_positive:Este campo permite adicionar um valor extra ao crédito que está sendo emitido.
creditmemo.Exemplo de Uso: Se você quiser adicionar R$ 10,00 ao total do crédito, você configuraria o campo assim:
“adjustment_positive”: 10.00
adjustment_negative:Este campo permite subtrair um valor do crédito total que está sendo emitido.
creditmemo.Exemplo de Uso: Se você precisar subtrair R$ 5,00 do total do crédito, você configuraria o campo assim:
"adjustment_negative": 5.00Suponha que você queira criar um creditmemo com um ajuste positivo de R$ 15,00 e um ajuste negativo de R$ 5,00:
{
"entity": { "invoice_id": 123, "items": [ { "order_item_id": 456, "qty": 1 } ], "shipping_amount": 0, "adjustment_positive": 15.00, "adjustment_negative": 5.00 }, "appendComment": true, "comment": { "comment": "Crédito com ajuste", "is_visible_on_front": 1 }, "isOffline": false, "notify": true } adjustment_positive adicionará R$ 15,00 ao total do crédito.adjustment_negative subtrairá R$ 5,00 do total do crédito.creditmemo será ajustado de acordo com esses valores, além do valor dos itens, impostos, e quaisquer outros cálculos padrão do Magento.Estes campos são úteis para cenários em que você precisa de flexibilidade adicional na emissão de créditos, permitindo ajustes específicos de acordo com a política ou situação particular de um pedido.
Pedido que não fatura e e-mail que não sai porque todo job fica missed: como ler a cron_schedule, conferir o…
Uma função curta em PHP 8.3 que transforma Camiseta Preta Tamanho GG em camiseta-preta-tamanho-gg, sem depender do locale do servidor.
O banner registra o clique só no navegador e some. Veja a tabela MySQL e o endpoint que gravam a…
A classe do comando existe e o bin/magento list ignora ela. Falta o registro no di.xml: aqui vai a classe…
Como traduzir duas mil linhas do pt_BR.csv do Magento 2 lendo com fgetcsv e regravando com fputcsv, sem encostar na…
Produto variável respondendo "Desculpe, este produto não está disponível" mesmo com a variação ativa: limpe os transients do WooCommerce e…