ShipmentApiInterface.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. /**
  3. * Refer to LICENSE.txt distributed with the Temando Shipping module for notice of license
  4. */
  5. namespace Temando\Shipping\Rest\Adapter;
  6. use Temando\Shipping\Rest\Exception\AdapterException;
  7. use Temando\Shipping\Rest\Request\ItemRequestInterface;
  8. use Temando\Shipping\Rest\Response\DataObject\Shipment;
  9. /**
  10. * The Temando Shipment & Tracking API interface defines the supported subset of
  11. * operations as available at the Temando API.
  12. *
  13. * @package Temando\Shipping\Rest
  14. * @author Christoph Aßmann <christoph.assmann@netresearch.de>
  15. * @author Sebastian Ertner <sebastian.ertner@netresearch.de>
  16. * @license https://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
  17. * @link https://www.temando.com/
  18. */
  19. interface ShipmentApiInterface
  20. {
  21. /**
  22. * Read one shipment from the platform.
  23. *
  24. * @param ItemRequestInterface $request
  25. * @return Shipment
  26. * @throws AdapterException
  27. */
  28. public function getShipment(ItemRequestInterface $request);
  29. /**
  30. * Cancel shipment at the platform.
  31. *
  32. * @param ItemRequestInterface $request
  33. * @return Shipment
  34. * @throws AdapterException
  35. */
  36. public function cancelShipment(ItemRequestInterface $request);
  37. }