|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / app / code / TIG / PostNL / Webservices / Endpoints / |
Filename | /home/dev2.destoffenstraat.com/app/code/TIG/PostNL/Webservices/Endpoints/Locations.php |
Size | 4.07 kb |
Permission | rwxrwxrwx |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 20-Dec-2022 13:13 |
Last accessed | 22-Aug-2025 16:17 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
*
* ..::..
* ..::::::::::::..
* ::'''''':''::'''''::
* ::.. ..: : ....::
* :::: ::: : : ::
* :::: ::: : ''' ::
* ::::..:::..::.....::
* ''::::::::::::''
* ''::''
*
*
* NOTICE OF LICENSE
*
* This source file is subject to the Creative Commons License.
* It is available through the world-wide-web at this URL:
* http://creativecommons.org/licenses/by-nc-nd/3.0/nl/deed.en_US
* If you are unable to obtain it through the world-wide-web, please send an email
* to servicedesk@tig.nl so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please contact servicedesk@tig.nl for more information.
*
* @copyright Copyright (c) Total Internet Group B.V. https://tig.nl/copyright
* @license http://creativecommons.org/licenses/by-nc-nd/3.0/nl/deed.en_US
*/
namespace TIG\PostNL\Webservices\Endpoints;
use TIG\PostNL\Config\Provider\ShippingOptions;
use TIG\PostNL\Helper\Data;
use TIG\PostNL\Webservices\Soap;
use TIG\PostNL\Webservices\AbstractEndpoint;
use TIG\PostNL\Webservices\Api\Message;
use TIG\PostNL\Webservices\Parser\Label\Shipments as ShipmentData;
class Locations extends AbstractEndpoint
{
/**
* @var string
*/
private $version = 'v2_1';
/**
* @var string
*/
private $endpoint = 'locations';
/**
* @var Soap
*/
private $soap;
/**
* @var array
*/
private $requestParams;
/**
* @var ShippingOptions
*/
private $shippingOptions;
/**
* @var Data
*/
private $postNLhelper;
/**
* @var Message
*/
private $message;
/**
* Locations constructor.
*
* @param \TIG\PostNL\Webservices\Soap $soap
* @param \TIG\PostNL\Helper\Data $postNLhelper
* @param \TIG\PostNL\Config\Provider\ShippingOptions $shippingOptions
* @param \TIG\PostNL\Webservices\Api\Message $message
* @param \TIG\PostNL\Webservices\Parser\Label\Shipments $shipmentData
*/
public function __construct(
Soap $soap,
Data $postNLhelper,
ShippingOptions $shippingOptions,
Message $message,
ShipmentData $shipmentData
) {
$this->soap = $soap;
$this->shippingOptions = $shippingOptions;
$this->postNLhelper = $postNLhelper;
$this->message = $message;
parent::__construct(
$shipmentData
);
}
/**
* @return mixed
* @throws \Magento\Framework\Webapi\Exception
*/
public function call()
{
return $this->soap->call($this, 'GetNearestLocations', $this->requestParams);
}
/**
* @param $address
* @param $startDate
*/
public function updateParameters($address, $startDate = false)
{
$this->requestParams = [
'Location' => [
'DeliveryOptions' => $this->postNLhelper->getAllowedDeliveryOptions($address['country']),
'DeliveryDate' => $this->getDeliveryDate($startDate),
'Postalcode' => str_replace(' ', '', $address['postcode']),
'Options' => ['Daytime', 'Morning'],
'AllowSundaySorting' => 'true'
],
'Countrycode' => $address['country'],
'Message' => $this->message->get('')
];
}
/**
* @return string
*/
public function getLocation()
{
return $this->version . '/' . $this->endpoint;
}
/**
* @param $startDate
*
* @return bool|string
*/
public function getDeliveryDate($startDate)
{
if ($startDate !== false) {
return $startDate;
}
return $this->postNLhelper->getTomorrowsDate();
}
/**
* @param int $storeId
*/
public function changeAPIKeyByStoreId($storeId)
{
$this->soap->updateApiKey($storeId);
}
}
/**
*
* ..::..
* ..::::::::::::..
* ::'''''':''::'''''::
* ::.. ..: : ....::
* :::: ::: : : ::
* :::: ::: : ''' ::
* ::::..:::..::.....::
* ''::::::::::::''
* ''::''
*
*
* NOTICE OF LICENSE
*
* This source file is subject to the Creative Commons License.
* It is available through the world-wide-web at this URL:
* http://creativecommons.org/licenses/by-nc-nd/3.0/nl/deed.en_US
* If you are unable to obtain it through the world-wide-web, please send an email
* to servicedesk@tig.nl so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please contact servicedesk@tig.nl for more information.
*
* @copyright Copyright (c) Total Internet Group B.V. https://tig.nl/copyright
* @license http://creativecommons.org/licenses/by-nc-nd/3.0/nl/deed.en_US
*/
namespace TIG\PostNL\Webservices\Endpoints;
use TIG\PostNL\Config\Provider\ShippingOptions;
use TIG\PostNL\Helper\Data;
use TIG\PostNL\Webservices\Soap;
use TIG\PostNL\Webservices\AbstractEndpoint;
use TIG\PostNL\Webservices\Api\Message;
use TIG\PostNL\Webservices\Parser\Label\Shipments as ShipmentData;
class Locations extends AbstractEndpoint
{
/**
* @var string
*/
private $version = 'v2_1';
/**
* @var string
*/
private $endpoint = 'locations';
/**
* @var Soap
*/
private $soap;
/**
* @var array
*/
private $requestParams;
/**
* @var ShippingOptions
*/
private $shippingOptions;
/**
* @var Data
*/
private $postNLhelper;
/**
* @var Message
*/
private $message;
/**
* Locations constructor.
*
* @param \TIG\PostNL\Webservices\Soap $soap
* @param \TIG\PostNL\Helper\Data $postNLhelper
* @param \TIG\PostNL\Config\Provider\ShippingOptions $shippingOptions
* @param \TIG\PostNL\Webservices\Api\Message $message
* @param \TIG\PostNL\Webservices\Parser\Label\Shipments $shipmentData
*/
public function __construct(
Soap $soap,
Data $postNLhelper,
ShippingOptions $shippingOptions,
Message $message,
ShipmentData $shipmentData
) {
$this->soap = $soap;
$this->shippingOptions = $shippingOptions;
$this->postNLhelper = $postNLhelper;
$this->message = $message;
parent::__construct(
$shipmentData
);
}
/**
* @return mixed
* @throws \Magento\Framework\Webapi\Exception
*/
public function call()
{
return $this->soap->call($this, 'GetNearestLocations', $this->requestParams);
}
/**
* @param $address
* @param $startDate
*/
public function updateParameters($address, $startDate = false)
{
$this->requestParams = [
'Location' => [
'DeliveryOptions' => $this->postNLhelper->getAllowedDeliveryOptions($address['country']),
'DeliveryDate' => $this->getDeliveryDate($startDate),
'Postalcode' => str_replace(' ', '', $address['postcode']),
'Options' => ['Daytime', 'Morning'],
'AllowSundaySorting' => 'true'
],
'Countrycode' => $address['country'],
'Message' => $this->message->get('')
];
}
/**
* @return string
*/
public function getLocation()
{
return $this->version . '/' . $this->endpoint;
}
/**
* @param $startDate
*
* @return bool|string
*/
public function getDeliveryDate($startDate)
{
if ($startDate !== false) {
return $startDate;
}
return $this->postNLhelper->getTomorrowsDate();
}
/**
* @param int $storeId
*/
public function changeAPIKeyByStoreId($storeId)
{
$this->soap->updateApiKey($storeId);
}
}