- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/rest/synchronization/client.php
- Класс: BitrixSaleRestSynchronizationClient
- Вызов: Client::call
public function call($methodName, $additionalParams=[])
{
$result = new Result();
if($this->clientId && $this->clientSecret)
{
$httpClient = $this->getHttpClient();
$additionalParams = $this->prepareRequest($additionalParams);
LoggerDiag::addMessage('CLIENT_CALL_REQUEST', var_export([
'getRequestUrl'=>$this->getRequestUrl($methodName),
'additionalParams'=>$additionalParams,
], true));
$httpResult = $httpClient->post(
$this->getRequestUrl($methodName),
$additionalParams
);
LoggerDiag::addMessage('CLIENT_CALL_PROCESS_RESULT', var_export([
'result'=>$httpResult,
'status'=>$httpClient->getStatus()
], true));
$respons = $this->prepareResponse($httpResult);
if($respons)
{
LoggerDiag::addMessage('CLIENT_CALL_PROCESS_RESULT_SUCCESS');
if(isset($respons['error']))
{
$result->addError(new Error($respons['error_description'], mb_strtoupper($respons['error'])));
LoggerDiag::addMessage('CLIENT_CALL_RESULT_ERROR');
}
else
{
$result->setData(['DATA'=>$respons]);
LoggerDiag::addMessage('CLIENT_CALL_RESULT_SUCCESS', var_export($respons, true));
}
}
else
{
$result->addError(new Error('Strange answer from Bitrix Service! '.$httpResult, 'STRANGE_ANSWER'));
LoggerDiag::addMessage('CLIENT_CALL_PROCESS_RESULT_ERROR');
}
}
else
{
$result->addError(new Error('No client credentials for refresh token'));
LoggerDiag::addMessage('CLIENT_CALL_CLIENT_ID_EMPTY');
}
return $result;
}