Создание, редактирование операции по расписанию
Описание
Используется для создания и редактирования операции по расписанию.
POST (Уровень доступа: Базовый)
Заголовки запроса
Параметр | Свойства | Описание |
---|---|---|
Accept |
STRING OPTIONAL application/json | Заголовок, указывающий формат данных, которые клиент хочет получить от сервера. |
Content-Type |
STRING OPTIONAL application/json application/xml | Заголовок, указывающий формат данных в теле запроса. |
Authorization |
STRING REQUIRED Bearer {token} | Заголовок, используемый для аутентификации клиента с помощью Bearer токена. Подробнее об использование Bearer токена. |
Sign |
STRING REQUIRED | Заголовок с подписью для аутентификации запроса. Сигнатура подписи: UserToken::::::Operation::ObjectId::ObjectTypeVal::ParamsJson::RepeatPlan::RetryOnFailPlan::RetryOnFailCount::IsSingle::FireOnSkip::State::::::EndExecDate::SignSecretKey |
Тело запроса
Параметр | Свойства | Описание |
---|---|---|
UserToken |
STRING REQUIRED | Токен пользователя. Для получения использовать метод GetUserToken. |
Operation |
STRING CONDITION guid | Номер операции по расписанию. Используется для редактирования операции, если параметр не передать - создается новая операция. Условия:
|
ObjectId |
STRING CONDITION 3xxxxxxxxx | Номер исходного СКО. Для получения использовать:
|
ObjectTypeVal |
STRING REQUIRED 1 | Тип операции по расписанию. Всегда единица. |
ParamsJson |
OBJECT REQUIRED | Параметры СКО. Параметры необходимые операции по расписанию для создания СКО. |
RepeatPlan |
STRING OPTIONAL | План выполнения. Задается в одном из двух форматов:
Если параметр не передан, то план выполнения отменяется, операция запускается один раз текущей датой и временем, после чего статус операции меняется на "Выключен". |
RetryOnFailPlan |
STRING CONDITION | План выполнения при ошибке. Определяет, с какой частотой система будет автоматически повторять операцию в случае её неудачного выполнения. Например, если указать значение 5 минут, система будет пытаться повторить операцию каждые 5 минут до тех пор, пока она не завершится успешно или не достигнет лимита параметра RetryOnFailCount .Форматы:
|
RetryOnFailCount |
STRING CONDITION number | Количество повторов выполнения при ошибке. Условия:
|
IsSingle |
STRING CONDITION 0-1 | Флаг, указывающий возможность параллельного выполнения операции. Допустимые значения:
|
FireOnSkip |
STRING CONDITION 0-1 | Флаг, указывающий необходимость создания всех запланированных операций, в случае непредвиденного пропуска операции. Допустимые значения:
|
State |
STRING REQUIRED 0-1 | Флаг, указывающий статус активности операции. Допустимые значения:
|
EndExecDate |
STRING CONDITION yyyy-MM-dd HH:mm:ss |
Дата окончания По достижению данной даты операция выполняться не будет. Параметр State изменит значение на 1 .Условия:
|
Тело ответа
Поле | Тип | Описание |
---|---|---|
OperationState |
OperationState | Статус выполнения операции. |
OperationId |
GUID | Идентификатор операции. |
EshopId |
INT | Номер магазина. |
Result |
SetScheduledOperationData | Результат выполнения запроса. |
Примеры кода
C#
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.intellectmoney.ru/personal/scheduler/setScheduledOperationData");
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Content-Type", "application/json");
request.Headers.Add("Authorization", "Bearer 9d97820c61424eb6ac0db414ccb7ac60");
request.Headers.Add("Sign", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855");
var collection = new List<KeyValuePair<string, string>>();
collection.Add(new("UserToken", "YdUlqkFcVo62XmY6B9VLJXCoAeA/0fJPxD4/kUUGmwHf5kgBa12MrKUyJd8uO0za"));
collection.Add(new("ObjectId", "3000000000"));
collection.Add(new("ObjectTypeVal", "1"));
collection.Add(new("ParamsJson", "{ \"Amount\": 10.00, \"ServiceName\": \"Подписка\", \"OrderId\": \"Покупка №50\", \"MerchantReceipt\": null}"));
collection.Add(new("RepeatPlan", "0 0 12 1/1 * ? *"));
collection.Add(new("RetryOnFailPlan", "{ "PeriodLength": 5, "PeriodType": "Minute" }"));
collection.Add(new("RetryOnFailCount", "10"));
collection.Add(new("IsSingle", "0"));
collection.Add(new("FireOnSkip", "0"));
collection.Add(new("State", "0"));
collection.Add(new("EndExecDate", "2050-01-01 00:00:00"));
var content = new FormUrlEncodedContent(collection);
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.intellectmoney.ru/personal/scheduler/setScheduledOperationData',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'UserToken=YdUlqkFcVo62XmY6B9VLJXCoAeA/0fJPxD4/kUUGmwHf5kgBa12MrKUyJd8uO0za&ObjectId=3000000000&ObjectTypeVal=1&ParamsJson={ \"Amount\": 10.00, \"ServiceName\": \"Подписка\", \"OrderId\": \"Покупка №50\", \"MerchantReceipt\": null}&RepeatPlan=0 0 12 1/1 * ? *&RetryOnFailPlan={ "PeriodLength": 5, "PeriodType": "Minute" }&RetryOnFailCount=10&IsSingle=0&FireOnSkip=0&State=0&EndExecDate=2050-01-01 00:00:00',
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'Content-Type: application/json',
'Authorization: Bearer 9d97820c61424eb6ac0db414ccb7ac60',
'Sign: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Пример ответов
JSON
{
"OperationState": {
"Code": 0,
"Desc": "Успешно обработан"
},
"Result": {
"State": {
"Code": 0,
"Desc": "Успешно обработан"
},
"ScheduledOperation": {
"CronOperationId": "1d3cf0ea-b038-48d1-913c-fc94017c87e7",
"ObjectId": 3181047635,
"CronOperationType": "Recurring",
"Params": "{ \"Amount\": 10.00, \"ServiceName\": \"Подписка\", \"OrderId\": \"Покупка 1\", \"MerchantReceipt\": null}",
"CreationDate": "2025-02-12T11:14:30.383224+03:00",
"ChangeDate": "2025-02-12T11:14:30.383224+03:00",
"LastExecDate": "2025-02-12T11:14:30.383224+03:00",
"FireOnSkip": false,
"IsSingle": false,
"CronOperationState": "Disable"
}
}
}