Ejemplo n.º 1
0
 /**
  * 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;
 }