Описание

Для создания и редактирования операций по расписанию необходимо отправить POST-запрос на следующий адрес URL: 
https://api.intellectmoney.ru/personal/scheduler/setScheduledOperationData

Операцию по расписанию можно создавать когда, в уведомлении о платеже параметр reccurringState пришел в состоянии "Activated", подробнее об уведомлениях написано тут: Описание уведомлений от системы IntellectMoney при работе с операциями по расписанию

Полное описание функционала смотрите в Personal API пункт SetScheduledOperation()-Редактирование операций по расписанию.

Пример на языке программирования PHP

Пример создания операции по расписанию на PHP
$userToken = getToken();
$data = array(
    'UserToken' => $userToken,// Получаем в момент регистрации операции по расписанию
    'Operation' => null,// Приходит среди параметров в уведомлении об оплате счёта на Result URL
    'ObjectId' => 3496318551,//Номер счёта к оплате в системе IntellectMoney
    'ObjectTypeVal' => 1,// пока передаём 1
    'ParamsJson' => '{"Amount":"100"}',// Тут дополнительная информация, например - сумма списания
    'RepeatPlan' => "0 0 12 1/4 * ? *",// Указываем период списания
    'RetryOnFailPlan' => "0 0/15 * 1/1 * ? *",// Указываем период через который совершать повторно операцию списания, если при первой попытке случилась ошибка
    'RetryOnFailCount' => 3,// Количество повторных попыток
    'FireOnSkip' => 1,// Флаг создания запланированной задачи если она была пропущена
    'EndExecDate' => "12.12.2021",// Дата окончания операций по расписанию
    'State' => 1// Состояние операции - активна/не активна
);

$request = curlRequest('https://api.intellectmoney.ru/personal/scheduler/setScheduledOperationData', $data);
$result = simplexml_load_string($request);
print_r((string)$result->Result->ScheduledOperation->CronOperationId);
//Результат: получили Id созданной операции по расписанию
//ece5b08a-8951-4739-8d71-ee589676bcd2

Результатом выполнения данного примера станет получение CronOperationId, данное значение нужно передать в параметре Operation для редактирования операции по расписанию.

Вспомогательные функции

Для всех примеров по работе с API используется функция cURL языка программирования PHP, по этому необходимо произвести настройку сервера согласно документации по требованиям cURL в PHP: http://php.net/manual/ru/curl.requirements.php.

До начала тестирования, разместите пример функции curlRequest в файле где будет производиться тестирование функционала API:

Функция для обмена информацией с системой IntellectMoney
function curlRequest($url, $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_POST, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $queryString);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

В функции getToken() используются личные данные - логин и пароль для доступа в личный кабинет IntellectMoney

Пример получения UserToken на PHP
function getToken(){
    $urlGetToken = "https://api.intellectmoney.ru/personal/user/getUserToken";
    $data = array(
        "Login" => "s.zhukov@intellectmoney.ru",// Логин для входа в личный кабинет IntellectMoney
        "Password" => "myPassword"// Пароль для входа в личный кабинет IntellectMoney
    );
    $requestResult = curlRequest($urlGetToken, $data, true);
    $result = simplexml_load_string($requestResult);
    $userToken = $result->Result->UserToken;
    return (string)$userToken;
}


  • No labels