v1.0.15; +upd: RestApiClient; +new: createOrder events
This commit is contained in:
parent
e45cde522a
commit
c03d1e4b65
@ -490,12 +490,18 @@ class ICrmOrderActions
|
|||||||
|
|
||||||
$GLOBALS['INTARO_CRM_FROM_HISTORY'] = true;
|
$GLOBALS['INTARO_CRM_FROM_HISTORY'] = true;
|
||||||
|
|
||||||
|
// clear intarocrm user basket
|
||||||
|
CSaleBasket::DeleteAll($USER->GetID());
|
||||||
|
|
||||||
// pushing existing orders
|
// pushing existing orders
|
||||||
foreach ($orderHistory as $order) {
|
foreach ($orderHistory as $order) {
|
||||||
|
if(function_exists('intarocrm_order_pre_persist')) {
|
||||||
|
$order = intarocrm_order_pre_persist($order);
|
||||||
|
}
|
||||||
|
|
||||||
if(!isset($order['externalId']) || !$order['externalId']) {
|
if(!isset($order['externalId']) || !$order['externalId']) {
|
||||||
|
|
||||||
// custom orderType functunion
|
// custom orderType function
|
||||||
if(function_exists('intarocrm_set_order_type')) {
|
if(function_exists('intarocrm_set_order_type')) {
|
||||||
$orderType = intarocrm_set_order_type($order);
|
$orderType = intarocrm_set_order_type($order);
|
||||||
if($orderType)
|
if($orderType)
|
||||||
@ -997,12 +1003,19 @@ class ICrmOrderActions
|
|||||||
// set PAYED
|
// set PAYED
|
||||||
if(isset($order['paymentStatus']) && $order['paymentStatus'] && $optionsPayment[$order['paymentStatus']])
|
if(isset($order['paymentStatus']) && $order['paymentStatus'] && $optionsPayment[$order['paymentStatus']])
|
||||||
CSaleOrder::PayOrder($order['externalId'], $optionsPayment[$order['paymentStatus']]);
|
CSaleOrder::PayOrder($order['externalId'], $optionsPayment[$order['paymentStatus']]);
|
||||||
|
|
||||||
|
if(function_exists('intarocrm_order_post_persist')) {
|
||||||
|
intarocrm_order_post_persist($order);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(count($orderHistory))
|
if(count($orderHistory))
|
||||||
COption::SetOptionString(self::$MODULE_ID, self::$CRM_ORDER_HISTORY_DATE, $dateFinish->format('Y-m-d H:i:s'));
|
COption::SetOptionString(self::$MODULE_ID, self::$CRM_ORDER_HISTORY_DATE, $dateFinish->format('Y-m-d H:i:s'));
|
||||||
|
|
||||||
|
// clear intarocrm user basket
|
||||||
|
CSaleBasket::DeleteAll($USER->GetID());
|
||||||
|
|
||||||
$USER->Logout();
|
$USER->Logout();
|
||||||
if($realUser) $USER->Authorize($realUser);
|
if($realUser) $USER->Authorize($realUser);
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace IntaroCrm;
|
namespace IntaroCrm;
|
||||||
|
|
||||||
class RestApi
|
class RestApi
|
||||||
@ -105,28 +106,11 @@ class RestApi
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Удаление заказа
|
|
||||||
*
|
|
||||||
* @param string $id - идентификатор заказа
|
|
||||||
* @param string $by - поиск заказа по id или externalId
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
public function orderDelete($id, $by = 'externalId')
|
|
||||||
{
|
|
||||||
$url = $this->apiUrl.'orders/'.$id.'/delete';
|
|
||||||
if ($by != 'externalId')
|
|
||||||
$this->parameters['by'] = $by;
|
|
||||||
$result = $this->curlRequest($url, 'POST');
|
|
||||||
return $result;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Получение последних измененных заказов
|
* Получение последних измененных заказов
|
||||||
*
|
*
|
||||||
* @param DateTime $startDate - начальная дата выборки
|
* @param \DateTime|string|int $startDate - начальная дата и время выборки (Y-m-d H:i:s)
|
||||||
* @param DateTime $endDate - конечная дата
|
* @param \DateTime|string|int $endDate - конечная дата и время выборки (Y-m-d H:i:s)
|
||||||
* @param int $limit - ограничение на размер выборки
|
* @param int $limit - ограничение на размер выборки
|
||||||
* @param int $offset - сдвиг
|
* @param int $offset - сдвиг
|
||||||
* @return array - массив заказов
|
* @return array - массив заказов
|
||||||
@ -134,9 +118,8 @@ class RestApi
|
|||||||
public function orderHistory($startDate = null, $endDate = null, $limit = 100, $offset = 0)
|
public function orderHistory($startDate = null, $endDate = null, $limit = 100, $offset = 0)
|
||||||
{
|
{
|
||||||
$url = $this->apiUrl.'orders/history';
|
$url = $this->apiUrl.'orders/history';
|
||||||
$this->parameters['skipMyChanges'] = true;
|
$this->parameters['startDate'] = $this->ensureDateTime($startDate);
|
||||||
$this->parameters['startDate'] = $startDate;
|
$this->parameters['endDate'] = $this->ensureDateTime($endDate);
|
||||||
$this->parameters['endDate'] = $endDate;
|
|
||||||
$this->parameters['limit'] = $limit;
|
$this->parameters['limit'] = $limit;
|
||||||
$this->parameters['offset'] = $offset;
|
$this->parameters['offset'] = $offset;
|
||||||
|
|
||||||
@ -144,7 +127,6 @@ class RestApi
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Методы для работы с клиентами */
|
/* Методы для работы с клиентами */
|
||||||
/**
|
/**
|
||||||
* Получение клиента по id
|
* Получение клиента по id
|
||||||
@ -175,9 +157,9 @@ class RestApi
|
|||||||
public function customers($phone = null, $email = null, $fio = null, $limit = 200, $offset = 0)
|
public function customers($phone = null, $email = null, $fio = null, $limit = 200, $offset = 0)
|
||||||
{
|
{
|
||||||
$url = $this->apiUrl.'customers';
|
$url = $this->apiUrl.'customers';
|
||||||
$this->parameters['phone'] = $phone;
|
if($phone) $this->parameters['phone'] = $phone;
|
||||||
$this->parameters['email'] = $email;
|
if($email) $this->parameters['email'] = $email;
|
||||||
$this->parameters['fio'] = $fio;
|
if($fio) $this->parameters['fio'] = $fio;
|
||||||
$this->parameters['limit'] = $limit;
|
$this->parameters['limit'] = $limit;
|
||||||
$this->parameters['offset'] = $offset;
|
$this->parameters['offset'] = $offset;
|
||||||
|
|
||||||
@ -251,30 +233,13 @@ class RestApi
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Удаление клиента
|
|
||||||
*
|
|
||||||
* @param string $id - идентификатор
|
|
||||||
* @param string $by - поиск заказа по id или externalId
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
public function customerDelete($id, $by = 'externalId')
|
|
||||||
{
|
|
||||||
$url = $this->apiUrl.'customers/'.$id.'/delete';
|
|
||||||
if ($by != 'externalId')
|
|
||||||
$this->parameters['by'] = $by;
|
|
||||||
$result = $this->curlRequest($url, 'POST');
|
|
||||||
return $result;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Получение списка заказов клиента
|
* Получение списка заказов клиента
|
||||||
*
|
*
|
||||||
* @param string $id - идентификатор клиента
|
* @param string $id - идентификатор клиента
|
||||||
* @param string $by - поиск заказа по id или externalId
|
* @param string $by - поиск заказа по id или externalId
|
||||||
* @param DateTime $startDate - начальная дата выборки
|
* @param \DateTime|string|int $startDate - начальная дата выборки (Y-m-d H:i:s)
|
||||||
* @param DateTime $endDate - конечная дата
|
* @param \DateTime|string|int $endDate - конечная дата выборки (Y-m-d H:i:s)
|
||||||
* @param int $limit - ограничение на размер выборки
|
* @param int $limit - ограничение на размер выборки
|
||||||
* @param int $offset - сдвиг
|
* @param int $offset - сдвиг
|
||||||
* @return array - массив заказов
|
* @return array - массив заказов
|
||||||
@ -285,8 +250,8 @@ class RestApi
|
|||||||
$url = $this->apiUrl.'customers/'.$id.'/orders';
|
$url = $this->apiUrl.'customers/'.$id.'/orders';
|
||||||
if ($by != 'externalId')
|
if ($by != 'externalId')
|
||||||
$this->parameters['by'] = $by;
|
$this->parameters['by'] = $by;
|
||||||
$this->parameters['startDate'] = $startDate;
|
$this->parameters['startDate'] = $this->ensureDateTime($startDate);
|
||||||
$this->parameters['endDate'] = $endDate;
|
$this->parameters['endDate'] = $this->ensureDateTime($endDate);
|
||||||
$this->parameters['limit'] = $limit;
|
$this->parameters['limit'] = $limit;
|
||||||
$this->parameters['offset'] = $offset;
|
$this->parameters['offset'] = $offset;
|
||||||
|
|
||||||
@ -523,10 +488,22 @@ class RestApi
|
|||||||
/**
|
/**
|
||||||
* @return \DateTime
|
* @return \DateTime
|
||||||
*/
|
*/
|
||||||
public function getGeneratedAt() {
|
public function getGeneratedAt()
|
||||||
|
{
|
||||||
return $this->generatedAt;
|
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)
|
protected function getErrorMessage($response)
|
||||||
{
|
{
|
||||||
$str = '';
|
$str = '';
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?
|
<?
|
||||||
$arModuleVersion = array(
|
$arModuleVersion = array(
|
||||||
"VERSION" => "1.0.14",
|
"VERSION" => "1.0.15",
|
||||||
"VERSION_DATE" => "2014-11-09 19:51:00"
|
"VERSION_DATE" => "2014-11-18 17:00:00"
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user