<?php
$userToken = Intellectmoney::GetUserToken([
// Параметры метода
'login' => 'myLogin',
'password' => 'myPassword',
// Данные для авторизации API запросов и расчета подписей
'token' => 'Bearer myToken',
'signSecretKey' => 'mySignSecretKey',
]);
Intellectmoney::GetScheduledOperationData([
// Параметры метода
'userToken' => $userToken,
'skip' => null,
'take' => 10,
'operation' => null,
'objectId' => null,
'objectTypeVal' => null,
'paramsJson' => null,
'repeatPlan' => null,
'retryOnFailPlan' => null,
'retryOnFailCount' => null,
'isSingle' => null,
'fireOnSkip' => null,
'state' => null,
'dateFrom' => null,
'dateTo' => null,
// Данные для авторизации API запросов и расчета подписей
'token' => 'Bearer myToken',
'signSecretKey' => 'signSecretKey',
]);
class IntellectMoney
{
// Аутентификация клиента API
public static function GetUserToken($params) {
// URL запроса
$url = 'https://api.intellectmoney.ru/personal/user/getUserToken';
// Расчет подписи для заголовка авторизации API запросов, sign (SHA256)
$signSignature = [
'',
$params['login'],
$params['password'],
'',
$params['signSecretKey'],
];
$signHash = hash('sha256', implode('::', $signSignature));
// Заголовки запроса
$headers = [
'Authorization: '.$params['token'],
'Sign: '.$signHash,
];
// Данные (тело) запроса
$data = [
'login' => $params['login'],
'password' => $params['password'],
];
// Выполняем запрос
$response = Intellectmoney::CurlRequest($url, $headers, $data);
$responseXml = simplexml_load_string($response);
$userToken = $responseXml->Result->UserToken;
return (string)$userToken;
}
// Получение операций по расписанию
public static function GetScheduledOperationData($params) {
// URL запроса
$url = 'https://api.intellectmoney.ru/personal/scheduler/getscheduledoperationdata';
// Расчет подписи для заголовка авторизации API запросов, sign (SHA256)
$signSignature = [
$params['userToken'],
$params['skip'],
$params['take'],
$params['operation'],
$params['objectId'],
$params['objectTypeVal'],
$params['paramsJson'],
$params['repeatPlan'],
$params['retryOnFailPlan'],
$params['retryOnFailCount'],
$params['isSingle'],
$params['fireOnSkip'],
$params['state'],
$params['dateFrom'],
$params['dateTo'],
'',
$params['signSecretKey'],
];
$signHash = hash('sha256', implode('::', $signSignature));
// Заголовки запроса
$headers = [
'Authorization: '.$params['token'],
'Sign: '.$signHash,
];
// Данные (тело) запроса
$data = [
'userToken' => $params['userToken'],
'skip' => $params['skip'],
'take' => $params['take'],
'operation' => $params['operation'],
'objectId' => $params['objectId'],
'objectTypeVal' => $params['objectTypeVal'],
'paramsJson' => $params['paramsJson'],
'repeatPlan' => $params['repeatPlan'],
'retryOnFailPlan' => $params['retryOnFailPlan'],
'retryOnFailCount' => $params['retryOnFailCount'],
'isSingle' => $params['isSingle'],
'fireOnSkip' => $params['fireOnSkip'],
'state' => $params['state'],
'dateFrom' => $params['dateFrom'],
'dateTo' => $params['dateTo'],
];
// Выполняем запрос
$response = Intellectmoney::CurlRequest($url, $headers, $data);
print_r((string)$response);
}
private static function CurlRequest($url, $headers, $data) {
$queryString = http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $queryString);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
}
?>