1. Get Customer Token
http://magento-host/index.php/rest/V1/integration/customer/token?
[email protected]&password=test@123
2. Get Cart ID (Quote ID) - using customer id.
This will return quote id, which will be used for placing an order.
http://magento-host/rest/V1/carts/mine
method : POST
Authorization : Bearer <customer token>
3. Add Configurable product in cart.
http://magento-host/index.php/rest/default/V1/carts/mine/items
method : POST
Authorization : Bearer <customer token>
body data : json
{
"cartItem": {
"sku": "HKrh15hc", <product SKU>
"qty": 5,
"quote_id": "75", <Quote ID - Cart ID [see. step 2]>
"product_option": {
"extension_attributes": {
"configurable_item_options": [
{
"option_id": "93",
"option_value": 49
},
{
"option_id": "141",
"option_value": 168
}
]
}
},
"extension_attributes": {}
}
}
Now, this will save your configurable product in your cart.
4. Get & put Shipping Information.
http://magento-host/index.php/rest/V1/carts/mine/shipping-information
method : POST
Authorization : Bearer <customer token>
body data : json
{
"addressInformation": {
"shippingAddress": {
"region": "MH",
"region_id": 0,
"country_id": "IN",
"street": [
"221,Baker-street (e)"
],
"company": "Lumos",
"telephone": "12345678",
"postcode": "400001",
"city": "Mumbai",
"firstname": "Aditya",
"lastname": "Shah",
"email": "[email protected]",
"prefix": "address_",
"region_code": "MH",
"sameAsBilling": 1
},
"billingAddress": {
"region": "MH",
"region_id": 0,
"country_id": "IN",
"street": [
"221,Baker-street (e)"
],
"company": "Lumos",
"telephone": "12345678",
"postcode": "4000001",
"city": "Mumbai",
"firstname": "Aditya",
"lastname": "Shah",
"email": "[email protected]",
"prefix": "address_",
"region_code": "MH"
},
"shipping_method_code": "flatrate",
"shipping_carrier_code": "flatrate"
}
}
5. Get payment method.
http://magento-host/index.php/rest/V1/carts/75/payment-methods
method : POST
Authorization : Bearer <customer token>
6. Place an order.
http://magento-host/index.php/rest/V1/carts/mine/order
method : POST
Authorization : Bearer <customer token>
body data : json
{
"paymentMethod": {
"method": "checkmo"
}
}
And finally, this will return order ID, which you just placed!