CarrierApiInterface.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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\Request\ListRequestInterface;
  9. use Temando\Shipping\Rest\Response\DataObject\CarrierConfiguration;
  10. use Temando\Shipping\Rest\Response\DataObject\CarrierIntegration;
  11. /**
  12. * The Temando Carriers API interface defines the supported subset of operations
  13. * as available at the Temando API.
  14. *
  15. * @package Temando\Shipping\Rest
  16. * @author Benjamin Heuer <benjamin.heuer@netresearch.de>
  17. * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
  18. * @link http://www.temando.com/
  19. */
  20. interface CarrierApiInterface
  21. {
  22. /**
  23. * @param ListRequestInterface $request
  24. *
  25. * @return CarrierConfiguration[]
  26. * @throws AdapterException
  27. */
  28. public function getCarrierConfigurations(ListRequestInterface $request);
  29. /**
  30. * @param ListRequestInterface $request
  31. *
  32. * @return CarrierIntegration[]
  33. * @throws AdapterException
  34. */
  35. public function getCarrierIntegrations(ListRequestInterface $request);
  36. /**
  37. * @param ItemRequestInterface $request
  38. *
  39. * @return void
  40. * @throws AdapterException
  41. */
  42. public function deleteCarrierConfiguration(ItemRequestInterface $request);
  43. }