Connect contact forms with buspro api

This commit is contained in:
Björn Fromme
2019-09-09 13:54:43 +02:00
parent 5827af2b5f
commit d59748a030
14 changed files with 417 additions and 66 deletions
@@ -0,0 +1,56 @@
<?php
namespace EP\EpTheme\Service;
use Symfony\Component\HttpClient\HttpClient;
use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface;
use TYPO3\CMS\Core\SingletonInterface;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
class BookingApiService implements SingletonInterface
{
/**
* @var string
*/
protected $apiToken;
/**
* @var string
*/
protected $apiEndpointUrl;
/**
* @param ConfigurationManagerInterface $manager
*/
public function __construct(ConfigurationManagerInterface $manager)
{
$settings = GeneralUtility::removeDotsFromTS(
$manager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT)
);
$this->apiToken = $settings['plugin']['tx_eptheme']['settings']['myEpApiToken'];
$this->apiEndpointUrl = $settings['plugin']['tx_eptheme']['settings']['myEpApiBaseUrl'];
}
/**
* @param array $addressData
*/
public function registerAddress(array $addressData)
{
$client = HttpClient::create();
try {
$client->request('POST', $this->apiEndpointUrl . '/booking/address', [
'headers' => [
'X-AUTH-TOKEN' => $this->apiToken,
],
'body' => [
'data' => $addressData,
],
]);
}
catch (TransportExceptionInterface $e)
{}
}
}