Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 183 Current »

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

Данное 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

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

  • 0 - один поток, операция не будет запущена пока не закончена предыдущая.
  • 1 - не ограниченное количество потоков, операции запускаются независимо от статуса предыдущей.

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

ПерезапускFireOnSkipДа, если передан RepeatPlan

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

  • 0 - не создавать.
  • 1 - создавать.

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

АктивностьStateДа

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

  • 0 - активен, операция выполняется.
  • 1 - выключен, операция не выполняется.
Дата окончания
EndExecDate
Да, если передан RepeatPlan

Дата окончания выполнения операций по расписанию. По достижению данной даты, операция по расписанию выполняться не будет. Параметр State (активность) примет значение 1 - выключен.

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

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

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

Примеры

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

Пример запроса
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 = 3496318551
ObjectTypeVal = 1
ParamsJson = { "Amount": 10.00 }
RepeatPlan = 0 0 12 1/4 * ? *
RetryOnFailPlan = 0 0/15 * 1/1 * ? *
RetryOnFailCount = 3
IsSingle = 0  
FireOnSkip = 1
State = 0
EndExecDate = 01.01.2025
Пример ответа
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>ece5b08a-8951-4739-8d71-ee589676bcd2</CronOperationId> 
			<ObjectId>3496318551</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/4 * ? *</RepeatPlan>
			<RetryOnFailPlan>0 0/15 * 1/1 * ? *</RetryOnFailPlan>
			<RetryOnFailCount>3</RetryOnFailCount>
			<FireOnSkip>true</FireOnSkip>
			<IsSingle>true</IsSingle>
			<CronOperationState>Disable</CronOperationState>
		</ScheduledOperation>
	</Result>
</Response> 

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

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

Пример создания операции по расписанию на PHP
$userToken = getToken();
$data = array(
    'UserToken' => $userToken,
    'Operation' => null
    'ObjectId' => 3496318551,
    'ObjectTypeVal' => 1,
    'ParamsJson' => '{ "Amount": 10.00 }',
    'RepeatPlan' => "0 0 12 1/4 * ? *",
    'RetryOnFailPlan' => "0 0/15 * 1/1 * ? *",
    'RetryOnFailCount' => 3,
	'IsSingle' => 0,
    'FireOnSkip' => 1,
    'State' => 0,
    'EndExecDate' => "01.01.2025"
);

$request = curlRequest('https://api.intellectmoney.ru/personal/scheduler/setScheduledOperationData', $data);
$result = simplexml_load_string($request);
Результатом выполнения данного примера станет получение CronOperationId, данное значение нужно передать в параметре Operation для редактирования операции по расписанию.

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

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

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

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

Название

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

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

Описание

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

Количество объектов, пропускаемых перед отдачей. Для значения 10, пропустит первые 10 записей и выведет Take записей начиная с 10 (нумерация начинается с 0).

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

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

Для значения 10, пропустит первые Skip записей и выведет 10 элементов.

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

Operation

Нет

Номер операции. Данный параметр возвращается в ответе на запрос к методу 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Нет

Периодичность (регулярность) повторных попыток выполнения операции при ошибке. В примерах, в случае когда изначальная попытка списания была неудачной, каждые 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

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

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

  • 0 - один поток, операция не будет запущена пока не закончена предыдущая.
  • 1 - не ограниченное количество потоков, операции запускаются независимо от статуса предыдущей.
ПерезапускFireOnSkipНет

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

  • 0 - не создавать.
  • 1 - создавать.
АктивностьStateНет

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

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

Ответ

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

Примеры

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

Пример запроса
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 
DateFrom = 10.10.2017
DateTo = 10.10.2018
Пример ответа
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

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

Пример получения списка операций по расписанию на PHP
$userToken = getToken();
$data = array(
    'UserToken' => $userToken,
    'Skip' => 0, 
    'Take' => 3, 
    'Operation' => null,
    'ObjectId' => null,
	'ObjectTypeVal' => null,
    'ParamsJson' => null,
    'RepeatPlan' => null,
    'RetryOnFailPlan' => null,
    'RetryOnFailCount' => null,
    'FireOnSkip' => null,      
	'IsSingle' => null,
    'State' => null,
    'DateFrom' => "10.10.2017",
    'DateTo' => "10.10.2018",
);

$request = curlRequest('https://api.intellectmoney.ru/personal/scheduler/getScheduledOperationData', $data);
$result = simplexml_load_string($request);
echo $result->Result->ScheduledOperationList->ScheduledOperationData->CronOperationId;

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

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

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

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

Название

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

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

Описание

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

Исходный номер счета

SourceInvoiceId

Нет

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

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

Ответ

Ответ типа  <Response>  будет содержать ответ true (выполнено успешно) или false (не выполнено)

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

Пример запроса
Post /personal/recurring/deactivate HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
 
UserToken = 9WUoI8gEQndN%2BI97MGA4vxIiPZs2v32MxyJS7%2FGDxegOLFXcBQy4fUfCqt6NURzV
SourceInvoiceId = 3496318551
Пример ответа
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>
	<Result>
		true
	</Result>
</Response>

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

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

Пример получения списка операций по расписанию на PHP
$userToken = getToken();
$data = array(
    'UserToken' => $userToken,
    'SourceInvoiceId' => 3496318551,
);

$request = curlRequest('https://api.intellectmoney.ru/personal/recurring/deactivate', $data);
$result = simplexml_load_string($request);
echo $result->Result->ScheduledOperationList->ScheduledOperationData->CronOperationId;

GetEshopInfo() — ПОЛУЧЕНИЕ ИНФОРМАЦИИ О МАГАЗИНЕ

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

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

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

Название

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

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

Описание

Ключ доступаUserTokenДа

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

Если не будут переданы параметры EshopId и OrganizationId, номер организации будет определен по данному параметру.

ID магазина

EshopId

Нет

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

Если параметр передан - выведет информацию по конкретному магазину

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

OrganizationId

Нет

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

  • Если параметр передан - выведет информацию по всем магазинам организации
  • Если передан параметр EshopId и Organization, то поиск будет проверять принадлежность магазина к организации.
Тип операцииIsHoldingSearchНет

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

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

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

  • EshopId и OrganizationId не переданы - выведет все магазины в холдинге
  • EshopId передан - будет искать данный магазин во всех организациях холдинга
  • OrganizationId передан - будет искать данный магазин, среди магазинов организации
  • Переданы EshopId и OrganizationId - будет искать магазин среди магазинов организации
Ограничение выборки по количеству объектовSkipНет

Количество объектов, пропускаемых перед отдачей. Для значения 10, пропустит первые 10 записей и выведет Take записей начиная с 10 (нумерация начинается с 0)

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

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

Для значения 10, пропустит первые Skip записей и выведет 10 элементов

Ответ

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

Примеры

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

Пример запроса
Post: personal/eshop/getEshopInfo 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
Пример ответа
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "OperationId": "c9fcdb82-15db-4f6e-ab66-15baf5dee46f",
    "Result": {
        "EshopInfoDatas": [
            {
                "Organization": {
                    "OrganizationId": 54379,
                    "OrganizationName": "Зарубин Сергей Олегович1",
                    "Email": "s.suvorinov+20@inte.ru",
                    "OrganizationLogin": "s.suvorinov+20@intellectmoney.ru"
                },
                "Eshop": {
                    "EshopId": 452996,
                    "EshopName": "Демо Магазин IM",
                    "Protocol": "IMProtocol",
                    "SecretKey": "123",
                    "ResultUrl": "http://opencart.im.ru/index.php?route=payment/intellectmoney/callback"
                },
                "Bank": {
                    "AccountNumber": "30101810900000000894",
                    "RecipientName": "ИП \"IntellectMoney\"",
                    "Name": "АЛЬФА-БАНК",
                    "OKPO": "09610444",
                    "CorrespondentAccountNumber": "30101810200000000593",
                    "City": "МОСКВА",
                    "Address": "УЛ КАЛАНЧЁВСКАЯ, 27",
                    "BIK": "044525593"
                }
            }
        ],
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан."
        }
    }
}

GetInvoiceInfo() — ПОЛУЧЕНИЕ ИНФОРМАЦИИ О ПЛАТЕЖЕ

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

Правило формирования заголовка Sign: UserToken::::::EshopId::OrganizationId::IsHoldingSearch::InvoiceId::signSecretKey

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

Название

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

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

Описание

Ключ доступаUserTokenДа

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

Если не будут переданы параметры EshopId и OrganizationId, номер организации будет определен по данному параметру.

ID магазина

EshopId

Нет

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

Если передан данный параметр - будет проверять принадлежность СКО к данному магазину

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

OrganizationId

Нет

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

  • Если передан данный параметр - будет проверять принадлежность СКО к данной организации.
  • Если передан OrganizationId и EshopId - будет проверять принадлежность счета к магазину и принадлежность магазина к организации
Номер СКОInvoiceIdДа

Запрос информации только по данному номеру СКО.

Тип операцииIsHoldingSearchНет

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

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

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

  • EshopId и OrganizationId не переданы - будет искать среди всех магазинов организаций холдинга
  • EshopId передан - будет искать данный СКО в магазине и проверять принадлежность магазина к организациям холдинга
  • OrganizationId передан - будет искать данный СКО, среди магазинов указанной организации
  • Переданы EshopId и OrganizationId - будет искать СКО среди магазинов указанной организации

Ответ

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

Примеры

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

Пример запроса
Post: personal/eshop/getInvoiceInfo HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
 
UserToken = 9WUoI8gEQndN%2BI97MGA4vxIiPZs2v32MxyJS7%2FGDxegOLFXcBQy4fUfCqt6NURzV
InvoiceId = 3333333333
Пример ответа
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "OperationId": "ea667030-5dc4-4c56-9c86-c8aff1e41a89",
    "Result": {
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан."
        },
        "Eshop": {
            "EshopId": 452996,
            "EshopName": "Демо Магазин IM",
            "Protocol": "IMProtocol",
            "SecretKey": "123",
            "ResultUrl": "http://opencart.im.ru/index.php?route=payment/intellectmoney/callback"
        },
        "Organization": {
            "OrganizationId": 54379,
            "OrganizationName": "Зарубин Сергей Олегович1",
            "Email": "s.suvorinov+20@inte.ru",
            "OrganizationLogin": "s.suvorinov+20@intellectmoney.ru"
        },
        "ListNotificationParams": [
            {
                "CreationDate": "2014-10-13T13:36:51.87",
                "NotificationParams": "eshopId=452996&paymentId=3447364446&orderId=0.03736900+1413193002&eshopAccount=4334170032&serviceName=%cf%eb%e0%f2%e5%e6+%e2+%ef%ee%eb%fc%e7%f3+%ec%e0%e3%e0%e7%e8%ed%e0&recipientAmount=10.00&recipientCurrency=TST&paymentStatus=3&userName=&userEmail=s.suvorinov%2b20%40intellectmoney.ru&paymentData=2014-10-13+13%3a36%3a51&secretKey=&hash=b0facf9fbb3a94039269c4e257642ff3"
            },
            {
                "CreationDate": "2014-10-13T13:37:05.213",
                "NotificationParams": "eshopId=452996&paymentId=3447364446&orderId=0.03736900+1413193002&eshopAccount=4334170032&serviceName=%cf%eb%e0%f2%e5%e6+%e2+%ef%ee%eb%fc%e7%f3+%ec%e0%e3%e0%e7%e8%ed%e0&recipientAmount=10.00&recipientCurrency=TST&paymentStatus=5&userName=&userEmail=s.suvorinov%2b20%40intellectmoney.ru&paymentData=2014-10-13+13%3a37%3a05&secretKey=&hash=e722815c77921708961f49303d153389"
            }
        ],
        "InvoiceId": 3447364446
    }

CreateReceipt() — Отправка запроса на создание чека в OrangeData

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

Важно

Для использования данного метода API, переведите онлайн - кассу, в настройках магазина, в положение "Выключена". Это необходимо что бы избежать недопонимания кто и когда должен был пробить чек.

Правило формирования заголовка Sign: UserToken::MerchantReceipt::InvoiceId::signSecretKey

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

Название

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

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

Описание

Ключ доступаUserTokenДа

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

Номер СКОInvoiceIdДа

Запрос информации только по данному номеру СКО.

Параметры чекаMerchantReceiptДаДанный параметр подробно разобран в Протокол приема платежей Intellectmoney

Ответ

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

Примеры

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

Пример запроса
Post: personal/cashbox/createreceipt HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
 
UserToken = 9WUoI8gEQndN%2BI97MGA4vxIiPZs2v32MxyJS7%2FGDxegOLFXcBQy4fUfCqt6NURzV
InvoiceId = 3333333333
MerchantReceipt = {"group":"Main","content":{"checkClose":{"payments":[{"type":2, "amount":10.00}], "taxationSystem":0},"type":1,"positions":[{"quantity":1.000,"price":5,"tax":6,"text":"Булка"},{"quantity":1.000,"price":5,"tax":4,"text":"Спички"}],"customerContact":"foo@example.com"}}
Пример ответа
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "OperationId": "30bb1437-033e-45cf-887a-15b779483648",
    "Result": {
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан."
        },
	"DocumentId": "2473c3e4d8564d59a02064641a5e40a7",
	"CashboxReceiptResponseData": {
		"ReceiptId": 0,
		"Response": "",
		"ResponseState": "Created",
		"Errors": [],
	}
}

GetReceipt() — Получение информации о чеке от OrangeData

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

Важно

Для использования данного метода API, переведите онлайн - кассу, в настройках магазина, в положение "Выключена". Это необходимо что бы избежать недопонимания кто и когда должен был пробить чек.

Правило формирования заголовка Sign: UserToken::DocumentId::InvoiceId::signSecretKey

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

Название

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

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

Описание

Ключ доступаUserTokenДа

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

Номер СКОInvoiceIdДа

Номер Счета К Оплате в системе IntellectMoney.

Идентификатор чекаDocumentIdДаИдентификатор чека нужно получить из метода CreateReceipt

Ответ

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

Примеры

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

Пример запроса
Post: personal/cashbox/getReceipt HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
 
UserToken = 9WUoI8gEQndN%2BI97MGA4vxIiPZs2v32MxyJS7%2FGDxegOLFXcBQy4fUfCqt6NURzV
InvoiceId = 3333333333
DokumentId = 745c6f8967fb4338a57a0f10214946b6
Пример ответа
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "OperationId": "30bb1437-033e-45cf-887a-15b779483648",
    "Result": {
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан."
        },
	"CashboxReceiptResponseData": {
		"ReceiptId": 24573,
		"Response": "
			{"id":"745c6f8967fb4338a57a0f10214946b6","deviceSN":"0262220038000625","deviceRN":"0001428266028297","fsNumber":"9999078900006775","ofdName":"ОФД-Я (тест)","ofdWebsite":"www.ofd-ya.ru","ofdinn":"7728699517","fnsWebsite":"www.nalog.ru","companyINN":"7743736523","companyName":"Общество с ограниченной ответственностью \"ИНТЕЛЛЕКТМАНИ\"","documentNumber":771,"shiftNumber":219,"documentIndex":3,"processedAt":"2019-08-19T09:56:00","content":{"type":1,"positions":[{"quantity":1.000,"price":5.0,"tax":6,"text":"Булка"},{"quantity":1.000,"price":5.0,"tax":4,"text":"Спички"}],"checkClose":{"payments":[{"type":2,"amount":10.00}],"taxationSystem":0},"customerContact":"foo@example.com"},"change":0.0,"fp":"2969310875","callbackUrl":null}",
		"Id": "745c6f8967fb4338a57a0f10214946b6",
		"DeviceSN": "0262220038000625",
		"DeviceRN": "0001428266028297",
		"FSNumber": "9999078900006775",
		"OFDName": "ОФД-Я (тест)",
		"OFDInn": "7728699517",
		"OFDWebsite": "www.ofd-ya.ru",
		"FNSWebsite": "www.nalog.ru",
		"CompanyINN": "7743736523",
		"CompanyName": "Общество с ограниченной ответственностью "ИНТЕЛЛЕКТМАНИ"",
		"DocumentNumber": 771,
		"ShiftNumber": 219,
		"DocumentIndex": 3,
		"ProcessedAt": "2019-08-19T09:56:00",
		"Content": {
			"Type": "In",
				"Positions": [
 				 {
					"Quantity": 1,
					"Price": 5,
					"Tax": "None",
					"Text": "Булка"
				 },
				 {
					"Quantity": 1,
					"Price": 5,
					"Tax": "Vat110",
					"Text": "Спички"
				 }
				],
				"CheckClose": {
					"Payments": [
  					{
						"Type": "Electronic",
						"Amount": 10
					}
					],
					"TaxationSystem": "Common"
				},
			"CustomerContact": "foo@example.com"
		},
		"Change": 0,
		"FP": "2969310875",
		"ResponseState": "Ok",
		"Errors": []
	}
}

CreateReceiptCorrection() — Отправка запроса на создание чека коррекции в OrangeData

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

Правило формирования заголовка Sign: UserToken::InvoiceId::DocumentId::MerchantReceiptCorrection::signSecretKey

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

Название

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

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

Описание

Ключ доступаUserTokenДа

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

Номер СКОInvoiceIdДа

Номер Счета К Оплате в системе IntellectMoney.

Идентификатор чекаDocumentIdДаИдентификатор чека нужно получить из метода CreateReceipt
Параметры чека коррекцииMerchantReceiptCorrectionДа<CashboxReceiptCorrectionData>

Ответ

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

Примеры

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

Пример запроса
POST personal/cashbox/createReceiptCorrection HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

InvoiceId=3899397825
UserToken=ntbUm45Rd1QKuDC8h1JWU7YIXdyIps6Z4yVVYT/Xnn5OqNcw7M+a/q6CtKFa6D93
MerchantReceiptCorrection={
	"inn": "XXXXXXXXXX",
	"group": "Main",
	"content": {
		"CorrectionType": 0,
		"Type": 1,
		"Description": "Коррекция прихода",
		"CauseDocumentDate": "2020-05-24T00:00:00",
		"CauseDocumentNumber": "№1",
		"TotalSum": 500.0,
		"TaxationSystem": 1
	}
}
DocumentId=2f35b40f971f4c8a8d317a5739221cbd
Пример ответа
{
	"id": "ed48d95f24af42fe90c62f08c5a65d06",
	"deviceSN": "XXXXXXXXXXXXXXXX",
	"deviceRN": "XXXXXXXXXXXXXXXX",
	"fsNumber": "XXXXXXXXXXXXXXXX",
	"ofdName": "ОФД-Я",
	"ofdWebsite": "www.ofd-ya.ru",
	"ofdinn": "7728699517",
	"fnsWebsite": "www.nalog.ru",
	"companyINN": "XXXXXXXXXXXX",
	"companyName": "ИП Рога и копыта",
	"documentNumber": 810,
	"shiftNumber": 377,
	"documentIndex": 1,
	"processedAt": "2020-05-24T14:00:00",
	"content": {
		"correctionType": 0,
		"type": 3,
		"description": "Коррекция расхода",
		"causeDocumentDate": "2020-05-24T00:00:00",
		"causeDocumentNumber": "№1",
		"totalSum": 500.0,
		"cashSum": 0.0,
		"eCashSum": 0.0,
		"prepaymentSum": 0.0,
		"postpaymentSum": 0.0,
		"otherPaymentTypeSum": 0.0,
		"tax1Sum": 0.0,
		"tax2Sum": 0.0,
		"tax3Sum": 0.0,
		"tax4Sum": 0.0,
		"tax5Sum": 0.0,
		"tax6Sum": 0.0,
		"taxationSystem": 1
	},
	"change": 0.0,
	"fp": "XXXXXXXXXX"
}

WithdrawMoney() — Создание заявки на вывод средств

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

Правило формирования заголовка Sign: AccountId::Amount::TransactionDate::::signSecretKey

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

Название

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

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

Описание

Номер счетаAccountIdДа

Номер счета, с которого выводятся средства.

Сумма выводаAmountДа

Положительное число, округленное до 2 знаков после десятичной точки, без пробелов.

Максимальная длина - 13 цифр вместе с десятичными знаками.

Дата операцииTransactionDateНетДействительная дата, на которую состоялся вывод. Если не задана, используется текущая дата и время 

Ответ

Ответ типа <Response> будет содержать структуру <TransactionInfoData> с информацией о созданной транзакции вывода

Примеры

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

Пример запроса
Post: personal/payment/withdrawMoney HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
 
AccountId = 6111111111
Amount = 100.00
Пример ответа
{
  "OperationState": {
    "Code": 0,
    "Desc": "Успешно обработана"
  },
  "OperationId": "45b31d11-c6c5-44f1-8c2d-004182e2cf37",
  "Result": {
    "State": {
      "Code": 0,
      "Desc": "Успешно обработан."
    },
    "TransactionId": 2036602491,
    "PaymentState": "Confirm",
    "Amount": 0.01,
    "Currency": "RUB"
  }
}

GetTransactionData() — Получение информации о транзакции

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

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

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

Название

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

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

Описание

Номер транзакцииTransactionIdДа

Номер транзакции, принадлежащей организации или пользователю

Ответ

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

Примеры

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

Пример запроса
Post: personal/payment/getTransactionData HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
 
TransactionId = 2111111111
Пример ответа
{
  "OperationState": {
    "Code": 0,
    "Desc": "Успешно обработана"
  },
  "OperationId": "4064d921-b45b-490a-a679-eba784b3dcfa",
  "Result": {
    "State": {
      "Code": 0,
      "Desc": "Успешно обработан."
    },
    "TransactionId": 2036602481,
    "PaymentState": "Confirm",
    "Amount": 1.2000,
    "Currency": "RUB"
  }
}

GetAccountData() — Получение информации о состоянии счета

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

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

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

Название

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

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

Описание

Номер счетаAccountIdДа

Номер счета

Дата операцииBalanceOnDateНетДата, на которую необходимо запросить состояние счета. Если не задана, используется текущая дата и время 

Ответ

Ответ типа <Response> будет содержать структуру <AccountInfoData> с информацией о состоянии счета

Примеры

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

Пример запроса
Post: personal/payment/getAccountData HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
 
AccountId = 6111111111
Пример ответа
{
  "OperationState": {
    "Code": 0,
    "Desc": "Успешно обработана"
  },
  "OperationId": "5ee71ed0-eed7-453e-950f-8aa10f05beff",
  "Result": {
    "State": {
      "Code": 0,
      "Desc": "Успешно обработан."
    },
    "AccountId": 6554473696,
    "Balance": 4.6800,
    "Currency": "RUB"
  }
}

RegisterOrganization() - Регистрация организации

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

Правило формирования заголовка Sign: UserToken::RequestId::FirstName::ContactPhone::Email::LeadSource::Inn:InviteCode::LeadComment::LeadAttractor::signSecretKey

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

НазваниеИмя параметраОбязательныйОписание
ID заявкиRequestIdДаID заявки на регистрацию (в системе поставщика).
ИмяFirstNameДаИмя владельца организации.
Контактный номерContactPhoneДаКонтактный номер.
Контактный e-mailEmailДаКонтактный e-mail.
Источник регистрацииLeadSourceДаID источника регистрации.
ИННInnНетИНН.
Промо-кодInviteCodeНетПромо-код.
UTM-меткиUTMParamsНет

UTM-метки. Тип UTMParamsData

КомментарийLeadCommentНетКомментарий поставщика.
ПривлеченецLeadAttractorНетПривлеченец (ФИО менеджера).

Ответ

Ответ типа <Response> будет содержать переданные в запросе данные, если регистрация прошла успешно.

Примеры

Пример запроса
Post: /user/registerOrganization HTTP/1.1 
Host: api.intellectmoney.ru
Accept: application/json 
Content-Type: application/json

{
    "userToken": "TNNyBoUMbUjhr8Go1QixvJ6co1y1kxh6vz/MEpIR9X0Ka9rRIWHfArwUTpBwE1sw", 
    "email": "testtest@testtest.test", 
    "firstName": "Test", 
    "contactPhone": "70000000000",
    "requestId": "1213123", 
    "leadSource": "31",
    "inviteCode": "", 

    "inn": "1231231231", 
    "utmParams": {
        "utm_source": "intellectmoney", 
        "utm_medium": "cpc", 
        "utm_campaign": "dev", 
        "utm_term": "some info", 
        "utm_content": "textlink"
    }, 
    "leadComment": "Комментарий", 
    "leadAttractor": "Иванов Иван Иванович"
}
Пример ответа
{
  "OperationState": {
    "Code": 0,
    "Desc": "Успешно обработана"
  },
  "Result": {
    "RequestId": "1213123",
    "FirstName": "Test",
    "ContactPhone": "70000000000",
    "Email": "testtest@testtest.test",
    "LeadSource": "31",
    "Inn": "1231231231",
    "InviteCode": "",
    "UTMParams": {
      "utm_source": "intellectmoney",
      "utm_medium": "cpc",
      "utm_campaign": "dev",
      "utm_term": "some info",
      "utm_content": "textlink"
    },
    "LeadComment": "Комментарий",
    "LeadAttractor": "Иванов Иван Иванович",
    "UserToken": "TNNyBoUMbUjhr8Go1QixvJ6co1y1kxh6vz/MEpIR9X0Ka9rRIWHfArwUTpBwE1sw"
  }
}

ТИПЫ ДАННЫХ

<Response>

Поле

Тип

Описание

OperationState

<OperationState>

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

OperationId

GUID

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

EshopId

int

ID магазина

Result

MethodResult

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

<OperationState>

Поле

Тип

Описание

State

<ServiceOperatonState>

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

Desc

string

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

<UserTokenData>

Поле

Тип

Описание

State

<RequestState>

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

UserToken

string

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

<InvoicesHistoryList>

Поле

Тип

Описание

State

<RequestState>

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

InvoicesHistoryList

List<InvoiceData>

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

<PaymentsHistoryList>

Поле

Тип

Описание

State

<RequestState>

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

InvoicesHistoryList

List<HistoryData>

Список транзакций

<InvoiceData>

Поле

Тип

Описание

Id

long

Номер СКО

State

<InvoiceState>

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

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

<HistoryData>

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


Свойства <InvoiceData>

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

<PaymentType>

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

<Money>

Поле

Тип

Описание

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

<SetScheduledOperationData>

Поле

Тип

Описание

State

<RequestState>

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

ScheduledOperation

<ScheduledOperationData>

Информация по созданной/отредактированной операции

<GetScheduledOperationData>

Поле

Тип

Описание

State

<RequestState>

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

ScheduledOperationList

List<ScheduledOperationData>

Список операций, подходящих под заданный фильтр


<ScheduledOperationData>

Поле

Тип

Описание

CronOperationId
GUID
Номер операции. Используется для редактирования операции, если не передать - создается новая операция (GUID)
ObjectId
long

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

  • SourceInvoiceId - для операции рекарринга (Номер Счёта К Оплате)
CronOperationTypetinyintТип регулярной операции (1 - Recurring)
Paramstext

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

{ "Amount": 10 }

CreationDateDateTimeДата создания операции
ChangeDateDateTimeДата последнего внесения изменений
EndExecDateDateTimeДата окончания выполнения операции
LastExecDateDateTimeДата последнего выполнения операции
NextExecDateDateTimeДата следующего выполнения операции
RepeatPlantext

Периодичность (регулярность) выполнения операции. Может указываться в двух различных вариантах:

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

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

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

RetryOnFailPlantext

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

  • Cron expressions: "0 0/5 * 1/1 * ? *" Для создания данного регулярного выражения, можно использовать http://www.cronmaker.com/
  • JSON:

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

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

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

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

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

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

  • Active - Активен
  • Disable - Выключен

<EshopInfoDataList>

Поле

Тип

Описание

State

<RequestState>

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

EshopInfoDatas

<EshopInfoData>

Информация по магазину

<EshopInfoData>

Поле

Тип

Описание

Organizaiton

<OrganizaitonInfo>

Краткая информация об организации

Eshop

<EshopInfo>

Информация по магазину

Bank<BankInfo>Информация о банке

<InvoiceInfoData>

Поле

Тип

Описание

State

<RequestState>

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

Eshop

<EshopInfo>

Информация по магазину

Organization<OrganizaitonInfo>

Краткая информация об организации

ListNotificationParams<NotificationParamsData>Список параметров, переданный на ResultURL
InvoiceIdintНомер СКО

<EshopInfoDataList>

Поле

Тип

Описание

State

<RequestState>

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

EshopInfoDatas

<EshopInfoData>

Информация по магазину

<OrganizaitonInfo>

Поле

Тип

Описание

OrganizationId

int

Уникальный идентификатор организации

OrganizationName

text

Название организации

EmailtextEmail контактного лица
OrganizationLogintextЛогин для входа в организацию

<EshopInfo>

Поле

Тип

Описание

EshopId

int

Уникальный идентификатор магазина

EshopName

text

Название магазина

ProtocoltextПротокол интеграции (IMProtocol)
SecretKeytextЛогин для входа в организацию
ResultUrltextURL для уведомлений о смене статуса платежа

<BankInfo>

Поле

Тип

Описание

AccountNumber

text

Номер расчётного счёта

RecipientName

text

Наименование получателя

NametextНазвание банка
OKPOtextОКПО банка
CorrespondentAccountNumbertextКорреспондентский счет счёт банка
CitytextГород банка
AddresstextАдрес банка
BIKtextБИК банка

<NotificationParamsData>

Поле

Тип

Описание

CreationDate

DateTime

Дата создания запроса

NotificationParams

text

Список переданных параметров

<CashBoxReceiptCreateData>

Поле

Тип

Описание

DocumentId

text

Идентификатор чека

CashBoxReceiptResponseData

<CashBoxReceiptResponseData>

Ответ от OrangeData

<CashBoxReceiptResponseData>

Поле

Тип

Описание

ReceiptResponseId

int

Идентификатор ответа в системе IntellectMoney

ReceiptId

int

Идентификатор чека в системе IntellectMoney
ResponsetextОтвет от OrangeData
IdstringИдентификатор документа
DeviceSNtextЗаводской номер устройства пробившего чек
DeviceRNtextРегистрационный номер устройства пробившего чек
FSNumbertextНомер фискального накопителя
OFDNametextНаименование ОФД
OFDInntextИНН ОФД
OFDWebsitetextWeb-сайт ОФД
FNSWebsitetextWeb-сайт ФНС
CompanyInntextИНН пользователя
CompanyNametextНаименование пользователя
DocumentNumberintНомер ФД
ShiftNumberintНомер смены
DocumentIndexintНомер чека за смену
ProcessedAtDateTimeВремя регистрации фискального документа в ФН
Content<CashboxReceiptContentData>Содержимое документа
ChangedecimalСдача
FPtextФискальный признак
ResponseState<ReceiptResponseStateEnum>Статус чека
ErrorsList<string>Список ошибок

<CashboxReceiptContentData>

ПолеТипОписание
TypeReceiptDocTypeEnumТип документа
PositionsList<CashboxReceiptPositionData>Список позиций в чеке
CheckClose<CashboxReceiptCheckCloseData>Параметры закрытия чека
CustomerContacttextТелефон или e-mail покупателя
AgentTypetextПризнак агента

<CashboxReceiptPositionData>

ПолеТипОписание
ReceiptPositionIdintИдентификатор позиции в чеке в системе IntellectMoney
ReceiptIdintИдентификатор чека в системе IntellectMoney
QuantitydecimalКоличество товара
PricedecimalЦена товара с учетом всех скидок и наценок
Tax<ReceiptVatRateEnum>Ставка НДС
PaymentSubjectType<ReceiptPaymentSubjectTypeEnum>Предмет расчета
PaymentMethodType<ReceiptPaymentMethodTypeEnum>Способ расчета
TexttextТекст позиции

<CashboxReceiptCheckCloseData>

ПолеТипОписание
Payments<CashboxReceiptPaymentData>Оплаты
TaxationSystem<ReceiptTaxationSystemEnum>Система налогообложения

Оплата

ПолеТипОписание
ReceiptPaymentIdintИдентификатор оплаты в системе IntellectMoney
ReceiptIdintИдентификатор чека в системе IntellectMoney
Type<ReceiptPaymentTypeEnum>Тип оплаты
AmountdecimalСумма оплаты

<TransactionInfoData>

ПолеТипОписание
TransactionIdlongНомер транзакции
PaymentState<PaymentTransactionState>Статус транзакции
AmountdecimalСумма транзакции
Currency<Currency>Валюта операции

<AccountInfoData>

ПолеТипОписание
AccountIdlongНомер счета
BalancedecimalСостояние баланса
Currency<Currency>Валюта счета

<CashboxReceiptCorrectionData>

Поле

Тип

Описание

id

Идентификатор документа

Строка от 1 до 64 символов. Параметр обязательный.

Inn

ИНН организации, для которой пробивается чек

Строка 10 или 12 символов. Параметр обязательный.

group

Группа устройств, с помощью которых будет пробит чек

Строка от 1 до 32 символов или null

content


<CashboxReceiptCorrectionContentData>

key

Название ключа, который должен быть использован для проверки подпись. Для клиентов используется их ИНН, для партнеров и платежных агентов код с маской 301****, для вендинга 401****.

Строка от 1 до 32 символов либо null. Параметр обязательный.

callbackUrl

URL для отправки результатов обработки чека POST запросом

Строка от 1 до 1024 символов или null

<CashboxReceiptCorrectionContentData>

Поле

Тип

Описание

correctionType

Тип коррекции 1173:

0. Самостоятельно

1. По предписанию

Число. Параметр обязательный.

type

Признак расчета, 1054:

1. Приход

3. Расход

Число. Параметр обязательный.

causeDocumentDate

Дата документа основания для коррекции 1178.

В данном реквизите время всегда указывать, как 00:00:00

Время в виде строки в формате ISO8601. Параметр обязательный.

causeDocumentNumber

Номер документа основания для коррекции, 1179

Строка от 1 до 32 символов. Параметр обязательный.

totalSum

Сумма расчета, указанного в чеке (БСО), 1020

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

cashSum

Сумма по чеку (БСО) наличными, 1031

Десятичное число с точностью до 2 символов после точки

eCashSum

Сумма по чеку (БСО) безналичными, 1081

Десятичное число с точностью до 2 символов после точки

prepaymentSum

Сумма по чеку (БСО) предоплатой (зачетом аванса и (или) предыдущих платежей), 1215

Десятичное число с точностью до 2 символов после точки

postpaymentSum

Сумма по чеку (БСО) постоплатой (в кредит), 1216

Десятичное число с точностью до 2 символов после точки

otherPaymentTypeSum

Сумма по чеку (БСО) встречным предоставлением, 1217

Десятичное число с точностью до 2 символов после точки

tax1Sum

Сумма НДС чека по ставке 20%, 1102

Десятичное число с точностью до 2 символов после точки

tax2Sum

Сумма НДС чека по ставке 10%, 1103

Десятичное число с точностью до 2 символов после точки

tax3Sum

Сумма расчета по чеку с НДС по ставке 0%, 1104

Десятичное число с точностью до 2 символов после точки

tax4Sum

Сумма расчета по чеку без НДС, 1105

Десятичное число с точностью до 2 символов после точки

tax5Sum

Сумма НДС чека по расч. ставке 20/120, 1106

Десятичное число с точностью до 2 символов после точки

tax6Sum

Сумма НДС чека по расч. ставке 10/110, 1107

Десятичное число с точностью до 2 символов после точки

taxationSystem

Применяемая система налогообложения, 1055:

0. Общая

1. Упрощенная доход

2. Упрощенная доход минус расход

3. Единый налог на вмененный доход

4. Единый сельскохозяйственный налог

5. Патентная система налогообложения

Число

automatNumber

Номер автомата, 1036

Строка длиной от 1 до 20 символов, обязательное поле, если группа имеет признак передачи данных автомата, в противном случае не должно передаваться. Только для вендинга и транспорта.

settlementAddress

Адрес расчетов, 1009

Строка длиной от 1 до 243 символов, обязательное поле, если группа имеет признак передачи данных автомата, в противном случае не должно передаваться. Только для вендинга и транспорта.

settlementPlace

Место расчетов, 1187

Строка длиной от 1 до 243 символов, обязательное поле, если группа имеет признак передачи данных автомата, в противном случае не должно передаваться. Только для вендинга и транспорта.

<CashboxReceiptCorrectionResponseData>

Поле

Тип

Описание

id

Идентификатор документа

Строка от 1 до 64 символов

deviceSN

Заводской номер устройства пробившего чек

Строка до 20 символов

deviceRN

Регистрационный номер устройства пробившего чек

Строка до 20 символов

fsNumber

Номер фискального накопителя

Строка 16 символов

ofdName

Наименование ОФД

Строка до 256 символов

odfWebsite

Web-сайт ОФД

Строка до 58? символов

odfINN

ИНН ОФД

Строка 12 символов

fnsWebsite

Web-сайт ФНС

Строка до 256 символов

companyINN

ИНН пользователя

Строка 12 символов

companyName

Наименование пользователя

Строка до 256 символов

documentNumber

Номер ФД

Число

shiftNumber

Номер смены

Число

documentIndex

Номер чека за смену

Число

processedAt

Время регистрации фискального документа в ФН

Время в виде строки в формате ISO8601

content

Содержимое документа

Структура п.2.1.1.1

fp

Фискальный признак

Строка 10 символов

callbackUrl

URL для отправки результатов обработки чека POST запросом

Строка от 1 до 1024 символов или null

<UTMParamsData>


ПолеТипОписание
utm_sourcestringСайт, с которого направляется трафик.
utm_mediumstringРекламная модель.
utm_campaignstringРекламная кампания.
utm_termstringКлючевая фраза из рекламной кампании.
utm_contentstringКонкретный элемент, на который кликнул пользователь.

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

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

ServiceOperatonState

Описание

0

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

1

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

2

Ошибка

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

Код ошибки

Описание

0

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

1

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

2

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

Описание принимаемых валют

Название

Описание

RUB

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

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

InvoiceState

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

Описание

Пояснение

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

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

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

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

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

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

Статусы платежной транзакции

TransactionState

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

Описание

Пояснение

Created0СозданаПлатежная транзакция создана и еще не проведена.
Confirm1ПодтвержденаПлатежная транзакция подтверждена
Canceled2ОтмененаПлатежная транзакция отменена

Тип сортировки счетов

OrderList

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

Описание

Пояснение

None0Не заданСортировка по умолчанию, равносильно не передаче параметра , сортирует по дате создания
CreationDate1По дате созданияСортирует счета по дате создания, сортировка по возрастанию
ChangeDate2По дате измененияСортирует счета по дате изменения, сортировка по возрастанию
InvoiceState3По состоянию счета

Сортирует счета по состоянию счета

Amount4По сумма

Сортирует счета по сумме, сортировка по возрастанию


Статус чека

ReceiptResponseStateEnum

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

Описание

None0Нет статуса
Created1Чек создан и добавлен в очередь на обработку, пустое тело ответа
Ok2Чек обработан, есть тело
BadRequest3Клиентский сертификат не прошел проверку
Conflict4Чек с данным идентификатором уже был создан в системе, пустое тело ответа
Accepted5Чек создан и добавлен в очередь на обработку, но еще не обработан, пустое тело ответа
NotFound6Чек с указанным идентификатором не найден в системе, пустое тело ответа
Unauthorized7Клиентский сертификат не прошел проверку
ServerErrorRetryLater8Сервер недоступен или внутренняя ошибка сервера
ServiceUnavailable9Очередь документов переполнена
UnsupportedResponseFormat10Ответ сервера не удалось распознать
HttpRequestError11Ошибка отправки http запроса (например разрыв соединения)

Ставка НДС

ReceiptVatRateEnumЧисловое представлениеОписание
Vat201Ставка НДС 20%
Vat102Ставка НДС 10%
Vat1203Ставка НДС расч. 20/120
Vat1104Ставка НДС расч. 10/110
Vat05Ставка НДС 0%
None6НДС не облагается

Предмет расчёта

ReceiptPaymentSubjectTypeEnumЧисловое представлениеОписание
Product1Товар
Excisable2Подакцизный товар
Job3Работа
Service4Услуга
GamblingBet5

Ставка азартной игры

GamblingGain6Выигрыш азартной игры
LotteryTicket7Лотерейный билет
LotteryWinnings8Выигрыш лотереи
Rid9Предоставление РИД
Payment10Платёж
AgentComission11Агентское вознаграждение
Composite12Составной предмет расчета
Other13Иной предмет расчета

Способ расчета

ReceiptPaymentMethodTypeEnumЧисловое представлениеОписание
Prepay1Предоплата 100%
PartialPrepay2Частичная предоплата
Advance3Аванс
Full4Полный расчёт
PartialAndCredit5Частичный расчёт и кредит
CreditTransfer6Передача в кредит
CreditPayment7Оплата кредита

Система налогообложения

ReceiptTaxationSystemEnumЧисловое представлениеОписание
Common0Общая
Simplified1Упрощенная доход, УСН доход
SimplifiedMinusOutlay2Упрощенная доход минус расход, УСН доход - расход
UnifiedImputedIncome3Единый налог на вмененный доход
UnifiedAgricultural4Единый сельскохозяйственный налог
Patent5Патентная система налогообложения

Тип оплаты

ReceiptPaymentTypeEnumЧисловое представлениеОписание
Cash1Сумма по чеку наличными
Electronic2Сумма по чеку электронными
Advance14Сумма по чеку предоплатой
Credit15Сумма по чеку постоплатой
Other16Сумма по чеку встречным предоставлением



  • No labels