aniket-in / laravel-shiprocket
Laravel 的 Shiprocket API 包装器
Requires
- php: ^7.3|^8.0
- spatie/laravel-package-tools: ^1.9.2
Requires (Dev)
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-08 22:13:58 UTC
README
Laravel 的 Shiprocket API 包装器
目录
功能
- 与 Shiprocket API 保持最新
- 完全可定制
- 简单一行代码
- 令牌缓存
- 响应支持任何数据类型
安装
您可以通过 composer 安装此包
composer require aniket-in/shiprocket-laravel
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="AniketIN\Shiprocket\ShiprocketServiceProvider" --tag="shiprocket-config"
这是已发布配置文件的内容
return [ /* |-------------------------------------------------------------------------- | Shiprocket Credentilas |-------------------------------------------------------------------------- | | Here you can set multiple shiprocket credentilas pair. | And then use any credential pair by their key i.e. default, second | */ 'credentials' => [ 'default' => [ 'email' => env('SHIPROCKET_EMAIL', 'example@email.com'), 'password' => env('SHIPROCKET_PASSWORD', 'password'), ], // 'second' => [ // 'email' => env('SHIPROCKET_SECOND_EMAIL', 'example@email.com'), // 'password' => env('SHIPROCKET_SECOND_PASSWORD', 'password'), // ], ], /* |-------------------------------------------------------------------------- | Shiprocket Credentilas |-------------------------------------------------------------------------- | | Here you can set the default credentilas to use by their key. | i.e. default, second | */ 'default_credentials' => env('SHIPROCKET_DEFAULT_CREDENTIALS', 'default'), /* |-------------------------------------------------------------------------- | Shiprocket Credentilas |-------------------------------------------------------------------------- | | Here you can set the behaviour whether to use caching or not for auth tokens. | */ 'token_cache' => env('SHIPROCKET_TOKEN_CACHE', true), /* |-------------------------------------------------------------------------- | Token Cache Expiry Duration |-------------------------------------------------------------------------- | | Here you can set token's cache expiry duration | */ 'token_cache_duration' => env('SHIPROCKET_TOKEN_CACHE_DURATION', 86400), ];
导入
要使用此包的方法,请像这样在控制器顶部导入 Facade
use AniketIN\Shiprocket\Facades\Shiprocket;
身份验证
使用此包处理身份验证,您只需在 config/shiprocket.php
文件中设置 Shiprocket 凭据即可。
您也可以在配置文件中将 token 缓存 设置为 true
。这将通过缓存 token 而不是每次请求都生成新的 token 来节省大量时间。此外,缓存时长
也可以自定义。
然而,如果您只想获取 token
Shiprocket::getToken();
此外,如果您想使用除默认凭据之外的凭据,则
Shiprocket::withCredential('another-credential-key')->nowCallYourMethod(...);
响应
要获取 API 返回的响应,您可以使用 Laravel 提供的任何方法,例如
Shiprocket::order()->all()->json();
所有可用方法
$response->body() : string; $response->json($key = null) : array|mixed; $response->object() : object; $response->collect($key = null) : Illuminate\Support\Collection; $response->status() : int; $response->ok() : bool; $response->successful() : bool; $response->redirect(): bool; $response->failed() : bool; $response->serverError() : bool; $response->clientError() : bool; $response->header($header) : string; $response->headers() : array;
有关更多信息,请参阅 https://laravel.net.cn/docs/9.x/http-client#making-requests
订单
创建自定义订单
https://apidocs.shiprocket.in/#247e58f3-37f3-4dfb-a4bb-b8f6ab6d41ec
Shiprocket::order()->create([ // refer above url for required parameters... ])
创建特定渠道的订单
https://apidocs.shiprocket.in/#45126d19-74ed-4cf5-9447-8ac1041bbb3c
Shiprocket::order()->createChannelSpecific([ // refer above url for required parameters... ])
更改/更新已创建订单的取货位置
https://apidocs.shiprocket.in/#4ba045ab-e25b-4bb1-adbd-37bbd07b354e
Shiprocket::order()->updatePickupAddress([ // refer above url for required parameters... ])
更新客户送货地址
https://apidocs.shiprocket.in/#f98ea72a-2efb-4bbc-a4bb-f4dd7e15618a
Shiprocket::order()->updateCustomerAddress([ // refer above url for required parameters... ])
更新订单
https://apidocs.shiprocket.in/#f08900fe-ea38-485d-b50c-3ec2fbc5644a
Shiprocket::order()->update([ // refer above url for required parameters... ])
取消订单
https://apidocs.shiprocket.in/#5c0e41ca-d868-44c4-8ddb-73a8de239401
Shiprocket::order()->cancelByIds([ // order ids... ])
获取所有订单
https://apidocs.shiprocket.in/#d4f48023-b0b2-40af-8072-1adf97227d21
Shiprocket::order()->all([ // refer above url for required parameters... ])
获取特定订单详情
https://apidocs.shiprocket.in/#aa23cc40-6ee8-4ce0-b0ab-1a7291514299
Shiprocket::order()->detailsById($orderId)
快递
为发货生成 AWB
https://apidocs.shiprocket.in/#b267ca9a-f7aa-4edc-8477-7dc15e46e08a
Shiprocket::courier()->generateAwbForShipment([ // refer above url for required parameters... ])
快递列表
https://apidocs.shiprocket.in/#ce08883d-5782-4523-a425-919d10b27536
Shiprocket::courier()->list([ // refer above url for required parameters... ])
检查快递服务可行性
https://apidocs.shiprocket.in/#29ff5116-0917-41ba-8c82-638412604916
Shiprocket::courier()->serviceability([ // refer above url for required parameters... ])
检查国际快递服务可行性
https://apidocs.shiprocket.in/#6d1f2fb0-43c1-434f-8c93-50674a0b59ef
Shiprocket::courier()->internationalServiceability([ // refer above url for required parameters... ])
请求发货取货
https://apidocs.shiprocket.in/#9f42cdfd-a055-4934-a0f4-86764f87c80d
Shiprocket::courier()->requestShipmentPickup([ // refer above url for required parameters... ])
退货订单
创建退货订单
https://apidocs.shiprocket.in/#81b2135b-d43c-4002-8f7f-a670aa5210fa
Shiprocket::return()->create([ // refer above url for required parameters... ])
获取所有退货订单
https://apidocs.shiprocket.in/#a98c37b1-47ac-40b4-b80f-051611fe350e
Shiprocket::return()->all([ // refer above url for required parameters... ])
发货
获取所有发货详情
https://apidocs.shiprocket.in/#a9913eaf-94ba-4012-a105-9687fddc7221
Shiprocket::shipment()->all([ // refer above url for required parameters... ])
获取特定发货详情
https://apidocs.shiprocket.in/#5f9bced5-4f16-4868-be55-a8c0215d0711
Shiprocket::shipment()->detailsById($shipment_id)
通过 AWB 取消发货
https://apidocs.shiprocket.in/#659bb564-413a-4e4c-b866-ebe01d3f61dc
Shiprocket::shipment()->cancelByAWBs([123456, 7890123])
跟踪
通过 AWB 获取跟踪信息
https://apidocs.shiprocket.in/#f2ac0962-4c34-4fe4-8266-50f8a1e8eab0
Shiprocket::track()->awb($awb)
通过多个 AWB 获取跟踪数据
https://apidocs.shiprocket.in/#cf273e6a-08d0-4624-bf7a-7510c28292e0
Shiprocket::track()->multipleAwb($awb_array)
通过发货 ID 获取跟踪信息
https://apidocs.shiprocket.in/#89005f4f-2b2f-473d-95b0-f54665a16b42
Shiprocket::track()->shipment($shipment_id)
通过订单 ID 获取跟踪数据
https://apidocs.shiprocket.in/#bfcf3357-4e39-4134-831a-1ff33f67205e
Shiprocket::track()->order($order_id)
取货地址
获取所有取货位置
https://apidocs.shiprocket.in/#3bd67de6-8f00-435f-a708-c0c3ab252fee
Shiprocket::pickupAddress()->all()
添加新的取货位置
https://apidocs.shiprocket.in/#6fbe81f5-c3d5-462e-b18f-d6316dde7779
Shiprocket::pickupAddress()->create([ // refer above url for required parameters... ])
钱包
获取钱包余额
https://apidocs.shiprocket.in/#341bd458-5d80-4978-8e30-13651be2a652
Shiprocket::wallet()->getBalance()
产品
获取所有产品
https://apidocs.shiprocket.in/#0b8d1f26-3abd-4f4e-9cd8-3928bcfcf30b
Shiprocket::product()->all([ // refer above url for required parameters... ])
获取特定产品详情
https://apidocs.shiprocket.in/#134f7710-660c-464f-b579-6da46ba9402f
Shiprocket::product()->detailsById($product_id)
添加新产品
https://apidocs.shiprocket.in/#344b789d-584e-486a-a7a9-0cf33ce52bf3
Shiprocket::product()->create([ // refer above url for required parameters... ])
作者
支持与反馈
如需支持或反馈,请发送邮件至 laravel-shiprocket@aniket.ind.in 或提出您的问题。