altra/shippy-pro

用于连接 shippy pro API 并管理运输的包。

0.0.8 2024-01-17 12:56 UTC

This package is auto-updated.

Last update: 2024-09-17 14:20:25 UTC


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 方法中那样手动传递它。