meeeet-dev / laravel-shiprocket
Shiprocket API (V1) Laravel SDK。在您的 Laravel 应用程序中集成 Shiprocket API 很简单,此包使您能够利用 Shiprocket 的多数功能。
Requires
- php: ^7.3|^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
README
Laravel SDK (模块) 用于 Shiprocket API 版本 1。在您的 Laravel 应用程序中集成 Shiprocket API 简单易行。
索引
安装
您可以通过 composer 安装此包
composer require meeeet-dev/laravel-shiprocket
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="MeeeetDev\Shiprocket\ShiprocketServiceProvider" --tag="config"
这是已发布配置文件的内容
return [ /* |-------------------------------------------------------------------------- | Default Shiprocket Credentilas |-------------------------------------------------------------------------- | | Here you can set the default shiprocket credentilas. However, you can pass the credentials while connecting to shiprocket client | */ 'credentials' => [ 'email' => env('SHIPROCKET_EMAIL', 'example@email.com'), 'password' => env('SHIPROCKET_PASSWORD', 'password'), ], /* |-------------------------------------------------------------------------- | Default output response type |-------------------------------------------------------------------------- | | Here you may specify which of the output response you need. | | Supported: "collection" , "object", "array" | */ 'responseType' => 'collection', ];
身份验证
https://apidocs.shiprocket.in/?version=latest#8a56b4d6-b418-43cf-be25-ead62532aa18
获取登录详情
use MeeeetDev\Shiprocket\Shiprocket; . . . $loginDetails = Shiprocket::login([ 'email' => 'yourAPiMail@example.com', 'password' => 'example' ]) // if you added credentials at shiprocket.php config file no need to pass credentials
或者
直接获取 Token
use MeeeetDev\Shiprocket\Shiprocket; . . . $token = Shiprocket::getToken();// if you added credentials at shiprocket.php config
订单
获取所有订单
https://apidocs.shiprocket.in/?version=latest#d4f48023-b0b2-40af-8072-1adf97227d21
$token = Shiprocket::getToken(); $orderDetails = [ // refer above url for required parameters 'per_page'=>20, ]; $response = Shiprocket::order($token)->getOrders($orderDetails);
创建自定义订单
https://apidocs.shiprocket.in/?version=latest#247e58f3-37f3-4dfb-a4bb-b8f6ab6d41ec
$orderDetails = [ // refer above url for required parameters ]; $token = Shiprocket::getToken(); $response = Shiprocket::order($token)->create($orderDetails);
创建特定渠道的订单
https://apidocs.shiprocket.in/?version=latest#45126d19-74ed-4cf5-9447-8ac1041bbb3c
$orderDetails = [ // refer above url for required parameters ]; $channelSpecificOrder = true; $response = Shiprocket::order($token)->create($orderDetails,$channelSpecificOrder);
创建快速订单(包装 API)
这是一个创建订单、发货、添加新的取货地点以及生成相应的清单和标签的一体化 API。创建、发货并生成订单的清单和标签
https://apidocs.shiprocket.in/?version=latest#7bd788f4-63ba-49c3-889e-960a379d090f
$orderDetails = [ // refer aboce url for required parameters ]; $response = Shiprocket::order($token)->quickCreate($orderDetails);
取消订单
https://apidocs.shiprocket.in/?version=latest#5c0e41ca-d868-44c4-8ddb-73a8de239401
$ids = [12345,12346]; $response = Shiprocket::order($token)->cancel($ids);
更新取货地点
https://apidocs.shiprocket.in/?version=latest#4ba045ab-e25b-4bb1-adbd-37bbd07b354e
$orderDetails = [ 'order_id' => [12345,123456 ] 'pickup_location' => 'location name' ]; $response = Shiprocket::order($token)->updatePickupLocation($orderDetails);
快递公司
使用这些 API 将 AWB 分配到您的订单,检查快递公司是否可行,并请求取货。 https://apidocs.shiprocket.in/?version=latest#a091dfc1-f882-466a-96a1-e245d3c80c5b
为运输生成 AWB
https://apidocs.shiprocket.in/?version=latest#b267ca9a-f7aa-4edc-8477-7dc15e46e08a
$data = [ 'shipment_id' => '', 'courier_id' => '' ]; $response = Shiprocket::courier($token)->generateAWB($data); // for more details visit above url
检查快递公司可行性
https://apidocs.shiprocket.in/?version=latest#29ff5116-0917-41ba-8c82-638412604916
$pincodeDetails = [ // for paramets refer obove url. ]; $response = Shiprocket::courier($token)->checkServiceability($pincodeDetails);
检查国际快递公司可行性
https://apidocs.shiprocket.in/?version=latest#6d1f2fb0-43c1-434f-8c93-50674a0b59ef
$pincodeDetails = [ // for paramets refer obove url. ]; $response = Shiprocket::courier($token)->checkInterNationalServiceability($pincodeDetails);
请求运输取货
https://apidocs.shiprocket.in/?version=latest#9f42cdfd-a055-4934-a0f4-86764f87c80d
$pickupDetails = [ // for paramets refer obove url. ]; $response = Shiprocket::courier($token)->requestPickup($pickupDetails);
运输
https://apidocs.shiprocket.in/?version=latest#0f9a75fd-6d23-453c-a3d7-85857e8c8759
获取所有运输详情
https://apidocs.shiprocket.in/?version=latest#a9913eaf-94ba-4012-a105-9687fddc7221
$filterParam = []; // you can use sort, sort_by, filter,filter_by $shipments = Shiprocket::shipment($token)->get();
获取特定运输详情
https://apidocs.shiprocket.in/?version=latest#5f9bced5-4f16-4868-be55-a8c0215d0711
$shipemntId = 1232122; $shipments = Shiprocket::shipment($token)->getSpecific($shipemntId);
跟踪
使用这些 API 通过 AWB 码或运输 ID 获取您运输的跟踪详情。 https://apidocs.shiprocket.in/?version=latest#62304450-5d27-4a28-929f-6c68d08040aa
通过 AWB 获取跟踪信息
https://apidocs.shiprocket.in/?version=latest#f2ac0962-4c34-4fe4-8266-50f8a1e8eab0
$awb = 1234444222; $response = Shiprocket::track($token)->throughAwb($awb);
获取多个 AWB 的跟踪数据
https://apidocs.shiprocket.in/?version=latest#cf273e6a-08d0-4624-bf7a-7510c28292e0
$awbs = ["788830567028","788829354408"]; $response = Shiprocket::track($token)->throwMultipleAwb($awb);
通过运输 ID 获取跟踪信息
https://apidocs.shiprocket.in/?version=latest#89005f4f-2b2f-473d-95b0-f54665a16b42
$shipmentId = 123213; $response = Shiprocket::track($token)->throwShipmentId($shipmentId);
通过订单 ID 获取跟踪数据
https://apidocs.shiprocket.in/?version=latest#bfcf3357-4e39-4134-831a-1ff33f67205e
$orderId = 123213; $channelID = 121; //optional $shipment = Shiprocket::track($token)->throwOrderId($orderId,$channelID);
取货地址
https://apidocs.shiprocket.in/?version=latest#6949d954-d0ba-4749-99aa-2435ab7aaf4f
添加新的取货地点
https://apidocs.shiprocket.in/?version=latest#6fbe81f5-c3d5-462e-b18f-d6316dde7779
$newLocation = []; //Refer the above url for required parameteres $location = Shiprocket::pickup($token)->addLocation($newLocation);
获取所有取货地点
https://apidocs.shiprocket.in/?version=latest#3bd67de6-8f00-435f-a708-c0c3ab252fee
$location = Shiprocket::pickup($token)->getLocations();
渠道
https://apidocs.shiprocket.in/?version=latest#6233e207-6de3-4960-a59c-b34ebe3fe33d
获取有关所有集成渠道的详细信息
https://apidocs.shiprocket.in/?version=latest#b9b9bcbe-923c-4ccd-a46e-d9f089622a80
$channels = Shiprocket::channel($token)->get();
货物清单/生成标签/打印发票
https://apidocs.shiprocket.in/?version=latest#a9f708ec-5861-43b9-a510-8c1bba074cb5
使用运输ID生成订单清单
https://apidocs.shiprocket.in/?version=latest#dc281151-33e6-485f-a76a-015d8d36b49f
$shipmentIds = [ 'shipment_id' => [121221,122112] ]; $manifestDetails = Shiprocket::generate($token)->manifest(shipmentIds);
打印清单(打印此API之前需要先生成清单。使用“生成清单”API执行相同操作)
https://apidocs.shiprocket.in/?version=latest#dd1e168b-6bb2-45b9-a930-68cae3cbe97c
$orderIds = [ 'order_ids' => [121221,122112] ]; $response = Shiprocket::generate($token)->printManifest(orderIds);
通过以数组形式传递运输ID来生成订单标签
https://apidocs.shiprocket.in/?version=latest#4dfcbd78-4789-4680-82bf-9ff07f56d34e
$shipmentIds = [ 'shipment_id' => [121221,122112] ]; $response = Shiprocket::generate($token)->label(shipmentIds);
为您生成订单发票
https://apidocs.shiprocket.in/?version=latest#421f997f-1216-41e0-8c9b-433ddb666ad4
$orderIds = [ 'ids' => [121221,122112] ]; $response = Shiprocket::generate($token)->invoice(orderIds);
产品
https://apidocs.shiprocket.in/?version=latest#5046ae90-2014-4453-90d5-2ce776567f47
获取所有产品
https://apidocs.shiprocket.in/?version=latest#0b8d1f26-3abd-4f4e-9cd8-3928bcfcf30b
$filterParam = []; // you can use sort, sort_by, filter,filter_by $shipments = Shiprocket::product($token)->get();
获取特定产品的详细信息
https://apidocs.shiprocket.in/?version=latest#134f7710-660c-464f-b579-6da46ba9402f
$productId = 1232122; $shipments = Shiprocket::product($token)->getSpecific($productId);
添加新产品
https://apidocs.shiprocket.in/?version=latest#344b789d-584e-486a-a7a9-0cf33ce52bf3
$productDetails = [ // refer above url for required parameters ]; $response = Shiprocket::product($token)->create($productDetails);
NDR运输
在此可以获取所有处于NDR状态运输
$response = Shiprocket::ndr($this->token)->getShipments(); // EX : GET : https://apiv2.shiprocket.in/v1/external/ndr/all where you can get all the shipments that are in NDR.
在此可以获取处于NDR状态特定AWB的信息
$awb_code = '0212331233322'; $response = Shiprocket::ndr($this->token)->getSpecificShipment($awb_code); // GET : https://apiv2.shiprocket.in/v1/external/ndr/{AWB} Where you can information of specific AWB which is in NDR
对于开放NDR,您可以采取诸如重试、RTO等操作
$shipmentDetails = ['awb' => '', 'address_1' => '', 'address2' => '', 'phone' => '']; $response = Shiprocket::ndr($this->token)->reattempt($shipmentDetails); // POST : https://apiv2.shiprocket.in/v1/external/ndr/reattempt?awb=190729394&address1=Dr Nageshwar&address2=opposite Ashok Nagar&phone=9534952626&deferred_date=2020-08-27
仓库
检查仓库SRF服务可用性
$filterParam = [ 'postcode' => 110030, // Delivery Post Code 'sku' => "SKU name", 'quantity' => 1, //Quantity in numbers ]; $response = Shiprocket::warehouse($this->token)->checkServiceability($filterParam); // EX : https://apiv2.shiprocket.in/v1/warehouse/srf-serviceability?postcode=784001&sku=Baby-socket&quantity=1 // Response : ['serviceability'=>true,'etd'=>'2020-12-06']
更新日志
请参阅更新日志以获取有关最近更改的更多信息。
贡献
请参阅贡献以获取详细信息。
致谢
如果您发现任何错误或创建有关该问题的issue,请随时联系我!
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。