ExperienceApiInterface.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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\ListRequestInterface;
  8. use Temando\Shipping\Rest\Request\QualifyRequest;
  9. use Temando\Shipping\Rest\Response\DataObject\Experience;
  10. use Temando\Shipping\Rest\Response\DataObject\OrderQualification;
  11. /**
  12. * The Temando Experience API interface defines the supported subset of operations
  13. * as available at the Temando API.
  14. *
  15. * @package Temando\Shipping\Rest
  16. * @author Christoph Aßmann <christoph.assmann@netresearch.de>
  17. * @license https://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
  18. * @link https://www.temando.com/
  19. */
  20. interface ExperienceApiInterface
  21. {
  22. /**
  23. * Retrieve shipping options for the current quote.
  24. *
  25. * @param QualifyRequest $request
  26. * @return OrderQualification[]
  27. * @throws AdapterException
  28. */
  29. public function qualify(QualifyRequest $request);
  30. /**
  31. * Obtain shipping experiences.
  32. *
  33. * @param ListRequestInterface $request
  34. * @return Experience[]
  35. * @throws AdapterException
  36. */
  37. public function getExperiences(ListRequestInterface $request);
  38. }