diff --git a/lib/IntaroCrm/RestApi.php b/lib/IntaroCrm/RestApi.php index 8382694..5f777bd 100644 --- a/lib/IntaroCrm/RestApi.php +++ b/lib/IntaroCrm/RestApi.php @@ -1,4 +1,5 @@ apiUrl.'orders/history'; - $this->parameters['startDate'] = $startDate; - $this->parameters['endDate'] = $endDate; + $this->parameters['startDate'] = $this->ensureDateTime($startDate); + $this->parameters['endDate'] = $this->ensureDateTime($endDate); $this->parameters['limit'] = $limit; $this->parameters['offset'] = $offset; @@ -291,8 +292,8 @@ class RestApi * * @param string $id - идентификатор клиента * @param string $by - поиск заказа по id или externalId - * @param DateTime $startDate - начальная дата выборки - * @param DateTime $endDate - конечная дата + * @param \DateTime|string|int $startDate - начальная дата выборки (Y-m-d H:i:s) + * @param \DateTime|string|int $endDate - конечная дата выборки (Y-m-d H:i:s) * @param int $limit - ограничение на размер выборки * @param int $offset - сдвиг * @return array - массив заказов @@ -303,8 +304,8 @@ class RestApi $url = $this->apiUrl.'customers/'.$id.'/orders'; if ($by != 'externalId') $this->parameters['by'] = $by; - $this->parameters['startDate'] = $startDate; - $this->parameters['endDate'] = $endDate; + $this->parameters['startDate'] = $this->ensureDateTime($startDate); + $this->parameters['endDate'] = $this->ensureDateTime($endDate); $this->parameters['limit'] = $limit; $this->parameters['offset'] = $offset; @@ -541,10 +542,22 @@ class RestApi /** * @return \DateTime */ - public function getGeneratedAt() { + public function getGeneratedAt() + { return $this->generatedAt; } + protected function ensureDateTime($value) + { + if ($value instanceof \DateTime) { + return $value->format('Y-m-d H:i:s'); + } elseif (is_int($value)) { + return date('Y-m-d H:i:s', $value); + } + + return $value; + } + protected function getErrorMessage($response) { $str = '';