Jelajahi Sumber

add few api methods

Alexandr Kozlov 8 tahun lalu
induk
melakukan
7697b0b9f2

+ 1 - 1
src/lib/API/Service/Calculator.php

@@ -43,6 +43,6 @@ class Calculator implements ServiceInterface
 	 */
 	public function getServiceCostInternational(array $parms)
 	{
-		return $this->client->invoke('getServiceCostInternational', $parms, $request);
+		return $this->client->invoke('getServiceCostInternational', $parms, 'request');
 	}
 }

+ 19 - 4
src/lib/API/Service/Order.php

@@ -69,20 +69,35 @@ class Order implements ServiceInterface
 	 * @param  string  $orderNum    Номер заказа DPD
 	 * @param  int     $parcelCount Количество мест в заказе
 	 * @param  double  $cargoValue  Сумма объявленной ценности, руб.
+	 * 
 	 * @return mixed 
 	 */
 	public function getInvoiceFile($orderNum, $parcelCount = false, $cargoValue = false)
 	{
-		$this->client->convertEncoding = false;
-
 		$ret = $this->client->invoke('getInvoiceFile', array_filter(array(
 			'orderNum'    => $orderNum,
 			'parcelCount' => $parcelCount,
 			'cargoValue'  => $cargoValue,
 		)), 'request');
 
-		$this->client->convertEncoding = true;
-
 		return $ret;
 	}
+
+	/**
+	 * @param string $datePickup   Дата приёма груза
+	 * @param string $regularNum   Номер регулярного заказа DPD
+	 * @param string $cityPickupId Идентификатор города приёма груза в системе DPD
+	 * @param string $addressCode  Код адреса в информационных системах заказчика и DPD
+	 * 
+	 * @return mixed
+	 */
+	public function getRegisterFile($datePickup, $regularNum = false, $cityPickupId = false, $addressCode = false)
+	{
+		return $this->client->invoke('getRegisterFile', array_filter(array(
+			'DATE_PICKUP'    => $datePickup,
+			'REGULAR_NUM'    => $regularNum,
+			'CITY_PICKUP_ID' => $cityPickupId,
+			'ADDRESS_CODE'   => $addressCode,
+		)), 'request');
+	}
 }

+ 16 - 0
src/lib/API/Service/Tracking.php

@@ -37,4 +37,20 @@ class Tracking implements ServiceInterface
 			'docId' => $docId
 		));
 	}
+
+	/**
+	 * Получить все состояния заказа клиента, изменившиеся с момента последнего вызова данного метода
+	 * 
+	 * @param $dateFrom по умолчанию now() - 15 дней
+	 * @param $dateTo   по умолчанию now()
+	 * @param $limit    по умолчанию 100
+	 */
+	public function getEvents($dateFrom = false, $dateTo = false, $limit = false)
+	{
+		return $this->client->invoke('getEvents', array_filter(array(
+			'DATE_TO'       => $dateTo,
+			'DATE_FROM'     => $dateFrom,
+			'MAX_ROW_COUNT' => $limit,
+		)), 'request')
+	}
 }