public function execute($observer) { $data = $observer->getData(); $orderId = $data['order_ids'][0]; // FLO $dataJson = $this->_quote->getDataFromSqlToFields($orderId); $endUrl = 'targets?unicity='; foreach ($dataJson as $key => $value) { $result = $this->_quote->getSqlLine('mailperf_fields', 'id', $key); if ($result[0]['isUnicity'] == 1) { $endUrl .= $value; } } /* Check if target exists */ $getResponseApi = $this->_restHelper->get($endUrl); /* perform a POST or PUT action depending on the previous result */ if ($getResponseApi['info']['http_code'] == 200) { $endUrl = 'targets/' . $getResponseApi['result']['id']; $getResponseApi = $this->_restHelper->put($endUrl, $dataJson); } else { if ($getResponseApi['info']['http_code'] == 404) { $endUrl = 'targets/'; $getResponseApi = $this->_restHelper->post($endUrl, $dataJson); } else { /* An error message should be there, the API call failed. */ } } $idSegement = $this->cfg->getConfig('checkoutSuccess/segment', 'none'); if ($idSegement != 'none') { $endUrl = 'targets/' . $getResponseApi['result']['id'] . '/segments/' . $idSegement; $getResponseApi = $this->_restHelper->post($endUrl, NULL); } }
/** * @param EventObserver $observer * @return void */ public function execute(EventObserver $observer) { $data = $observer->getData(); $orderId = $data['order_ids'][0]; $orderData = $this->_quote->getOrderData($orderId); /* Now, lets update/create a target */ $getResponseApi = $this->_restHelper->put('targets', $orderData); if (!isset($getResponseApi['result']['id'])) { /* Target creation/update failed */ return 0; } $idSegement = $this->cfg->getConfig('checkoutSuccess/segment', 'none'); if ($idSegement != 'none') { $endUrl = 'targets/' . $getResponseApi['result']['id'] . '/segments/' . $idSegement; $getResponseApi = $this->_restHelper->post($endUrl, null); } }