CCrmExternalSaleImport::QueryOrderData

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmExternalSaleImport
  4. QueryOrderData
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_external_sale_import.php
  • Класс: \CCrmExternalSaleImport
  • Вызов: CCrmExternalSaleImport::QueryOrderData
private function QueryOrderData($arFilter, $arOptions = null)
{
	if(!is_array($arOptions))
	{
		$arOptions = array();
	}

	$requestMethod = isset($arOptions["REQUEST_METHOD"]) && is_string($arOptions["REQUEST_METHOD"])
		? mb_strtoupper($arOptions["REQUEST_METHOD"]) : "";
	if($requestMethod === "")
	{
		$requestMethod = "GET";
	}

	$siteUrl = !empty($_SERVER["HTTP_HOST"])
		? (($GLOBALS["APPLICATION"]->IsHTTPS() ? "https" : "http")."://".$_SERVER["HTTP_HOST"])
		: "";

	if($requestMethod === "GET")
	{
		if ($siteUrl !== "")
		{
			$arFilter["CRM_SITE_URL"] = $siteUrl;
		}

		$request = array(
			"METHOD" => "GET",
			"PATH" => CHTTP::urlAddParams($this->path, $arFilter),
			"HEADERS" => array()
		);
	}
	else
	{
		$request = array(
			"METHOD" => "POST",
			"PATH" => $this->path,
			"HEADERS" => array(),
			"BODY" => array()
		);

		foreach ($arFilter as $key => $val)
		{
			$request["BODY"][$key] = $val;
		}

		if ($siteUrl !== "")
		{
			$request["BODY"]["CRM_SITE_URL"] = $siteUrl;
		}
	}

	$response = $this->proxy->Send($request);
	if (is_array($response) && isset($response["BODY"]))
	{
		return $response["BODY"];
	}

	$errors = array();
	foreach ($this->proxy->GetErrors() as $error)
	{
		$errors[] = sprintf("[%s] %s", $error[0], $error[1]);
	}
	$status = implode(" ", $errors);

	$this->AddError("GD1", $status);
	CCrmExternalSale::Update($this->externalSaleId, array("LAST_STATUS" => $status));
	return null;
}

Добавить комментарий