Aller au contenu

omnibus/aramex Référence de l’API

Étage
Fournisseur · Omnibus
Version
2.x
Suite de conformité
branchée, CI non lue
Vérifié en réel
Son README ne le dit pas
Licence
MIT
composer require omnibus/aramex:2.x-dev

Lue dans les fichiers PHP du paquet au commit 340746f7ec76 : ses espaces de noms, classes, interfaces et énumérations, leurs constantes, propriétés et méthodes publiques avec leur PHPDoc, et les options que prennent ses fabriques. Rien n’en est exécuté.

Omnibus\Aramex

  • Api class

    Aramex's web services as JSON (ws.aramex.net/.../json): every request carries the ClientInfo.

    3 methods · 1 property · 2 constants

  • AramexGatewayFactory class

    options: username: '%env(ARAMEX_USERNAME)%' # the web services account (an email) password: '%env(ARAMEX_PASSWORD)%' account_number: '%env(ARAMEX_ACCOUNT)%' account_pin: '%env(ARAMEX_PIN)%' account_entity: '%env(ARAMEX_ENTITY)%' # e.g. AMM, DXB, BAH: the account's station account_country: '%env(ARAMEX_COUNTRY)%' # e.g. JO, AE, BH sandbox: true rates: [...] # optional: configured prices instead of CalculateRate

    12 options

  • Mapping class

    Aramex's shapes for ours. Products: PDX Priority Document Express, PPX Priority Parcel Express, EPX Economy Parcel Express, OND domestic, CDS domestic.

    3 methods · 1 constant

Omnibus\Aramex\Action

  • PickupAction class

    Location's FetchOffices: Aramex offices in the country, nearest city first.

    3 methods

  • RatingAction class

    RateCalculator's CalculateRate, once per product (option products: the codes to price; by default PPX and EPX across borders, OND and CDS at home).

    3 methods

  • ShippingAction class

    Shipping's CreateShipments with a label (report 9729 PDF, or ZPL with option label_format).

    3 methods

  • TrackingAction class

    Tracking's TrackShipments: the updates, oldest first.

    3 methods

Omnibus\Aramex

Api class

final class Api Api.php:11

Aramex's web services as JSON (ws.aramex.net/.../json): every request carries the ClientInfo.

const LIVE = 'https://ws.aramex.net/ShippingAPI.V2'
const TEST = 'https://ws.sbx.aramex.net/ShippingAPI.V2'
public readonly bool $sandbox

Api::__construct()

public function __construct(readonly HttpClientInterface $http, readonly string $username, readonly string $password, readonly string $accountNumber, readonly string $accountPin, readonly string $accountEntity, readonly string $accountCountry, public readonly bool $sandbox = false, readonly int $timeout = 20)

Api::clientInfo()

public function clientInfo(): array

Api::call()

public function call(string $service, string $operation, array $body): array

AramexGatewayFactory class

final class AramexGatewayFactory extends GatewayFactory AramexGatewayFactory.php:24

options: username: '%env(ARAMEX_USERNAME)%' # the web services account (an email) password: '%env(ARAMEX_PASSWORD)%' account_number: '%env(ARAMEX_ACCOUNT)%' account_pin: '%env(ARAMEX_PIN)%' account_entity: '%env(ARAMEX_ENTITY)%' # e.g. AMM, DXB, BAH: the account's station account_country: '%env(ARAMEX_COUNTRY)%' # e.g. JO, AE, BH sandbox: true rates: [...] # optional: configured prices instead of CalculateRate

Options

OptionDefault
sandboxfalse
omnibus.apifunction (Config $c) { $http = $this->http ?? HttpClient::create(); return new Api($http, (string) $c['username'], (string) $c['password'], (string) …
omnibus.action.ratingstatic fn(Config $c) => $c->get('rates') ? null : new RatingAction()
omnibus.action.shippingnew ShippingAction()
omnibus.action.trackingnew TrackingAction()
omnibus.action.pickupnew PickupAction()
usernamerequired
passwordrequired
account_numberrequired
account_pinrequired
account_entityrequired
account_countryrequired

Mapping class

final class Mapping Mapping.php:10

Aramex's shapes for ours. Products: PDX Priority Document Express, PPX Priority Parcel Express, EPX Economy Parcel Express, OND domestic, CDS domestic.

const PRODUCTS = ['PPX' => 'Priority Parcel Express', 'PDX' => 'Priority Document Express', 'EPX' => 'Economy Parcel Express', 'GPX' => 'Ground Parcel Express', 'OND' => 'Ove…

Mapping::party()

public static function party(Address $a, ?string $reference = null): array

Mapping::details()

public static function details(Shipment $s, string $product): array

Mapping::status()

public static function status(?string $code, ?string $description = null): TrackingStatus

Omnibus\Aramex\Action

PickupAction class

final class PickupAction implements ActionInterface, ApiAwareInterface PickupAction.php:15

Location's FetchOffices: Aramex offices in the country, nearest city first.

PickupAction::__construct()

public function __construct()

PickupAction::supports()

public function supports(Request $request): bool

PickupAction::execute()

public function execute(Request $request): void

RatingAction class

final class RatingAction implements ActionInterface, ApiAwareInterface RatingAction.php:15

RateCalculator's CalculateRate, once per product (option products: the codes to price; by default PPX and EPX across borders, OND and CDS at home).

RatingAction::__construct()

public function __construct()

RatingAction::supports()

public function supports(Request $request): bool

RatingAction::execute()

public function execute(Request $request): void

ShippingAction class

final class ShippingAction implements ActionInterface, ApiAwareInterface ShippingAction.php:16

Shipping's CreateShipments with a label (report 9729 PDF, or ZPL with option label_format).

ShippingAction::__construct()

public function __construct()

ShippingAction::supports()

public function supports(Request $request): bool

ShippingAction::execute()

public function execute(Request $request): void

TrackingAction class

final class TrackingAction implements ActionInterface, ApiAwareInterface TrackingAction.php:17

Tracking's TrackShipments: the updates, oldest first.

TrackingAction::__construct()

public function __construct()

TrackingAction::supports()

public function supports(Request $request): bool

TrackingAction::execute()

public function execute(Request $request): void