/** * Prepare request information * * @return array Prepared data */ public function getRequestData() { $request_data = array(); $yad = new YandexDelivery(); if (!empty($yad->client_ids['client_id'])) { $url = 'https://delivery.yandex.ru/api/1.0/searchDeliveryList'; $package_info = $this->_shipping_info['package_info']; $data['city_from'] = $package_info['origination']['city']; $data['city_to'] = $package_info['location']['city']; $data['client_id'] = $yad->client_ids['client_id']; $data['sender_id'] = $yad->client_ids['sender_ids']; $weight_data = fn_expand_weight($this->_shipping_info['package_info']['W']); $data['weight'] = $weight_data['plain'] * Registry::get('settings.General.weight_symbol_grams') / 1000; $data['weight'] = sprintf('%.3f', round((double) $data['weight'] + 9.999999999999999E-12, 3)); $service_params = $this->_shipping_info['service_params']; list($length, $width, $height) = $this->getPackageValues(); $data['width'] = $service_params['width'] > $width ? $service_params['width'] : $width; $data['height'] = $service_params['height'] > $height ? $service_params['height'] : $height; $data['length'] = $service_params['length'] > $length ? $service_params['length'] : $length; $data['total_cost'] = $this->_shipping_info['package_info']['C']; $data['secret_key'] = $yad->generateSecretKey('searchDeliveryList', $data); $request_data = array('method' => 'post', 'url' => $url, 'data' => $data); } return $request_data; }