Общая информация

Данное API позволяет запросить реестр платежей, создавать, редактировать и деактивировать операции по расписанию.  Взаимодействие между сервером IntellectMoney и клиентом API происходит по HTTP-протоколу.

Для того, чтобы иметь возможность совершать запросы описанные в этой документации, Вам необходимо иметь доступ к API (см. Получение доступа к API).

ГОТОВЫЕ БИБЛИОТЕКИ


Для отладки функционала существует коллекция Postman, чтобы начать работу, необходимо указать свои данные в переменные коллекции IntellectMoney API.

В методах коллекции, отправка запроса и обработка результат реализована на вкладках "Pre-request" и "Tests" соответственно. Данный подход позволяет подробно описать логику расчета подписей, формирования заголовков и параметров метода.

Postman - IntellectMoney API (Рекуррентые платежи)

Запрос к системе IntellectMoney

Данные при запросах на сервер IntellectMoney передаются в формате параметров HTTP-запроса в кодировке UTF-8 с типом контента "application/x-www-form-urlencoded". 

В ответ данные по умолчанию возвращаются в формате XML. Что бы получить ответ в формате JSON нужно в заголовки запроса передать "Accept: text/json".

Ответ системы IntellectMoney на запросы

В ответ приходят два состояния запроса это <OperationState>  и <Response>:

  1.  <OperationState> сообщает - смогла ли система IntellectMoney обработать данный запрос. Возможны три варианта:

    1. Система обработала запрос. Ответ типа  <Response>  будет содержать результат работы метода (синхронная обработка). ( Код операции - 0 )
    2. Система поставила запрос в очередь на обработку. Ответ типа  <Response>   будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1 )
    3. Система не смогла обработать запрос. Операция выполнена не будет. ( Код операции - 2 )
  2. <Response> сообщает статус запроса - был ли найден данный метод, все ли параметры переданы верно и так далее. 

В случае, если какой-либо параметр будет передан не верно, в состоянии <Response> будет выведено сообщение об ошибке и параметр, который передан не корректно.

СЛОВАРЬ ТЕРМИНОВ

  • СКО — Счет К Оплате, инвойс

Важно

Для доступа к API следует получить ключ доступа через операцию аутентификации клиента getUserToken. Данный ключ является обязательным параметром для всех операций API.

Для всех запросов к API используется метод curlRequest. Код данного метода можно посмотреть на странице Вспомогательные функции для взаимодействия с API системы IntellectMoney

ПОРЯДОК ВЫЗОВА МЕТОДОВ

getUserToken() —  Аутентификация клиента API

Передача параметров

Правило формирования заголовка Sign: ::Login::Password::::signSecretKey

Для запроса ключа доступа клиента к API необходимо отправить POST-запрос на следующий адрес URL:

https://api.intellectmoney.ru/personal/user/getUserToken

В запросе необходимо передать следующие параметры:

Название

Имя параметра

Обязательный

Описание

Логин

Login

Да

Логин пользователя юридического лица (магазина).

Используется для входа в личный кабинет на странице: https://intellectmoney.ru/ru/.

Пароль

Password

Да

Пароль пользователя юридического лица (магазина).

Используется для входа в личный кабинет на странице: https://intellectmoney.ru/ru/.

Ответ

Ответ типа  <Response>  будет содержать структуру  <UserTokenData>

Примеры

Общий вид предоставления данных

Пример запроса
Post /personal/user/getUserToken HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
 
Login = s.zhukov+2@intellectmoney.ru
Password = myPassword
Пример ответа
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <OperationState>
        <Code>0</Code>
        <Desc>Успешно обработана</Desc>
    </OperationState>
    <OperationId>f2c33a48-17c8-4889-a327-5ad1b6260cd5</OperationId>
    <EshopId>0</EshopId>
    <Result>
        <State>
            <Code>0</Code>
            <Desc>Успешно обработан.</Desc>
        </State>
        <UserToken>bs/fZNe0CE+b/Ze1xvVaNdEbjxm2wkRqMBSnBXJO9nFeEM57Hg17+AS8nF0Cs7+0</UserToken>
    </Result>
</Response>


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

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

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

GETINVOICESHISTORY() — ПОЛУЧЕНИЕ РЕЕСТРА ПЛАТЕЖЕЙ

Передача параметров

Правило формирования заголовка Sign: UserToken::Skip::Take::EshopId::InvoiceId::DateFrom::DateTo::ChangeDateFrom::ChangeDateTo::IncludePaymentTransactions::IsHoldingSearch::OrganizationId::OwnerEmail::WithRefunds::signSecretKey

Для запроса реестра платежей необходимо отправить POST-запрос на следующий адрес URL:

https://api.intellectmoney.ru/personal/payment/getInvoicesHistory

В запросе необходимо передать следующие параметры:

Название

Имя параметра

Обязательный

Описание

Ключ доступаUserTokenДаКлюч доступа клиента к API, запрашиваемый операцией аутентификации клиента getUserToken.

ID магазина

EshopId

Нет

Номер магазина в системе IntellectMoney, по которому запрашивается реестр. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/  в столбце "ID".

ID организации

OrganizationId

Нет

Номер организации в системе IntellectMoney, по которому запрашивается информация. Это номер заявления о присоединении.

Если параметр передан - будет производить поиск в рамках указанной организации.

Статус СКО

State

Нет

Запрос реестра платежей только с указанным статусом СКО (см. <InvoiceState>)
Номер СКОInvoiceIdНетЗапрос информации только по одному СКО по его номеру
Включает транзакции по СКО в выборкуIncludePaymentTransactionsНетТип boolean. При передаче значения true в выборку будут включены все транзакции по СКО: транзакции пополнения СКО, транзакции пополнения счета магазина, транзакции возврата (при возврате)
Тип операцииIsHoldingSearchНет

Флаг, указывающий на поиск по организациям холдинга:

  • 0 - Поиск по организациям холдинга не осуществляется
  • 1 - Поиск по организациям холдинга включен

Если флаг включен:

  • EshopId и OrganizationId не переданы - производит поиск по всем организациям холдинга
  • EshopId передан - будет производить поиск в рамках указанного магазина
  • OrganizationId передан - будет производить поиск в рамках указанной организации
  • Переданы EshopId и OrganizationId - будет производить поиск среди по магазину в рамках выбранной организации
Email пользователя (покупателя)OwnerEmailНет

Будут выбраны только те СКО, в которых был указан данный email.

Максимальная длина – 100 символов

Указывает порядок сортировкиSortOrderНетДанный порядок отвечает за сортировку данных перед выдачей. Принимаемые значения описаны в таблице Тип сортировки счетов

Дата начала выборки создания СКОDateFromНет

В выборку попадут все СКО, у которых дата создания входит в данный диапазон. Значения параметров передавать в формате ДД.ММ.ГГГГ.

Дата окончания выборки создания СКО

DateTo Нет

Дата начала выборки изменения СКО


ChangeDateFromНет

В выборку попадут все СКО, у которых дата изменения входит в данный диапазон. Значения параметров передавать в формате ДД.ММ.ГГГГ.

Дата окончания выборки изменения СКО


ChangeDateToНет
Ограничение выборки по количеству объектовSkipНетКоличество объектов, пропускаемых перед отдачей
Ограничение выборки по количеству объектовTakeДа

Ограничение на количество возвращаемых объектов.

Только СКО по которым были возвратыWithRefundsНетВ выборку попадут только СКО по которым были возвраты.

Использование параметров

При выборке данных используется конъюнкция параметров. Например, в случае, если переданы параметры "Статус СКО" и "Номер СКО", то результат запрос вернет объект СКО только при его наличии с переданными номером и статусом.

Ответ

Ответ типа  <Response>  будет содержать структуру  <InvoicesHistoryList> 

Примеры

Общий вид предоставления данных

Пример запроса
Post /personal/payment/getInvoicesHistory HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
 
userToken = bs/fZNe0CE+b/Ze1xvVaNdEbjxm2wkRqMBSnBXJO9nFeEM57Hg17+AS8nF0Cs7+0
eshopId = 450063
dateTo = 15.07.2017
take = 10
invoiceId = 3930949846
IncludePaymentTransactions = true
Пример ответа
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <OperationState>
    <Code>0</Code>
    <Desc>Успешно обработана</Desc>
  </OperationState>
  <OperationId>50a55d0c-a754-47ca-b355-56362cf52a98</OperationId>
  <EshopId>0</EshopId>
  <Result>
    <State>
      <Code>0</Code>
      <Desc>Успешно обработан.</Desc>
    </State>
    <InvoicesHistoryList>
      <InvoiceData>
        <Id>3930949846</Id>
        <State>Paid</State>
        <HoldModeFlag>false</HoldModeFlag>
        <ChangeDate>2017-06-02T10:12:00.457</ChangeDate>
        <CreationDate>2017-06-02T10:11:03.383</CreationDate>
        <ExpirationDate>0001-01-01T00:00:00</ExpirationDate>
        <Amount>
          <Amount>11.0000</Amount>
          <Currency>RUB</Currency>
        </Amount>
        <CurrentAmount>
          <Amount>0.0000</Amount>
          <Currency>RUB</Currency>
        </CurrentAmount>
        <SurchargeAmount>
          <Amount>0</Amount>
          <Currency>RUB</Currency>
        </SurchargeAmount>
        <AdditionalInfo>
          <KeyValue>
            <Key>Магазин</Key>
            <Value xsi:type="xsd:string">ShopReal</Value>
          </KeyValue>
          <KeyValue>
            <Key>Url</Key>
            <Value xsi:type="xsd:string">http://yandex.ru</Value>
          </KeyValue>
        </AdditionalInfo>
        <HistoryList>
          <HistoryData>
            <Id>27907531</Id>
            <PaymentNumber>2036160602</PaymentNumber>
            <State>Confirm</State>
            <CreationDate>2017-09-22T17:30:01.04</CreationDate>
            <PaymentAmount>
              <Amount>11.0000</Amount>
              <Currency>RUB</Currency>
            </PaymentAmount>
            <RecipientAmount>
              <Amount>11.0000</Amount>
              <Currency>RUB</Currency>
            </RecipientAmount>
            <PaymentAccount>IMOUT4936010998</PaymentAccount>
            <RecipientAccount>IM1028693534</RecipientAccount>
            <Comment>Возврат по ордеру 538</Comment>
            <Description>Внутренний на s.suvorinov@intellectmoney.ru</Description>
            <Direction>Withdraw</Direction>
            <PurchaseOrderId>123456789000</PurchaseOrderId>
            <AdditionalInfo />
            <InvoicePaymentType>Refund</InvoicePaymentType>
            <InvoiceId>3930949846</InvoiceId>
            <IsElectedPayment>false</IsElectedPayment>
            <TypeOfRePayment xsi:nil="true" />
            <ProviderId xsi:nil="true" />
            <CatalogPaymentId>0</CatalogPaymentId>
            <ShortPan />
            <Country />
            <UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
          </HistoryData>
          <HistoryData>
            <Id>27905689</Id>
            <PaymentNumber>2036150166</PaymentNumber>
            <State>Confirm</State>
            <CreationDate>2017-06-02T10:12:00.517</CreationDate>
            <PaymentAmount>
              <Amount>11.0000</Amount>
              <Currency>RUB</Currency>
            </PaymentAmount>
            <RecipientAmount>
              <Amount>10.6200</Amount>
              <Currency>RUB</Currency>
            </RecipientAmount>
            <PaymentAccount>Счет к оплате 3930949846</PaymentAccount>
            <RecipientAccount>IM4406528006</RecipientAccount>
            <Description>Зачисление денежных средств на счет магазина "ShopReal" со счета "3930949846"</Description>
            <Direction>Withdraw</Direction>
            <PurchaseOrderId>123456789000</PurchaseOrderId>
            <AdditionalInfo />
            <InvoicePaymentType>Purchase</InvoicePaymentType>
            <InvoiceId>3930949846</InvoiceId>
            <IsElectedPayment>false</IsElectedPayment>
            <TypeOfRePayment xsi:nil="true" />
            <ProviderId xsi:nil="true" />
            <CatalogPaymentId>0</CatalogPaymentId>
            <ShortPan />
            <Country />
            <UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
          </HistoryData>
          <HistoryData>
            <Id>27905686</Id>
            <PaymentNumber>2036150165</PaymentNumber>
            <State>Confirm</State>
            <CreationDate>2017-06-02T10:11:20.767</CreationDate>
            <PaymentAmount>
              <Amount>11.1100</Amount>
              <Currency>RUB</Currency>
            </PaymentAmount>
            <RecipientAmount>
              <Amount>11.0000</Amount>
              <Currency>RUB</Currency>
            </RecipientAmount>
            <PaymentAccount>IM1028693534</PaymentAccount>
            <RecipientAccount>Счет к оплате 3930949846</RecipientAccount>
            <Comment />
            <Description>Пополнение счета № "3930949846" через "IM1028693534"</Description>
            <Direction>Deposit</Direction>
            <PurchaseOrderId>123456789000</PurchaseOrderId>
            <AdditionalInfo />
            <InvoicePaymentType>Entry</InvoicePaymentType>
            <InvoiceId>3930949846</InvoiceId>
            <IsElectedPayment>false</IsElectedPayment>
            <TypeOfRePayment xsi:nil="true" />
            <ProviderId xsi:nil="true" />
            <CatalogPaymentId>0</CatalogPaymentId>
            <InputType>InnerPayment</InputType>
            <ShortPan />
            <Country />
            <UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
          </HistoryData>
        </HistoryList>
        <OwnerEmail>s.suvorinov@intellectmoney.ru</OwnerEmail>
        <OwnerFIO>Суворинов Сергей</OwnerFIO>
        <PurchaseOrderId>123456789000</PurchaseOrderId>
        <PurchaseData>
          <Id>36007</Id>
          <PurchaseMoney>
            <Amount>11.0000</Amount>
            <Currency>RUB</Currency>
          </PurchaseMoney>
          <OrderId>123456789000</OrderId>
          <BackUrl>http://google.com/backurl</BackUrl>
          <SuccessMethod xsi:nil="true" />
          <FailMethod xsi:nil="true" />
          <EshopId>450063</EshopId>
          <EshopUrl>http://yandex.ru</EshopUrl>
          <EshopName>ShopReal</EshopName>
          <SMSEnable>true</SMSEnable>
          <UserName>Суворинов Сергей</UserName>
          <UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
          <IsHeldByEshop>true</IsHeldByEshop>
          <ParseUserFields />
        </PurchaseData>
        <IsCanEnrollmentByDisabledMethod>false</IsCanEnrollmentByDisabledMethod>
        <InvoiceChangeAmountHistoryData />
        <OriginalAmount>
          <Amount>11.0000</Amount>
          <Currency>RUB</Currency>
        </OriginalAmount>
        <FormType>None</FormType>
        <OrganizationName>Маша и Медведи</OrganizationName>
        <IsHaveCashboxReceipts>false</IsHaveCashboxReceipts>
      </InvoiceData>
    </InvoicesHistoryList>
  </Result>
</Response>

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

Для получения списка СКО на языке PHP, Вам надо воспользоваться функцией getToken() из пункта "getUserToken - Аутентификация пользователя API"  и функцией curlRequest() из документации: Вспомогательные функции для взаимодействия с API системы IntellectMoney

Пример получения списка операций
$userToken = getToken();
$data = array(
    'UserToken' => $userToken,
    'EshopId' => 455551,
    'DateFrom' => "10.10.2017",
    'DateTo' => "10.10.2018",
    'Skip' => 0, 
    'Take' => 10,
);

$request = curlRequest('https://api.intellectmoney.ru/personal/payment/getInvoicesHistory', $data);
$result = simplexml_load_string($request);

GETPAYMENTSHISTORY() — ПОЛУЧЕНИЕ ИСТОРИИ ОПЕРАЦИЙ

Передача параметров

Правило формирования заголовка Sign: UserToken::Skip::Take::EshopId::DateFrom::DateTo::PaymentTransactionId::signSecretKey

Для запроса реестра платежей необходимо отправить POST-запрос на следующий адрес URL:

https://api.intellectmoney.ru/personal/payment/getPaymentsHistory

В запросе необходимо передать следующие параметры:

Название

Имя параметра

Обязательный

Описание

Ключ доступаUserTokenДаКлюч доступа клиента к API, запрашиваемый операцией аутентификации клиента getUserToken.

ID магазина

EshopId

Нет

Номер магазина в системе IntellectMoney, по которому запрашивается история операций. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/  в столбце "ID".

Номер транзакцииPaymentTransactionIdНетЗапрос информации только по одной транзакции.
Дата начала выборкиDateFromНет

В выборку попадут все операции, у которых дата создания входит в данный диапазон. Значения параметров передавать в формате ДД.ММ.ГГГГ.

Дата окончания выборки

DateToНет
Ограничение выборки по количеству объектовSkipНетКоличество объектов, пропускаемых перед отдачей
Ограничение выборки по количеству объектовTakeДа

Ограничение на количество возвращаемых объектов.

Использование параметров

При выборке данных используется конъюнкция параметров. Например, в случае, если переданы параметры "EshopId" и "DateFrom", то в ответе будет объект историй операций только принадлежащих магазину EshopId, у которых дата создания больше DateFrom

Ответ

Ответ типа  <Response>  будет содержать структуру  <PaymentsHistoryList> 

Примеры

Общий вид предоставления данных

Пример запроса
Post /personal/payment/getPaymentsHistory HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
 
userToken = bs/fZNe0CE+b/Ze1xvVaNdEbjxm2wkRqMBSnBXJO9nFeEM57Hg17+AS8nF0Cs7+0
eshopId = 450063
dateTo = 15.07.2017
take = 10
Пример ответа
<?xml version="1.0" encoding="utf-8"?>
<Response 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <OperationState>
        <Code>0</Code>
        <Desc>Успешно обработана</Desc>
    </OperationState>
    <OperationId>ce5d15c8-32d7-4574-9eb7-1fda5aa5f364</OperationId>
    <EshopId>0</EshopId>
    <Result>
        <State>
            <Code>0</Code>
            <Desc>Успешно обработан.</Desc>
        </State>
        <PaymentsHistoryList>
            <HistoryData>
                <Id>27929458</Id>
                <PaymentNumber>2036299552</PaymentNumber>
                <State>Confirm</State>
                <CreationDate>2018-07-25T11:14:49</CreationDate>
                <PaymentAmount>
                    <Amount>500.0000</Amount>
                    <Currency>RUB</Currency>
                </PaymentAmount>
                <RecipientAmount>
                    <Amount>484.0000</Amount>
                    <Currency>RUB</Currency>
                </RecipientAmount>
                <PaymentAccount>Счет к оплате 3158334217</PaymentAccount>
                <RecipientAccount>IM4406528006</RecipientAccount>
                <Description>Зачисление денежных средств на счет магазина "ShopReal" со счета "3158334217"</Description>
                <Direction>Deposit</Direction>
                <PurchaseOrderId>3_43030</PurchaseOrderId>
                <AdditionalInfo />
                <InvoicePaymentType>Purchase</InvoicePaymentType>
                <InvoiceId>3158334217</InvoiceId>
                <IsElectedPayment>false</IsElectedPayment>
                <TypeOfRePayment xsi:nil="true" />
                <ProviderId xsi:nil="true" />
                <CatalogPaymentId>0</CatalogPaymentId>
                <ShortPan />
                <Country />
                <UserEmail>s.suvorinov+10@intellectmoney.ru</UserEmail>
                <ServiceName>Тестирование отправки 2-х писем при частичной оплате</ServiceName>
            </HistoryData>
            <HistoryData>
                <Id>27929455</Id>
                <PaymentNumber>2036299551</PaymentNumber>
                <State>Confirm</State>
                <CreationDate>2018-07-25T11:14:42.983</CreationDate>
                <PaymentAmount>
                    <Amount>500.0000</Amount>
                    <Currency>RUB</Currency>
                </PaymentAmount>
                <RecipientAmount>
                    <Amount>500.0000</Amount>
                    <Currency>RUB</Currency>
                </RecipientAmount>
                <PaymentAccount>Эквайринг</PaymentAccount>
                <RecipientAccount>Счет к оплате 3158334217</RecipientAccount>
                <Description>Пополнение счета № "3158334217" через "Эквайринг"</Description>
                <Direction>Deposit</Direction>
                <PurchaseOrderId>3_43030</PurchaseOrderId>
                <AdditionalInfo />
                <InvoicePaymentType>Entry</InvoicePaymentType>
                <InvoiceId>3158334217</InvoiceId>
                <IsElectedPayment>false</IsElectedPayment>
                <TypeOfRePayment xsi:nil="true" />
                <ProviderId xsi:nil="true" />
                <CatalogPaymentId>0</CatalogPaymentId>
                <InputType>Acquiring</InputType>
                <ShortPan />
                <Country />
                <Bank>Промсвязьбанк</Bank>
                <IPAdress>10.70.13.101   </IPAdress>
                <UserEmail>s.suvorinov+10@intellectmoney.ru</UserEmail>
                <ServiceName>Тестирование отправки 2-х писем при частичной оплате</ServiceName>
                <CardHolder />
            </HistoryData>
            <HistoryData>
                <Id>27929489</Id>
                <PaymentNumber>2036299565</PaymentNumber>
                <State>Confirm</State>
                <CreationDate>2018-07-25T11:20:31.123</CreationDate>
                <PaymentAmount>
                    <Amount>0.0100</Amount>
                    <Currency>RUB</Currency>
                </PaymentAmount>
                <RecipientAmount>
                    <Amount>0.0100</Amount>
                    <Currency>RUB</Currency>
                </RecipientAmount>
                <PaymentAccount>3100011</PaymentAccount>
                <RecipientAccount>IM4406528006</RecipientAccount>
                <Comment>Возврат комиссии по заявке 707, инвойс 3158334217, транзакция 2036299553</Comment>
                <Description>Возврат комиссии по заявке 707, инвойс 3158334217, транзакция 2036299553</Description>
                <Direction>Deposit</Direction>
                <PurchaseOrderId>3_43030</PurchaseOrderId>
                <AdditionalInfo />
                <InvoicePaymentType>Refund</InvoicePaymentType>
                <InvoiceId>3158334217</InvoiceId>
                <IsElectedPayment>false</IsElectedPayment>
                <TypeOfRePayment xsi:nil="true" />
                <ProviderId xsi:nil="true" />
                <CatalogPaymentId>0</CatalogPaymentId>
                <ShortPan />
                <Country />
                <UserEmail>s.suvorinov+10@intellectmoney.ru</UserEmail>
                <ServiceName>Тестирование отправки 2-х писем при частичной оплате</ServiceName>
            </HistoryData>

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

Для получения историй операций на языке PHP, Вам надо воспользоваться функцией getToken() из пункта "getUserToken - Аутентификация пользователя API"  и функцией curlRequest() из документации: Вспомогательные функции для взаимодействия с API системы IntellectMoney

Пример получения списка операций
$userToken = getToken();
$data = array(
    'UserToken' => $userToken,
    'EshopId' => 455551,
    'DateFrom' => "10.10.2017",
    'DateTo' => "10.10.2018",
    'Skip' => 0, 
    'Take' => 10, 
);

$request = curlRequest('https://api.intellectmoney.ru/personal/payment/getPaymentsHistory', $data);
$result = simplexml_load_string($request);

SetScheduledOperation() — СОЗДАНИЕ, РЕДАКТИРОВАНИЕ ОПЕРАЦИЙ ПО РАСПИСАНИЮ

Передача параметров

Правило формирования заголовка Sign: UserToken::::::Operation::ObjectId::ObjectTypeVal::ParamsJson::RepeatPlan::RetryOnFailPlan::RetryOnFailCount::IsSingle::FireOnSkip::State::::::EndExecDate::signSecretKey

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

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

Название

Имя параметра

Обязательный

Описание

Ключ доступаUserTokenДаКлюч доступа клиента к API, запрашиваемый операцией аутентификации клиента getUserToken.

Номер операции

Operation

Нет

Номер операции. Используется для редактирования операции, если не передать - создается новая операция (GUID). Данный параметр возвращается в ответе на запрос к методу SetScheduledOperation().

Объект операции

ObjectId

Да

Номер исходного СКО или объект операции, к которому привязывается операция, например:

Получить номер исходного СКО можно из метода  CreateInvoice, при создании такого СКО или в уведомлении по счету в форме оповещения о платеже.

Тип операцииObjectTypeValДа

Тип регулярной операции, принием значение:

  • 1 - Recurring.
ПараметрыParamsJsonДа

Дополнительные JSON-параметры для счетов, создаваемых операцией по расписанию. Структура данного параметра описана здесь.

План выполненияRepeatPlanНет

Периодичность (регулярность) выполнения операции.

Можно передавать в двух различных форматах:

  • Cron expression, регулярное выражение. Например, запуск операции каждый день в 12 часов дня: "0 0 12 1/1 * ? *". Каждый день в 12 часов будет списана сумма операции со счёта клиента. Для создания регулярного выражения можно использовать http://www.cronmaker.com/. Примеры других регулярных выражений, а также дополнительную информацию можно посмотреть тут: Cron выражения (cron expression).

  • JSON. Содержит дату начала выполнения и период между списаниями. Пример значения параметра:

    json
    { "StartAt": "2023-11-22T18:50:00+03:00", "PeriodLength": 30, "PeriodType": "Day" }

    В примере, первое списание будет в 18:50 22 ноя 2023, последующие списания раз в 30 дней. Допустимые значения PeriodType: Day, Week, Month

Запуск по требованию. Если параметр не передан или передан с пустым значением, то план выполнения отменяется, операция запускается один раз текущей датой и временем, после чего статус операции меняется на "Выключен".

План повторов выполненияRetryOnFailPlanДа, если передан RepeatPlan

Периодичность (регулярность) повторных попыток выполнения операции при ошибке. В примерах, в случае когда изначальная попытка списания была неудачной, каждые 5 минут будет производиться повторная попытка. Количество попыток указывается в поле RetryOnFailCount.

Можно передавать в двух различных форматах:

  • Cron expression, регулярное выражение. Повторный запуск операции через 5 минут реализуется так: "0 0/5 * 1/1 * ? *". Для создания регулярных выражений можно использовать http://www.cronmaker.com/. Примеры других регулярных выражений, а так же дополнительную информацию можно посмотреть тут: Cron выражения (cron expression)

  • JSON. Повторный запуск через 5 минут реализуется так:

    json
    { "PeriodLength": 5, "PeriodType": "Minute" }

    Допустимые значения PeriodType: Minute, Hour, Day, Week, Month

Если параметр RepeatPlan не передан, данный параметр игнорируется.

Количество повторов выполненияRetryOnFailCountДа, если передан RepeatPlan

Количество повторных попыток выполнения (целое число). Если операцию не удалось выполнить с первого раза, она будет повторятся с периодичностью указанно в параметре RetryOnFailPlan не более чем RetryOnFailCount.

Если параметр RepeatPlan не передан, данный параметр игнорируется.

МногопоточностьIsSingleДа, если передан RepeatPlan

Флаг, указывающий возможность запуска параллельных тасков