Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

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

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

  1. <OperationState> сообщает - смогла ли система IntellectMoney обработать данный запрос. Возможны три варианта:
    1. Система обработала запрос.
    2. Система поставила запрос в очередь на обработку.
    3. Система не смогла обработать запрос.
  2. <Response> сообщает статус запроса - был ли найден данный метод, все ли параметры переданы верно и так далее. 

Данные при запросах на сервер IntellectMoney передаются в формате параметров HTTP-запроса в кодировке UTF-8 с типом контента "application/x-www-form-urlencoded". В ответ данные возвращаются в формате XML, либо в формате JSON. Что бы получить ответ в формате JSON нужно в заголовки запроса передать "Accept: text/json".

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

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

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

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

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

Multiexcerpt
MultiExcerptNamegetUserToken

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

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

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

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

Название

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

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

Описание

Логин

Login

Да

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

Пароль

Password

Да

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

В ответ возвращается  код операции  и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа  <Response>  будет содержать структуру  <UserTokenData>  (синхронная обработка). ( Код операции - 0 )

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

  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

Примеры

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
collapsetrue
Post /personal/user/getUserToken HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
 
Login=somelogin
Password=somepassword
Code Block
languagexml
themeConfluence
titleПример ответа
linenumberstrue
collapsetrue
<?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>
Code Block
languagephp
themeConfluence
titleПример получения UserToken на PHP
collapsetrue
function getToken(){
    $urlGetToken = "https://api.intellectmoney.ru/personal/user/getUserToken";
    $login = 'Ваш логин от личного кабинета IntellectMoney';
    $password = 'Ваш пароль от личного кабинета IntellectMoney';
    $result = file_get_contents($urlGetToken."?Login=".$login."&Password=".$password);
    $xml = new SimpleXMLElement($result);
    $userToken = $xml->Result->UserToken[0];
    
    return $userToken;
}
Info
titleИспользование UserToken в GET-запросах к API

При

формировании

GET-запросов

к

API

UserToken

следует

экранировать

с

помощью

функции

url-encode

(https://www.urlencoder.org)

  • PHP urlencode
  • C# HttpUtility.UrlEncode



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

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

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

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

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

    Название

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

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

    Описание

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

    ID магазина

    EshopId

    Нет

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

    Статус СКО

    State

    Нет

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

    Количество объектов, пропускаемых перед отдачей

    Ограничение выборки по количеству объектовTakeДа

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

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

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

    В ответ возвращается  код операции  и возможны 3 варианта:

    1. Запрос обработался моментально. Ответ типа  <Response>  будет содержать структуру  <InvoicesHistoryListData>  (синхронная обработка). ( Код операции - 0 )

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

    3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )


    Code Block
    languagepowershell
    themeConfluence
    titleПример запроса
    linenumberstrue
    collapsetrue
    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=07.15.2017
    take=10
    invoiceId=3930949846
    IncludePaymentTransactions=true
    Code Block
    languagexml
    themeConfluence
    titleПример ответа
    linenumberstrue
    collapsetrue
    <?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>Суворинов Сергей eauoau</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>

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

    Multiexcerpt
    MultiExcerptNamesetScheduledOperation

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

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

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

    Название

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

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

    Описание

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

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

    Operation

    Нет

    Номер операции для ее изменения, если не передать создается новая операция (GUID)

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

    ObjectId

    Да

    Объект источник, например:

    • InvoiceId - номер счёта (СКО) в системе IntellectMoney
    Тип операцииObjectTypeValДаТип регулярной операции (1 - Recurring)
    ПараметрыParamsJsonНет

     Дополнительные параметры в формате JSON, например:

    {'Amount':15}

    План выполненияRepeatPlanДаCron expressions запуска задачи (можно использовать http://www.cronmaker.com/)
    План повторов выполненияRetryOnFailPlanНетCron expressions запуска задачи (можно использовать http://www.cronmaker.com/)
    Количество повторов выполненияRetryOnFailCountНетКоличество повторных попыток выполнения (целое число)
    МногопоточностьIsSingleДа

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

    • 0 - один поток
    • 1 - не ограниченное количество потоков
    ПерезапускFireOnSkipДаФлаг, указывающий необходимость создания всех запланированных задач, в случае их непредвиденного пропуска (0 или 1)
    АктивностьStateДа

    Флаг, указывающий статус активности

    • 0 - Активен
    • 1 - Выключен
    Дата окончания
    EndExecDate
    Да

    Дата окончания выполнения операций по расписанию. По достижению данной даты, операция по расписанию выполняться не будет.

    Передаётся в формате ММ.ДД.ГГГГ

    В ответ возвращается  код операции  и возможны 3 варианта:

    1. Запрос обработался моментально. Ответ типа  <Response>  будет содержать структуру  <SetScheduledOperationData>  (синхронная обработка). ( Код операции - 0 )

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

    3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

    Примеры

    Code Block
    languagepowershell
    themeConfluence
    titleПример запроса
    linenumberstrue
    collapsetrue
    Post /personal/scheduler/SetScheduledOperationData HTTP/1.1
    Host: api.intellectmoney.ru
    Content-Type: application/x-www-form-urlencoded; charset=utf-8
     
    UserToken = 9WUoI8gEQndN%2BI97MGA4vxIiPZs2v32MxyJS7%2FGDxegOLFXcBQy4fUfCqt6NURzV
    Object = 3028460763
    ObjectTypeVal = 1
    IsSingle = 1
    ParamsJson = {"Amount":"15"}
    RepeatPlan = 0 0 12 1/1 * ? *
    RetryOnFailPlan = 0 0/15 * 1/1 * ? *
    RetryOnFailCount = 3
    FireOnSkip = 0
    State = 1
    endExecDate = 12.12.2017
    Code Block
    languagexml
    themeConfluence
    titleПример ответа
    linenumberstrue
    collapsetrue
    Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    	<OperationState>
    		<Code>0</Code>
    		<Desc>Успешно обработана</Desc>
    	</OperationState>
    	<OperationId>b294b231-9a77-427a-9866-f111e4c88515</OperationId>
    	<EshopId>0</EshopId>
    	<Result>
    		<State>
    			<Code>0</Code>
    			<Desc>Успешно обработан.</Desc>
    		</State>
    		<ScheduledOperation>
    			<CronOperationId>6529bef0-3b44-49f6-9ab9-6c4643fd8027</CronOperationId>
    			<ObjectId>3028460763</ObjectId>
    			<CronOperationType>Recurring</CronOperationType>
    			<CreationDate>2017-10-19T16:44:07.3796978+03:00</CreationDate>
    			<ChangeDate>2017-10-19T16:44:07.3953063+03:00</ChangeDate>
    			<EndExecDate>2017-12-12T00:00:00</EndExecDate>
    			<LastExecDate>2017-10-19T16:44:07.3796978+03:00</LastExecDate>
    			<NextExecDate>2017-10-20T12:00:00+03:00</NextExecDate>
    			<RepeatPlan>0 0 12 1/1 * ? *</RepeatPlan>
    			<RetryOnFailPlan>0 0/15 * 1/1 * ? *</RetryOnFailPlan>
    			<RetryOnFailCount>3</RetryOnFailCount>
    			<FireOnSkip>false</FireOnSkip>
    			<IsSingle>true</IsSingle>
    			<CronOperationState>Disable</CronOperationState>
    		</ScheduledOperation>
    	</Result>
    </Response>            

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

    Code Block
    languagephp
    themeConfluence
    titleПример создания операции по расписанию на PHP
    collapsetrue
    $userToken = getToken();
    $objectId = "paymentId";//Номер счёта к оплате в системе IntellectMoney
    $objectTypeVal = 1;
    $params = '{"Amount":"15"}';
    $repeatPlan = "0 0 12 1/1 * ? *";
    $retryOnFailPlan = "0 0/15 * 1/1 * ? *";
    $retryOnFailCount = 3;
    $fireOnSkip = 1;
    $state = 1;
    $endExecDate = "12.12.2017";
    
    $data = array(
        'UserToken' => $userToken,
        'Operation' => $operationId,
        'ObjectId' => $objectId,
        'ObjectTypeVal' => $objectTypeVal,
        'ParamsJson' => $params,
        'RepeatPlan' => $repeatPlan,
        'RetryOnFailPlan' => $retryOnFailPlan,
        'RetryOnFailCount' => $retryOnFailCount,
        'FireOnSkip' => $fireOnSkip,
    	'EndExecDate' => $endExecDate,
        'State' => $state
    );
    $queryString = http_build_query($data);
    
    curlRequest('GetScheduledOperation', $queryString);

    GetScheduledOperation() — ПОЛУЧЕНИЕ СПИСКА ОПЕРАЦИЙ ПО РАСПИСАНИЮ

    Multiexcerpt
    MultiExcerptNamegetScheduledOperation

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

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

    Название

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

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

    Описание

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

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

    Operation

    Нет

    Номер операции для ее изменения, если не передать создается новая операция (GUID)

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

    ObjectId

    Нет

    Объект источник,

    • paimentId - номер счета в системе IntellectMoney
    Тип операцииObjectTypeValНетТип регулярной операции (1 - Recurring)
    ПараметрыParamsJsonНет

     Дополнительные параметры в формате JSON, например:

    {'Amount':15}

    План выполненияRepeatPlanНетCron expressions запуска задачи (можно использовать http://www.cronmaker.com/)
    План повторов выполненияRetryOnFailPlanНетCron expressions запуска задачи (можно использовать http://www.cronmaker.com/)
    Количество повторов выполненияRetryOnFailCountНетКоличество повторных попыток выполнения (целое число)
    МногопоточностьIsSingleНет

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

    • 0 - один поток
    • 1 - не ограниченное количество потоков
    ПерезапускFireOnSkipНетФлаг, указывающий необходимость создания всех запланированных задач, в случае их непредвиденного пропуска (0 или 1)
    АктивностьStateНет

    Флаг, указывающий статус активности

    • 0 - Активен
    • 1 - Выключен
    Дата начала выборкиDateFromНетПограничные значения даты изменения расписания ММ.ДД.ГГГГ.
    Дата окончания выборкиDateToНетПограничные значения даты изменения расписания ММ.ДД.ГГГГ.
    Ограничение выборки по количеству объектовSkipНет

    Количество объектов, пропускаемых перед отдачей

    Ограничение выборки по количеству объектовTakeДа

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

    В ответ возвращается  код операции  и возможны 3 варианта:

    1. Запрос обработался моментально. Ответ типа  <Response>  будет содержать структуру  <GetScheduledOperationData>  (синхронная обработка). ( Код операции - 0 )

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

    3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

    Примеры

    Code Block
    languagepowershell
    themeConfluence
    titleПример запроса
    linenumberstrue
    collapsetrue
    Post /personal/scheduler/GetScheduledOperationData HTTP/1.1
    Host: api.intellectmoney.ru
    Content-Type: application/x-www-form-urlencoded; charset=utf-8
     
    UserToken = 9WUoI8gEQndN%2BI97MGA4vxIiPZs2v32MxyJS7%2FGDxegOLFXcBQy4fUfCqt6NURzV
    Skip = 0
    Take = 3
    Code Block
    languagexml
    themeConfluence
    titleПример ответа
    linenumberstrue
    collapsetrue
    Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    	<OperationState>
    		<Code>0</Code>
    		<Desc>Успешно обработана</Desc>
    	</OperationState>
    	<OperationId>0670c93d-7fd7-4240-822b-b62e55cf070c</OperationId>
    	<EshopId>0</EshopId>
    	<Result>
    		<State>
    			<Code>0</Code>
    			<Desc>Успешно обработан.</Desc>
    		</State>
    		<ScheduledOperationList>
    			<ScheduledOperationData>
    				<CronOperationId>6529bef0-3b44-49f6-9ab9-6c4643fd8027</CronOperationId>
    				<ObjectId>3028460763</ObjectId>
    				<CronOperationType>Recurring</CronOperationType>
    				<Params>{"Amount":"15"}</Params>
    				<CreationDate>2017-10-19T16:44:07.3796978</CreationDate>
    				<ChangeDate>2017-10-19T16:44:07.3953063</ChangeDate>
    				<EndExecDate>2017-12-12T00:00:00</EndExecDate>
    				<LastExecDate>2017-10-19T16:44:07.3796978</LastExecDate>
    				<NextExecDate>2017-10-20T12:00:00</NextExecDate>
    				<RepeatPlan>0 0 12 1/1 * ? *</RepeatPlan>
    				<RetryOnFailPlan>0 0/15 * 1/1 * ? *</RetryOnFailPlan>
    				<RetryOnFailCount>3</RetryOnFailCount>
    				<FireOnSkip>false</FireOnSkip>
    				<IsSingle>true</IsSingle>
    				<CronOperationState>Disable</CronOperationState>
    			</ScheduledOperationData>
    			<ScheduledOperationData>
    				<CronOperationId>9da1c831-f615-4217-a2b7-5c19927cd321</CronOperationId>
    				<ObjectId>3028460763</ObjectId>
    				<CronOperationType>Recurring</CronOperationType>
    				<Params>{"Amount":"15"}</Params>
    				<CreationDate>2017-10-19T16:51:36.7057137</CreationDate>
    				<ChangeDate>2017-10-19T16:51:36.7057137</ChangeDate>
    				<EndExecDate>2017-12-12T00:00:00</EndExecDate>
    				<LastExecDate>2017-10-19T16:51:36.7057137</LastExecDate>
    				<NextExecDate>2017-10-20T12:00:00</NextExecDate>
    				<RepeatPlan>0 0 12 1/1 * ? *</RepeatPlan>
    				<RetryOnFailPlan>0 0/15 * 1/1 * ? *</RetryOnFailPlan>
    				<RetryOnFailCount>3</RetryOnFailCount>
    				<FireOnSkip>false</FireOnSkip>
    				<IsSingle>true</IsSingle>
    				<CronOperationState>Disable</CronOperationState>
    			</ScheduledOperationData>
    			<ScheduledOperationData>
    				<CronOperationId>b72025bc-1723-4866-9c32-027e23f68544</CronOperationId>
    				<ObjectId>3028460763</ObjectId>
    				<CronOperationType>Recurring</CronOperationType>
    				<Params>{"Amount":"15"}</Params>
    				<CreationDate>2017-10-19T16:58:25.2139727</CreationDate>
    				<ChangeDate>2017-10-19T16:58:25.2139727</ChangeDate>
    				<EndExecDate>2017-12-12T00:00:00</EndExecDate>
    				<LastExecDate>2017-10-19T16:58:25.2139727</LastExecDate>
    				<NextExecDate>2017-10-20T12:00:00</NextExecDate>
    				<RepeatPlan>0 0 12 1/1 * ? *</RepeatPlan>
    				<RetryOnFailPlan>0 0/15 * 1/1 * ? *</RetryOnFailPlan>
    				<RetryOnFailCount>3</RetryOnFailCount>
    				<FireOnSkip>false</FireOnSkip>
    				<IsSingle>true</IsSingle>
    				<CronOperationState>Disable</CronOperationState>
    			</ScheduledOperationData>
    		</ScheduledOperationList>
    	</Result>
    </Response>

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

    Code Block
    languagephp
    themeConfluence
    titleПример получения списка операций по расписанию на PHP
    collapsetrue
    $userToken = getToken();
    $operation = "1BDB57A8-956F-4B0A-8C2B-BCE487B23CE6";
    $objectId = "SourceInvoiceId";// Приходит среди параметров в уведомлении об оплате счёта на Result URL
    $objectTypeVal = 1;
    $params = '{"Amount":"15"}';
    $repeatPlan = "0 0 12 1/1 * ? *";
    $retryOnFailPlan = "0 0/15 * 1/1 * ? *";
    $retryOnFailCount = 3;
    $fireOnSkip = 1;
    $state = 1;
    $dateFrom = "10.10.2017";
    $dateTo = "10.17.2017";
    $skip = 0;
    $take = 1;
    
    $data = array(
        'UserToken' => $userToken,
        'Operation' => $operationId,
        'ObjectId' => $objectId,
        'ObjectTypeVal' => $objectTypeVal,
        'ParamsJson' => $params,
        'RepeatPlan' => $repeatPlan,
        'RetryOnFailPlan' => $retryOnFailPlan,
        'RetryOnFailCount' => $retryOnFailCount,
        'FireOnSkip' => $fireOnSkip,
        'State' => $state,
        'DateFrom' => $dateFrom,
        'DateTo' => $dateTo,
        'Skip' => $skip,
        'Take' => $take,
    );
    $queryString = http_build_query($data);
    
    curlRequest('GetScheduledOperation', $queryString);

    Anchor
    additionalInfo
    additionalInfo
    Дополнительная информация

    Multiexcerpt
    MultiExcerptNameadditionalInfo

    Для работы примеров, написанных на языке программирования PHP, Вам потребуется модуль curl, а так же функция 

    Code Block
    languagephp
    themeConfluence
    titleПример получения списка операций по расписанию на PHP
    collapsetrue
    function curlRequest($func, $data) {
        $urlMerchantApi = "https://api.intellectmoney.ru/personal/scheduler/";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_URL, $urlMerchantApi . $func . "?" . $data);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_exec($ch);
        curl_close($ch);
    }

    ТИПЫ ДАННЫХ

    Anchor
    <Response>
    <Response>
    <Response>

    Поле

    Тип

    Описание

    OperationState

    <OperationState>

    Статус выполнения операции

    OperationId

    GUID

    Идентификатор операции

    EshopId

    int

    ID магазина

    Result

    MethodResult

    Результат выполнения запроса. Зависит от типа запроса. В случае асинхронной обработки запроса данного поля не будет.

    Anchor
    <OperationState>
    <OperationState>
    <OperationState>

    Поле

    Тип

    Описание

    State

    <ServiceOperatonState>

    Статусы выполнения запросов

    Desc

    string

    Описание кода статуса выполнения запроса

    Anchor
    <UserTokenData>
    <UserTokenData>
    <UserTokenData>

    Поле

    Тип

    Описание

    State

    <RequestState>

    Статусы выполнения запросов

    UserToken

    string

    Ключ доступа клиента к API

    Anchor
    <InvoicesHistoryListData>
    <InvoicesHistoryListData>
    <InvoicesHistoryListData>

    Поле

    Тип

    Описание

    State

    <RequestState>

    Статусы выполнения запросов

    InvoicesHistoryList

    List<InvoiceData>

    Список (реестр) платежей

    Anchor
    <InvoiceData>
    <InvoiceData>
    <InvoiceData>

    Поле

    Тип

    Описание

    Id

    long

    Номер СКО

    State

    <InvoiceState>

    Статус состояния СКО

    CreationDateDateTimeДата создания СКО
    ChangeDateDateTimeДата последних изменений СКО
    Amount<Money>Сумма СКО с учётом комиссии
    CurrentAmount<Money>Оплаченная сумма СКО
    SurchargeAmount<Money>Сумма СКО, которую осталось оплатить, если счёт уже оплачен - покажет 0
    CommentstringКомментарий к платежу
    EShopIdlongНомер магазина в системе IntellectMoney
    PurchaseOrderId stringВнутренний номер покупки (заказа) в магазине
    HistoryListList<HistoryData>Список транзакций по СКО

    Anchor
    <HistoryData>
    <HistoryData>
    <HistoryData>

    ПолеТипОписание
    IdlongИдентификатор транзакции в системе ИнтеллектМани (для внутреннего использования)
    PaymentNumberlongНомер транзакции
    State<TransactionState>Статус транзакции
    CreationDateDateTimeДата создания транзакции
    PaymentAmount<Money>Сумма списания по транзакции
    RecipientAmount<Money>Сумма зачисления по транзакции
    PaymentAccountstringСчет списания по транзакции
    RecipientAccountstringСчет зачисления по транзакции
    CommentstringКомментарий к транзакции
    DescriptionstringОписание транзакции
    InvoicePaymentType<PaymentType>Тип осуществляемой транзакции: пополнение, зачисление или возврат


    Info
    titleСвойства <InvoiceData>

    Свойства типа данных <InvoiceData> и <HistoryData>, приведенные в примере ответа на запрос, но не описанные выше, следует игнорировать в текущей версии API.

    Anchor
    <TransactionState>
    <TransactionState>
    <TransactionState>

    TransactionStateОписаниеПояснение
    CreatedСозданТранзакция создана на исполнение и ожидает очереди к выполнению
    ConfirmИсполненТранзакция исполнена, средства переведены с одного счета на другой
    CanceledОтмененаТранзакция отменена. Считать недействительной.

    Anchor
    <PaymentType>
    <PaymentType>
    <PaymentType>

    PaymentTypeОписаниеПояснение
    EntryВходная транзакцияТранзакция пополнения СКО
    PurchaseТранзакция зачисленияТранзакция пополнения счета магазина
    RefundТранзакция возвратаТранзакция возврата со счета магазина на счет плательщика

    Anchor
    <Money>
    <Money>
    <Money>

    Поле

    Тип

    Описание

    AmountdecimalКоличество денежных средств.
    Currency<Currency>В какой валюте исчисляются денежные средства.

    Anchor
    <SetScheduledOperationData>
    <SetScheduledOperationData>
    <SetScheduledOperationData>

    Multiexcerpt
    MultiExcerptNamesetScheduledOperationData

    Поле

    Тип

    Описание

    State

    <RequestState>

    Статусы выполнения запросов

    SetScheduledOperationData

    Bool

    1 - Расписание отредактировано успешно
    0 - Ошибки, расписание не отредактировано

    Anchor
    <GetScheduledOperationData>
    <GetScheduledOperationData>
    <GetScheduledOperationData>

    Multiexcerpt
    MultiExcerptNamegetScheduledOperationData

    Поле

    Тип

    Описание

    State

    <RequestState>

    Статусы выполнения запросов

    GetScheduledOperationData

    List<ScheduledOperationData>

    Список операций


    Anchor
    <ScheduledOperationData>
    <ScheduledOperationData>
    <ScheduledOperationData>

    Multiexcerpt
    MultiExcerptNameScheduledOperationData

    Поле

    Тип

    Описание

    OperationId
    GUID
    Номер операции для ее изменения, если не передать создается новая операция (GUID)
    ObjectId
    long

    Объект источник, например:

    • SourceInvoiceId - для операции рекарринга
    ObjectTypeValtinyintТип регулярной операции (1 - Recurring)
    Paramstext

    Дополнительные параметры в формате JSON, например:

    {'Amount':15}

    RepeatPlantextCron expressions запуска задачи (можно использовать  http://www.cronmaker.com/ )
    RetryOnFailPlantextCron expressions запуска задачи (можно использовать  http://www.cronmaker.com/ )
    RetryOnFailCounttextКоличество повторных попыток выполнения (целое число)
    IsSinglebool

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

    • 0 - один поток
    • 1 - не ограниченное количество потоков
    FireOnSkipboolФлаг, указывающий необходимость создания всех запланированных задач, в случае их непредвиденного пропуска (0 или 1)
    Statebool

    Флаг, указывающий статус активности

    • 0 - Активен
    • 1 - Выключен

    ПЕРЕЧИСЛЕНИЯ

    Anchor
    ServiceOperatonState
    ServiceOperatonState
    Коды операций

    ServiceOperatonState

    Описание

    0

    Успешно обработана

    1

    В процессе выполнения

    2

    Ошибка

    Anchor
    PDSServiceState
    PDSServiceState
    Статусы запросов

    Код ошибки

    Описание

    0

    Успешно обработан

    1

    Обработан с предупреждениями

    2

    Аутентификация не пройдена

    Anchor
    <Currency>
    <Currency>
    Описание принимаемых валют

    Название

    Описание

    RUB

    Валюта оплаты - Российский рубль
    TSTВнутренняя тестовая валюта оплаты

    Anchor
    <InvoiceState>
    <InvoiceState>
    Статусы состояния СКО

    InvoiceState

    Числовое представление

    Описание

    Пояснение

    Created0СозданСчёт к оплате создан и теперь его состояние можно отслеживать методом getPurchaseInfo(). Никаких платёжных операций не производилось.
    PartPaid1Частично оплаченПользователь (Покупатель), внес часть средств. Пользователю (Покупателю) надо внести оставшуюся часть суммы.
    Paid2Полностью оплаченПользователь внес всю сумму.
    ToPaid3В процессе обработки

    Над денежными средствами производятся действия.

    Refund4ВозвратСредства будут возвращены Пользователю (Покупателю).
    Held6Захолдирован

    Средства заморожены (захолдированы/ holded) на счёте Пользователя (Покупателя).

    Данные средства будут зачислены или расхолдированы (вернутся Пользователю) по истечению времени заморозки (холдирования) или пока не будут зачислены вручную.

    Поведение денежных средств определяется в настройках магазина на вкладке "Приём платежей" в разделе "Расширенные настройки".

    Table of Contents
    maxLevel2

    ...