Je l'ai finalement compris. Voici ce que je fais.
Obtenez un seul produit
curl -g -X GET "$base_url/index.php/rest/V1/products/24-MB05/" \
-H "Authorization: Bearer $token"
Créer un panier
curl -g -X POST "$base_url/index.php/rest/V1/guest-carts/" \
-H "Authorization: Bearer $token"
Obtenez le panier
curl -g -X GET "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5" \
-H "Authorization: Bearer $token"
Ajouter un produit au panier
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 } }'
Ajouter des informations d'expédition
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"
}
}
'
Obtenir la méthode de paiement
curl -g -X GET "$base_url/index.php/rest/V1/guest-carts/56241bf6bc084cd7589426c8754fc9c5/payment-information" \
-H "Authorization: Bearer $token"
Passer la commande
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"
}
}'
Je pense qu'il y a une petite erreur: pour passer commande, sur le corps, il faut que ce soit paiementMéthode de la première clé, comme ceci:
la source
créer l'url du panier vide: http: // www. [votre site] .com / rest / V1 / carts / mine call: post réponse: cartID par exemple: 4290
Ajouter un article à l'url du panier: http: // www. [Votre site] .com / rest / V1 / carts / mine / items body:
Ajouter l'URL des informations de facturation: http: // www. [Votre site] .com / rest / V1 / carts / mine / billing-address body:
obtenir l'url des méthodes d'expédition: http: // www. [votre site] .com / rest / V1 / carts / mine / shipping-methods
}
ajouter l'URL des informations d'expédition: http: // www. [votre site] .com / reste / V1 / chariots / mine / corps d' informations d'expédition :
réponse: méthode de paiement et détail du panier
URL de commande: http: // www. [Votre site] .com / rest / V1 / carts / mine / corps de la commande :
réponse: orderid
la source
Il y a un tutoriel officiel montrant comment passer une commande via l'API REST:
Tutoriel de traitement des commandes pour Magento 2.2
Ils comprenaient des étapes très détaillées:
Le didacticiel comprenait comment ajouter différents types de produits, différentes méthodes d'expédition et de nombreuses autres informations utiles avec des exemples de codes.
la source