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!
In the world of business, understanding financial metrics is crucial for making informed decisions and…
Welcome to the MageComp Monthly Digest, where we bring you the latest updates, releases, and…
In this era, businesses are always on the lookout for ways to engage with their…
Managing a Shopify store efficiently involves keeping your product catalog organized. This includes removing outdated…
E-commerce has transformed the way consumers shop for products and services and interact with businesses.…
The e-commerce world is constantly in flux. New tech and strategies emerge daily to help…
View Comments
hi, how to get all order ID with tracking number with date only using api like rest/V1/shipments?searchCriteriaXXXXXXXXXXXXXXXXXX