W końcu to rozgryzłem. Oto co robię.
Zdobądź pojedynczy produkt
curl -g -X GET "$base_url/index.php/rest/V1/products/24-MB05/" \
-H "Authorization: Bearer $token"
Utwórz koszyk
curl -g -X POST "$base_url/index.php/rest/V1/guest-carts/" \
-H "Authorization: Bearer $token"
Zdobądź wózek
curl -g -X GET "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5" \
-H "Authorization: Bearer $token"
Dodaj produkt do koszyka
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 } }'
Dodaj informacje o wysyłce
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"
}
}
'
Uzyskaj metodę płatności
curl -g -X GET "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5/payment-information" \
-H "Authorization: Bearer $token"
Złożyć zamówienie
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"
}
}'
Wydaje mi się, że jest mały błąd: przy składaniu zamówienia na ciele musi to być płatność. Pierwszy klucz, taki jak ten:
źródło
utwórz pusty adres URL koszyka: http: // www. [twoja strona] .com / rest / V1 / carts / mine call: post response: cartID np .: 4290
Dodaj pozycję do adresu URL koszyka: http: // www. [Twoja strona] .com / rest / V1 / carts / mine / items body:
Dodaj adres rozliczeniowy: http: // www. [Twoja strona] .com / rest / V1 / carts / mine / billing-address body:
pobierz adres URL metody wysyłki: http: // www. [twoja strona] .com / rest / V1 / carts / mine / shipping-metody
}
dodaj adres wysyłki: http: // www. [twoja strona] .com / rest / V1 / carts / mine / shipping-information body:
odpowiedź: metoda płatności i szczegóły koszyka
Adres URL miejsca zamówienia: http: // www. [Twoja strona] .com / rest / V1 / carts / mine / order body:
odpowiedź: orderid
źródło
Istnieje oficjalny samouczek pokazujący, jak złożyć zamówienie za pośrednictwem interfejsu API REST:
samouczek przetwarzania zamówień dla Magento 2.2
Obejmowały one bardzo szczegółowe kroki:
Samouczek obejmował dodawanie różnych rodzajów produktów, różnych metod wysyłki i wiele innych przydatnych informacji wraz z przykładowymi kodami.
źródło