- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/order/import/provider.php
- Класс: Bitrix\Crm\Order\Import\Provider
- Вызов: Provider::query
private function query($command, $data)
{
$command = (string)$command;
if (!is_array($data))
{
$data = [];
}
$result = new Result();
if ($command !== '')
{
$params['BX_COMMAND'] = $command;
$params['BX_LICENCE'] = $this->licenceCode;
$params['BX_DOMAIN'] = $this->domain;
$params['BX_TYPE'] = $this->type;
$params['BX_VERSION'] = ModuleManager::getVersion('crm');
$params['CONNECTOR'] = $this->connectorName;
$params['LINE'] = $this->connectorName;
$params['DATA'] = $data;
//$params = Converter::convertStubInEmpty($params);
$params = Encoding::convertEncoding($params, SITE_CHARSET, 'UTF-8');
$params['DATA'] = base64_encode(serialize($params['DATA']));
$params['BX_HASH'] = self::requestSign($this->type, md5(implode('|', $params)));
$httpClient = new HttpClient([
'socketTimeout' => 20,
'streamTimeout' => 60,
'waitResponse' => true,
'disableSslVerification' => true,
]);
$httpClient->setHeader('User-Agent', 'Bitrix Store Connector Client');
$httpClient->setHeader('x-bitrix-licence', $this->licenceCode);
$request = $httpClient->post($this->controllerUrl, $params);
try
{
$request = Json::decode($request);
$result = self::convertArrayObject($request);
}
catch (\Exception $e)
{
$result->addError(new Error($e->getMessage(), $e->getCode(), __METHOD__));
}
}
return $result;
}