Hello, Magento pals!
Magento 2 is a flexible, powerful E-commerce platform that enables the user to create shipping of an order with the use of API. hence, I am here with this complete tutorial on how you can create shipping with Magento 2 API.
Let’s get going!
Get the order_item_id of all the products that are to be shipped in order to create a shipment with Magento 2. Note that:
Endpoint:
POST https://domain.com/rest/<store_code>/V1/order/1/ship
Here, 1 is Your Order Id and store_code (optional).
Headers:
Content-Type: application/json
Authorization: Bearer <administrator token>
Payload:
{ "items": [ { "order_item_id": 1, "qty": 1 }, { "order_item_id": 2, "qty": 2 }, { "order_item_id": 3, "qty": 3 } ], "notify": true, "appendComment": true, "comment": { "comment": "Shipment from the warehouse" }, "tracks": [ { "track_number": "456456465", "title": "fedex Title Here", "carrier_code": "fedex" } ] }
Response:
The shipment ID, such as 3.
Create Sample Example for shipment using REST API so create shipment_rest_api.php in your Magento root path after adding the below code.
<?php $admindata = array("username" => "admin", "password" => "admin@123"); $ch = curl_init("http://domain.com/rest/V1/integration/admin/token"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($admindata)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Content-Length: " . strlen(json_encode($admindata)))); $token = curl_exec($ch); curl_close($ch); echo "Token : ".$token; $ch = curl_init(); if (!$ch) { return "Couldn't initialize a cURL handle"; } $data = '{ "items": [ { "order_item_id": 4, "qty": 1 } ] }'; $host= "http://domain.com/rest/V1/order/4/ship"; curl_setopt($ch, CURLOPT_URL,$host); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Authorization: Bearer " . json_decode($token))); $curlresponse = curl_exec($ch); print_r(curl_error($curlresponse)); $responseData=json_decode($curlresponse); echo "<pre>"; print_r($responseData); echo "</pre>";
After adding the above code, run the below URL to check shipment was created or not.
http://domain.com/shipment_rest_api.php
The aforementioned are the comprehensive details on How to Create Shipment With Magento 2 API. we anticipate that this blog post was a beneficial one for what you were looking for.
If you have any complications or want to talk about something relevant to this problem, please write us in the comments below. I look forward to hearing from you!
Happy Coding!
Magento Open Source 2.4.8 beta version released on October 8, 2024. The latest release of…
Hello Magento Friends, Creating catalog price rules programmatically in Magento 2 can be a valuable…
As the world of eCommerce continues to thrive, Shopify has become one of the most…
Shopify Remix is an innovative framework that provides a streamlined experience for building fast, dynamic,…
Building a successful eCommerce store requires expertise, and for many businesses, Shopify has become the…
In today’s digital landscape, e-commerce has become a cornerstone for businesses looking to thrive. Among…
View Comments
hi, how to get all order ID with tracking number with date only using api like rest/V1/shipments?searchCriteriaXXXXXXXXXXXXXXXXXX