shiprocket/laravel-shiprocket-api

Shiprocket API (V1) Laravel SDK。在 Laravel 应用程序中集成 Shiprocket API 很简单,此包使您能够使用大部分 Shiprocket 功能。

2.0.0 2021-12-12 16:24 UTC

This package is auto-updated.

Last update: 2024-09-25 07:35:56 UTC


README

Shiprocket API 版本 1 的 Laravel SDK(模块)。在 Laravel 应用程序中集成 Shiprocket API 很容易。

Latest Version on Packagist Total Downloads Tests

索引

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

安装

您可以通过 composer 安装此包

composer require seshac/laravel-shiprocket-api

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Seshac\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 Seshac\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 Seshac\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#aa23cc40-6ee8-4ce0-b0ab-1a7291514299

$token =  Shiprocket::getToken();
$orderId = 16167171;
$response =  Shiprocket::order($token)->find($orderId);

创建自定义订单

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' => $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.

在这里您可以获取特定AWB的NDR信息

 $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']

变更日志

有关最近更改的更多信息,请参阅变更日志

贡献

有关详细信息,请参阅贡献指南

致谢

如果您发现任何错误或创建相关问题,请随时联系我!

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件