• Модуль: 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;
}