Prechádzať zdrojové kódy

add EventTracking service

Alexandr Kozlov 8 rokov pred
rodič
commit
c4839dff5a

+ 43 - 0
src/lib/API/Service/EventTracking.php

@@ -0,0 +1,43 @@
+<?php
+namespace Ipol\DPD\API\Service;
+
+use \Ipol\DPD\API\User\UserInterface;
+use \Ipol\DPD\API\Client\Factory as ClientFactory;
+
+/**
+ * Служба для работы со статусами заказа
+ */
+class EventTracking implements ServiceInterface
+{
+	protected $wdsl = 'http://ws.dpd.ru/services/event-tracking?wsdl';
+
+    /**
+	 * Подтверждает получение статусов
+	 * 
+	 * @param  $docId
+	 * 
+	 * @return array
+	 */
+	public function confirm($docId)
+	{
+		return $this->client->invoke('confirm', array(
+			'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');
+    }
+}

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

@@ -45,20 +45,4 @@ 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');
-	}
 }

+ 6 - 5
src/lib/API/User/User.php

@@ -13,11 +13,12 @@ class User implements UserInterface
 	 * @var array
 	 */
 	public static $classmap = array(
-		'geography'   => '\\Ipol\\DPD\\API\\Service\\Geography',
-		'calculator'  => '\\Ipol\\DPD\\API\\Service\\Calculator',
-		'order'       => '\\Ipol\\DPD\\API\\Service\\Order',
-		'label-print' => '\\Ipol\\DPD\\API\\Service\\LabelPrint',
-		'tracking'    => '\\Ipol\\DPD\\API\\Service\\Tracking',
+		'geography'      => '\\Ipol\\DPD\\API\\Service\\Geography',
+		'calculator'     => '\\Ipol\\DPD\\API\\Service\\Calculator',
+		'order'          => '\\Ipol\\DPD\\API\\Service\\Order',
+		'label-print'    => '\\Ipol\\DPD\\API\\Service\\LabelPrint',
+		'tracking'       => '\\Ipol\\DPD\\API\\Service\\Tracking',
+		'event-tracking' => '\\Ipol\\DPD\\API\\Service\\EventTracking',
 	);
 
 	/**