Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SignUpCommand.php
Go to the documentation of this file.
1 <?php
7 
12 use Psr\Log\LoggerInterface;
15 
20 {
24  private $signUpUrlPath = 'analytics/url/signup';
25 
29  private $analyticsToken;
30 
34  private $integrationManager;
35 
39  private $config;
40 
44  private $httpClient;
45 
49  private $logger;
50 
54  private $responseResolver;
55 
66  public function __construct(
67  AnalyticsToken $analyticsToken,
68  IntegrationManager $integrationManager,
69  ScopeConfigInterface $config,
70  Http\ClientInterface $httpClient,
71  LoggerInterface $logger,
72  ResponseResolver $responseResolver
73  ) {
74  $this->analyticsToken = $analyticsToken;
75  $this->integrationManager = $integrationManager;
76  $this->config = $config;
77  $this->httpClient = $httpClient;
78  $this->logger = $logger;
79  $this->responseResolver = $responseResolver;
80  }
81 
94  public function execute()
95  {
96  $result = false;
97  $integrationToken = $this->integrationManager->generateToken();
98  if ($integrationToken) {
99  $this->integrationManager->activateIntegration();
100  $response = $this->httpClient->request(
101  ZendClient::POST,
102  $this->config->getValue($this->signUpUrlPath),
103  [
104  "token" => $integrationToken->getData('token'),
105  "url" => $this->config->getValue(Store::XML_PATH_SECURE_BASE_URL),
106  ]
107  );
108 
109  $result = $this->responseResolver->getResult($response);
110  if (!$result) {
111  $this->logger->warning(
112  sprintf(
113  'Subscription for MBI service has been failed. An error occurred during token exchange: %s.'
114  . ' Content-Type: %s',
115  !empty($response->getBody()) ? $response->getBody() : 'Response body is empty',
116  $response->getHeader('Content-Type')
117  )
118  );
119  }
120  }
121 
122  return (bool)$result;
123  }
124 }
$response
Definition: 404.php:11
$config
Definition: fraud_order.php:17
__construct(AnalyticsToken $analyticsToken, IntegrationManager $integrationManager, ScopeConfigInterface $config, Http\ClientInterface $httpClient, LoggerInterface $logger, ResponseResolver $responseResolver)
$logger