altra / shippy-pro
用于连接 shippy pro API 并管理运输的包。
    0.0.8
    2024-01-17 12:56 UTC
Requires
- php: ^8.0
- altra/dto: ^1.0|^2.0
- guzzlehttp/guzzle: ^7.5
- illuminate/support: ^8.0|^9.0
Requires (Dev)
- laravel/pint: ^1.1
- orchestra/testbench: ^7.7
- phpunit/phpunit: ^9.5
README
将 Shippy Pro API 连接到 Laravel 的包。
安装
composer require altra/shippy-pro
php artisan vendor:publish
用法
获取承运人
这将列出您在 Shippy Pro 上的所有承运人。
ShippyPro::getCarriers()
获取取货
这将列出您已排队的所有取货,或者如果您传递了参数 $pickup$,则只列出单个取货。
ShippyPro::getPickups();
OR
ShippyPro::getPickups(['PickupId' => {ID}]);
预订取货
您可以预订取货。
ShippyPro::bookPickup()
->toAddress({ADDRESSFORPICKUPTOARRIVE})
->fromAddress({ADDRESSTOPICKUP})
->parcels({ARRAYOFPARCELSTOPICKUP})
->carrier({CARRIERTOUSE}})
->pickupTime({DATEANDTIMETOPICKUP})
->requestPickup();
还有一些可选方法,例如
->note() // Add a string for an observation
->morningMinTime() // add a string like "08:00"
->morningMaxTime() // add a string like "12:00"
->afternoonMinTime() // add a string like "14:00"
->afternoonMaxTime() // add a string like "18:00"
取消取货
ShippyPro::cancelPickup({PICKUPTOCANCEL});
检查地址验证
ShippyPro::checkAddress({ADDRESSTOVALIDATE});
创建运输
我们可以在 Shippy Pro 上创建运输,如下所示
ShippyPro::createShipment()
        ->toAddress(ToAddressData::fromArray([
          'name'    => $data['name'],
          'company' => $data['company'],
          'street1' => $data['street_1'],
          'street2' => $data['street_2'],
          'city'    => $data['city'],
          'state'   => $data['state'],
          'zip'     => $data['postcode'],
          'country' => $data['country_iso'],
          'phone'   => $data['phone'],
          'email'   => $data['email'],
        ]))
        ->fromAddress(FromAddressData::fromArray(config('shippy_pro.from_address'))) // comes from the config but you can do it manually like toAddress
        ->parcels([Parcels]) // array of parcels
        ->carrierNote("Info for the carrier") // Note for the carrier
        ->carrier(CarrierData::fromArray([
          'carrierName'    => $data['carrier_name'],
          'carrierId'      => $data['carrier_id'],
          'carrierService' => $data['carrier_service'],
        ]))
        ->transactionId($data['transaction_id']) // Your personal ID
        ->isReturn($data['is_return']) // bool
        ->contentDescription($data['content_description']) // Description of the parcel
        ->requestShipment()
      ; 
我们需要确保在我们的 shippy_pro.php 配置中正确设置了 from_address,否则我们可以像在 toAddress 方法中那样手动传递它。