meeeet-dev/laravel-shiprocket

Shiprocket API (V1) Laravel SDK。在您的 Laravel 应用程序中集成 Shiprocket API 很简单,此包使您能够利用 Shiprocket 的多数功能。

v1.1 2024-03-27 13:45 UTC

This package is auto-updated.

Last update: 2024-09-27 14:49:45 UTC


README

Laravel SDK (模块) 用于 Shiprocket API 版本 1。在您的 Laravel 应用程序中集成 Shiprocket API 简单易行。

Latest Version on Packagist Psalm Total Downloads Tests

索引

  1. 安装
  2. 使用
    1. 身份验证
    2. 订单
    3. 快递公司
    4. 跟踪
    5. 运输
    6. 取货地址
    7. 渠道
    8. 货物清单/生成标签/打印发票
    9. 产品
    10. 仓库
  3. 贡献者

安装

您可以通过 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)。请参阅许可文件以获取更多信息。