Eu finalmente descobri. Aqui está o que estou fazendo.
Obtenha um único produto
curl -g -X GET "$base_url/index.php/rest/V1/products/24-MB05/" \
-H "Authorization: Bearer $token"
Criar carrinho
curl -g -X POST "$base_url/index.php/rest/V1/guest-carts/" \
-H "Authorization: Bearer $token"
Obter carrinho
curl -g -X GET "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5" \
-H "Authorization: Bearer $token"
Adicionar produto ao carrinho
curl -g -X POST "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5/items" \
-H "Authorization: Bearer $token" \
-H "Content-Type:application/json" \
-d '{ "cartItem": { "quote_id": "56241bf6bc084cd7589426c8754fc9c5", "sku": "24-MB05", "qty": 1 } }'
Adicionar informações de remessa
curl -g -X POST "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5/shipping-information" \
-H "Authorization: Bearer $token" \
-H "Content-Type:application/json" \
-d '
{
"addressInformation": {
"shippingAddress": {
"region": "MH",
"region_id": 0,
"country_id": "IN",
"street": [
"Chakala,Kalyan (e)"
],
"company": "abc",
"telephone": "1111111",
"postcode": "12223",
"city": "Mumbai",
"firstname": "Sameer",
"lastname": "Sawant",
"email": "[email protected]",
"prefix": "address_",
"region_code": "MH",
"sameAsBilling": 1
},
"billingAddress": {
"region": "MH",
"region_id": 0,
"country_id": "IN",
"street": [
"Chakala,Kalyan (e)"
],
"company": "abc",
"telephone": "1111111",
"postcode": "12223",
"city": "Mumbai",
"firstname": "Sameer",
"lastname": "Sawant",
"email": "[email protected]",
"prefix": "address_",
"region_code": "MH"
},
"shipping_method_code": "flatrate",
"shipping_carrier_code": "flatrate"
}
}
'
Obter método de pagamento
curl -g -X GET "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5/payment-information" \
-H "Authorization: Bearer $token"
Faça a encomenda
curl -g -X PUT "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5/order" \
-H "Authorization: Bearer $token" \
-H "Content-Type:application/json" \
-d '
{
"paymentMethod": {
"method": "checkmo"
}
}'
Eu acho que há um pequeno erro: para fazer um pedido, no corpo, ele deve ser o método de pagamento, a primeira chave, assim:
fonte
criar url de carrinho vazio: http: // www. [yoursite] .com / rest / V1 / carrts / mine call: post response: cartID por exemplo: 4290
Adicione item ao carrinho url: http: // www. [Yoursite] .com / rest / V1 / carts / mine / items body:
Adicione o URL das informações de cobrança: http: // www. [Yoursite] .com / rest / V1 / carts / mine / endereço do endereço de cobrança :
obtenha o URL dos métodos de envio: http: // www. [yoursite] .com / rest / V1 / carrinhos / minas / métodos de envio
}
adicione o URL das informações de envio: http: // www. [yoursite] .com / rest / V1 / carts / mine / corpo de informações de envio :
resposta: método de pagamento e detalhes do carrinho
URL do local do pedido: http: // www. [Yoursite] .com / rest / V1 / carrts / mine / corpo do pedido :
resposta: orderid
fonte
Há um tutorial oficial mostrando como fazer um pedido através da API REST:
Tutorial de processamento de pedidos para Magento 2.2
Eles incluíram etapas muito detalhadas:
O tutorial incluiu como adicionar diferentes tipos de produtos, diferentes métodos de envio e muitas outras informações úteis com códigos de amostra.
fonte