aftership / tracking-sdk
官方 AfterShip 追踪 PHP API 库
8.0.0
2024-07-29 07:41 UTC
Requires
- php: >=8.0.0
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: 6.5.8
- phpdocumentor/reflection-docblock: >=5.4
- phpseclib/phpseclib: 3.0.37
- symfony/property-access: ^3.4
- symfony/property-info: ^3.4
- symfony/serializer: ^3.4
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-01 03:43:26 UTC
README
此库允许您通过 PHP 快速轻松地使用 AfterShip 追踪 API。
有关此库的更新,请参阅我们的 GitHub 发布页面。
如果您需要使用 AfterShip 产品的支持,请联系 support@aftership.com。
目录
开始之前
开始集成之前
- 创建 AfterShip 账户.
- 创建 API 密钥.
- 安装 PHP 版本 8.0 或更高版本。
API 和 SDK 版本
每个 SDK 版本都设计用于与特定 API 版本一起使用。请参考下表以确定每个 SDK 版本支持的 API 版本,确保您选择与您打算使用的 API 版本相匹配的 SDK 版本。
快速入门
安装
composer require aftership/tracking-sdk
构造函数
使用选项创建 AfterShip 实例
示例
<?php require_once __DIR__ . '/vendor/autoload.php'; $client = new \Tracking\Client([ 'apiKey' => 'YOUR_API_KEY', 'authenticationType' => \Tracking\Config::AUTHENTICATION_TYPE_API_KEY, ]); try { $trackingInfo = $client->tracking->getTrackingById('<tracking-id>'); var_dump($trackingInfo->checkpoints); } catch (\Tracking\Exception\AfterShipError $e) { // Handle the error var_dump($e->getErrorCode()); var_dump($e->getStatusCode()); }
速率限制器
查看 速率限制 以了解 AfterShip 的速率限制策略。
错误处理
当请求过程中出现任何错误时,SDK 将返回错误对象,具体如下
错误列表
端点
AfterShip 实例具有以下属性,与 API 端点完全相同
- courier - 获取我们支持的快递列表。
- tracking - 创建追踪、更新追踪和获取追踪结果。
- estimated-delivery-date - 获取订单的预计送达日期。
/trackings
POST /trackings
$payload = new \Tracking\API\Tracking\CreateTrackingRequest(); $payload->tracking_number = '<tracking_number>'; $payload->slug = '<slug>'; $trackingInfo = $client->tracking->createTracking($payload); var_dump($trackingInfo);
DELETE /trackings/:id
$trackingInfo = $client->tracking->deleteTrackingById('<tracking_id>'); var_dump($trackingInfo);
GET /trackings
$query = new \Tracking\API\Tracking\GetTrackingsQuery(); $query->setPage(1) ->setLimit(10) ->setKeyword('123'); $trackingInfo = $client->tracking->getTrackings($query); var_dump($trackingInfo);
GET /trackings/:id
$trackingInfo = $client->tracking->getTrackingById('<tracking_id>'); var_dump($trackingInfo);
PUT /trackings/:id
$payload = new \Tracking\API\Tracking\UpdateTrackingByIdRequest(); $payload->title = 'test'; $trackingInfo = $client->tracking->updateTrackingById('<tracking_id>', $payload); var_dump($trackingInfo);
POST /trackings/:id/retrack
$trackingInfo = $client->tracking->retrackTrackingById('<tracking_id>'); var_dump($trackingInfo);
POST /trackings/:id/mark-as-completed
$payload = new \Tracking\API\Tracking\MarkTrackingCompletedByIdRequest(); $payload->reason = 'DELIVERED'; $trackingInfo = $client->tracking->markTrackingCompletedById('<tracking_id>', $payload); var_dump($trackingInfo);
/couriers
GET /couriers
$couriers = $client->courier->getUserCouriers(); var_dump($couriers);
GET /couriers/all
$couriers = $client->courier->getAllCouriers(); var_dump($couriers);
POST /couriers/detect
$payload = new \Tracking\API\Courier\DetectCourierRequest(); $payload->slug = ['<slug>']; $payload->tracking_number = '<tracking_number>'; $couriers = $client->courier->detectCourier($payload); var_dump($couriers);
/estimated-delivery-date
POST /estimated-delivery-date/predict-batch
$payload = new \Tracking\API\EstimatedDeliveryDate\PredictBatchRequest(); $edd = new \Tracking\Model\EstimatedDeliveryDateRequest(); $edd->slug = '<slug>'; $edd->pickup_time = '2024-08-01 06:42:30'; $orginAddress = new \Tracking\Model\OriginAddressEstimatedDeliveryDateRequest(); $orginAddress->country = '<ISO 3166-1 country/region code>'; $orginAddress->state = '<ISO 3166-1 country/region code>'; $edd->origin_address = $orginAddress; $destAddress = new \Tracking\Model\DestinationAddressEstimatedDeliveryDateRequest(); $destAddress->country = '<ISO 3166-1 country/region code>'; $destAddress->state = '<ISO 3166-1 country/region code>'; $edd->destination_address = $destAddress; $payload->estimated_delivery_dates = [$edd]; $notification = $client->estimated_delivery_date->predictBatch($payload); var_dump($notification);
帮助
如果您遇到困难,我们在这里提供帮助
- 有关此包的问题、功能请求、错误报告和一般讨论的 问题跟踪器。在创建新问题之前,请尝试进行搜索。
- 通过 support@aftership.com 联系 AfterShip 官方支持
许可协议
版权所有 (c) 2024 AfterShip
在 MIT 许可协议下发布。