- Created by Сергей, last modified by Unknown User (s.zhukov) on Aug 19, 2019
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 125 Next »
Общая информация
Данное API на текущий момент реализации позволяет запросить реестр платежей, создавать и редактировать операции по расписанию. Взаимодействие между сервером IntellectMoney и клиентом API происходит по HTTP-протоколу.
Запрос к системе IntellectMoney
Данные при запросах на сервер IntellectMoney передаются в формате параметров HTTP-запроса в кодировке UTF-8 с типом контента "application/x-www-form-urlencoded".
В ответ данные возвращаются в формате XML, либо в формате JSON. Что бы получить ответ в формате JSON нужно в заголовки запроса передать "Accept: text/json".
Ответ системы IntellectMoney на запросы
В ответ приходят два состояния запроса это <OperationState> и <Response>:
<OperationState> сообщает - смогла ли система IntellectMoney обработать данный запрос. Возможны три варианта:
- Система обработала запрос. Ответ типа <Response> будет содержать результат работы метода (синхронная обработка). ( Код операции - 0 )
- Система поставила запрос в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1 )
- Система не смогла обработать запрос. Операция выполнена не будет. ( Код операции - 2 )
- <Response> сообщает статус запроса - был ли найден данный метод, все ли параметры переданы верно и так далее.
В случае, если какой-либо параметр будет передан не верно, в состоянии <Response> будет выведено сообщение об ошибке и параметр, который передан не корректно.
СЛОВАРЬ ТЕРМИНОВ
- СКО — Счет К Оплате, инвойс
Важно
Для доступа к API следует получить ключ доступа через операцию аутентификации клиента Документация Personal API. Данный ключ является обязательным параметром для всех операций API.
Для всех запросов к API используется метод curlRequest. Код данного метода можно посмотреть в разделе "Дополнительная информация".
ПОРЯДОК ВЫЗОВА МЕТОДОВ
getUserToken() — Аутентификация клиента API
Для запроса ключа доступа клиента к API необходимо отправить POST-запрос на следующий адрес URL: https://api.intellectmoney.ru/personal/user/getUserToken В запросе необходимо передать следующие параметры: Название Имя параметра Обязательный Описание Логин Login Да Логин пользователя юридического лица (магазина). Используется для входа в личный кабинет на странице: https://intellectmoney.ru/ru/. Пароль Password Да Пароль пользователя юридического лица (магазина). Используется для входа в личный кабинет на странице: https://intellectmoney.ru/ru/. Ответ типа <Response> будет содержать структуру <UserTokenData> В функции getToken() используются личные данные - логин и пароль для доступа в личный кабинет IntellectMoneyПередача параметров
Ответ
Примеры
Общий вид предоставления данных
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
function getToken(){
$urlGetToken = "https://api.intellectmoney.ru/personal/user/getUserToken";
$data = array(
"Login" => "s.zhukov@intellectmoney.ru",// Логин для входа в личный кабинет IntellectMoney
"Password" => "myPassword"// Пароль для входа в личный кабинет IntellectMoney
);
$requestResult = curlRequest($urlGetToken, $data, true);
$result = simplexml_load_string($requestResult);
$userToken = $result->Result->UserToken;
return (string)$userToken;
}
GETINVOICESHISTORY() — ПОЛУЧЕНИЕ РЕЕСТРА ПЛАТЕЖЕЙ
Передача параметров
Для запроса реестра платежей необходимо отправить 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". |
ID организации | OrganizationId | Нет | Номер организации в системе IntellectMoney, по которому запрашивается информация. Это номер заявления о присоединении. Если параметр передан - будет производить поиск в рамках указанной организации. |
Статус СКО | State | Нет | Запрос реестра платежей только с указанным статусом СКО (см. <InvoiceState>) |
Номер СКО | InvoiceId | Нет | Запрос информации только по одному СКО по его номеру |
Включает транзакции по СКО в выборку | IncludePaymentTransactions | Нет | Тип boolean. При передаче значения true в выборку будут включены все транзакции по СКО: транзакции пополнения СКО, транзакции пополнения счета магазина, транзакции возврата (при возврате) |
Тип операции | IsHoldingSearch | Нет | Флаг, указывающий на поиск по организациям холдинга:
Если флаг включен:
|
Указывает порядок сортировки | SortOrder | Нет | Данный порядок отвечает за сортировку данных перед выдачей. Принимаемые значения описаны в таблице Тип сортировки счетов |
Дата начала выборки создания СКО | DateFrom | Нет | В выборку попадут все СКО, у которых дата создания входит в данный диапазон. Значения параметров передавать в формате ДД.ММ.ГГГГ. |
Дата окончания выборки создания СКО | DateTo | Нет | |
Дата начала выборки изменения СКО | ChangeDateFrom | Нет | В выборку попадут все СКО, у которых дата изменения входит в данный диапазон. Значения параметров передавать в формате ДД.ММ.ГГГГ. |
Дата окончания выборки изменения СКО | ChangeDateTo | Нет | |
Ограничение выборки по количеству объектов | Skip | Нет | Количество объектов, пропускаемых перед отдачей |
Ограничение выборки по количеству объектов | Take | Да | Ограничение на количество возвращаемых объектов. |
Использование параметров
При выборке данных используется конъюнкция параметров. Например, в случае, если переданы параметры "Статус СКО" и "Номер СКО", то результат запрос вернет объект СКО только при его наличии с переданными номером и статусом.
Ответ
Ответ типа <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() — ПОЛУЧЕНИЕ ИСТОРИИ ОПЕРАЦИЙ
Передача параметров
GETPAYMENTSHISTORY
Для запроса реестра платежей необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/personal/payment/getPaymentsHistory
В запросе необходимо передать следующие параметры:
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Документация Personal API. |
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() — РЕДАКТИРОВАНИЕ ОПЕРАЦИЙ ПО РАСПИСАНИЮ
Передача параметров
Для создания и редактирования операций по расписанию необходимо отправить POST-запрос на следующий адрес URL: Операцию по расписанию можно создавать когда, в уведомлении о платеже параметр reccurringState пришел в состоянии "Activated", подробнее об уведомлениях написано тут: Описание уведомлений от системы IntellectMoney при работе с операциями по расписанию
https://api.intellectmoney.ru/personal/scheduler/setScheduledOperationData
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Документация Personal API. |
Номер операции | Operation | Нет | Номер операции. Используется для редактирования операции, если не передать - создается новая операция (GUID). Данный параметр возвращается в ответе на запрос к методу SetScheduledOperation(). |
Объект операции | ObjectId | Да | Объект источник, к которому привязывается операция, например:
|
Тип операции | ObjectTypeVal | Да | Тип регулярной операции (1 - Recurring) |
Параметры | ParamsJson | Нет | Дополнительные параметры, сейчас нужно передать сумму списания , передавать в формате JSON, например: {'Amount':15} |
Дата окончания | EndExecDate | Да, если передан RepeatPlan | Дата окончания выполнения операций по расписанию. По достижению данной даты, операция по расписанию выполняться не будет. (Активность State станет равно 1 - выключен) Передаётся в формате ДД.ММ.ГГГГ Если параметр RepeatPlan не передан, данный параметр игнорируется. |
План выполнения | RepeatPlan | Нет | Cron expressions. Регулярное выражение, которое описывает частоту (регулярность) выполнения операции: например запуск операции каждый день в 12 часов дня(каждый день в 12 часов будет списана сумма операции со счёта клиента): "0 0 12 1/1 * ? *". Примеры других регулярных выражений, а так же дополнительную информацию можно посмотреть тут: Cron expression Запуск по требованию. Если параметр не передан или передан с пустым значением, то план выполнения отменяется, операция запускается один раз текущей датой и временем, после чего статус операции меняется на "Выключен". |
План повторов выполнения | RetryOnFailPlan | Да, если передан RepeatPlan | Cron expressions. Регулярное выражение, которое описывает периодичность(регулярность) выполнения операции, если операцию не удалось выполнить: например, повторный запуск операции через 5 минут (в случае, если в 12 часов операцию провести не удалось, каждые 5 минут будет производиться попытка выполнения данной операции, количество таких попыток указывается в поле RetryOnFailCount): "0 0/5 * 1/1 * ? *". Примеры других регулярных выражений, а так же дополнительную информацию можно посмотреть тут: Cron expression Если параметр RepeatPlan не передан, данный параметр игнорируется. |
Количество повторов выполнения | RetryOnFailCount | Да, если передан RepeatPlan | Количество повторных попыток выполнения (целое число). Если операцию не удалось выполнить с первого раза, она будет повторятся с периодичностью указанно в параметре RetryOnFailPlan не более чем RetryOnFailCount Если параметр RepeatPlan не передан, данный параметр игнорируется. |
Многопоточность | IsSingle | Да, если передан RepeatPlan | Флаг, указывающий возможность запуска параллельных тасков:
Если параметр RepeatPlan не передан, данный параметр игнорируется. |
Перезапуск | FireOnSkip | Да, если передан RepeatPlan | Флаг, указывающий необходимость создания всех запланированных задач, в случае их непредвиденного пропуска (0 или 1) Если параметр RepeatPlan не передан, данный параметр игнорируется. |
Активность | State | Да | Флаг, указывающий статус активности
|
Ответ типа <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 IsSingle = 1 ParamsJson = {"Amount":"100"} RepeatPlan = 0 0 12 1/4 * ? * RetryOnFailPlan = 0 0/15 * 1/1 * ? * RetryOnFailCount = 3 FireOnSkip = 1 State = 1 endExecDate = 12.12.2021
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
$userToken = getToken(); $data = array( 'UserToken' => $userToken,// Получаем в момент регистрации операции по расписанию 'Operation' => null,// Приходит среди параметров в уведомлении об оплате счёта на Result URL 'ObjectId' => 3496318551,//Номер счёта к оплате в системе IntellectMoney 'ObjectTypeVal' => 1,// пока передаём 1 'ParamsJson' => '{"Amount":"100"}',// Тут дополнительная информация, например - сумма списания 'RepeatPlan' => "0 0 12 1/4 * ? *",// Указываем период списания 'RetryOnFailPlan' => "0 0/15 * 1/1 * ? *",// Указываем период через который совершать повторно операцию списания, если при первой попытке случилась ошибка 'RetryOnFailCount' => 3,// Количество повторных попыток 'FireOnSkip' => 1,// Флаг создания запланированной задачи если она была пропущена 'EndExecDate' => "12.12.2021",// Дата окончания операций по расписанию 'State' => 1// Состояние операции - активна/не активна ); $request = curlRequest('https://api.intellectmoney.ru/personal/scheduler/setScheduledOperationData', $data); $result = simplexml_load_string($request); print_r((string)$result->Result->ScheduledOperation->CronOperationId); //Результат: получили Id созданной операции по расписанию //ece5b08a-8951-4739-8d71-ee589676bcd2
GetScheduledOperation() — ПОЛУЧЕНИЕ СПИСКА ОПЕРАЦИЙ ПО РАСПИСАНИЮ
Передача параметров
Для получения списка операций по расписанию необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/personal/scheduler/getScheduledOperationData
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Документация Personal API. |
Номер операции | Operation | Нет | Номер операции. Данный параметр возвращается в ответе на запрос к методу SetScheduledOperation(). |
Объект операции | ObjectId | Нет | Объект источник, к которому привязывается операция, например:
|
Тип операции | ObjectTypeVal | Нет | Тип регулярной операции (1 - Recurring) |
Параметры | ParamsJson | Нет | Дополнительные параметры в формате JSON, например: {'Amount':15} |
План выполнения | RepeatPlan | Нет | Cron expressions. Регулярное выражение, которое описывает частоту (регулярность) выполнения операции: например запуск операции каждый день в 12 часов дня(каждый день в 12 часов будет списана сумма операции со счёта клиента): "0 0 12 1/1 * ? *". Примеры других регулярных выражений, а так же дополнительную информацию можно посмотреть тут: Cron expression |
План повторов выполнения | RetryOnFailPlan | Нет | Cron expressions. Регулярное выражение, которое описывает периодичность(регулярность) выполнения операции, если операцию не удалось выполнить: например, повторный запуск операции через 5 минут (в случае, если в 12 часов операцию провести не удалось, каждые 5 минут будет производиться попытка выполнения данной операции, количество таких попыток указывается в поле RetryOnFailCount): "0 0/5 * 1/1 * ? *". Примеры других регулярных выражений, а так же дополнительную информацию можно посмотреть тут: Cron expression |
Количество повторов выполнения | RetryOnFailCount | Нет | Количество повторных попыток выполнения (целое число). Если операцию не удалось выполнить с первого раза, она будет повторятся с периодичностью указанно в параметре RetryOnFailPlan не более чем RetryOnFailCoun |
Многопоточность | IsSingle | Нет | Флаг, указывающий возможность запуска параллельных тасков:
|
Перезапуск | FireOnSkip | Нет | Флаг, указывающий необходимость создания всех запланированных задач, в случае их непредвиденного пропуска (0 или 1) |
Активность | State | Нет | Флаг, указывающий статус активности
|
Дата начала выборки | DateFrom | Нет | Пограничные значения даты изменения расписания ДД.ММ.ГГГГ. |
Дата окончания выборки | DateTo | Нет | Пограничные значения даты изменения расписания ДД.ММ.ГГГГ. |
Ограничение выборки по количеству объектов | Skip | Нет | Количество объектов, пропускаемых перед отдачей. Для значения 10, пропустит первые 10 записей и выведет Take записей начиная с 10 (нумерация начинается с 0) |
Ограничение выборки по количеству объектов | Take | Да | Ограничение на количество возвращаемых объектов. Для значения 10, пропустит первые Skip записей и выведет 10 элементов |
Ответ
Ответ типа <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 DateFrom = 10.10.2017 DateTo = 10.10.2018 Skip = 0 Take = 3
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
$userToken = getToken(); $data = array( 'UserToken' => $userToken, 'Operation' => null,// Получаем в момент регистрации операции по расписанию 'ObjectId' => null,// Приходит среди параметров в уведомлении об оплате счёта на Result URL 'ObjectTypeVal' => null,// пока передаём 1 'ParamsJson' => null,// Тут дополнительная информация, например - сумма списания 'RepeatPlan' => null,// Указываем период списания 'RetryOnFailPlan' => null,// Указываем период через который совершать повторно операцию списания, если при первой попытке случилась ошибка 'RetryOnFailCount' => null,// Количество повторных попыток 'FireOnSkip' => null,// Флаг создания запланированной задачи если она была пропущена 'EndExecDate' => null,// Дата окончания операций по расписанию 'State' => null,// Состояние операции - активна/не активна 'DateFrom' => "10.10.2017",// Дата создания начиная с этого значения 'DateTo' => "10.10.2018",// Дата создания до этого значения 'Skip' => 0, // Количество операций, которое нужно пропустить 'Take' => 3, //Количество операций, которые нужно выбрать ); $request = curlRequest('https://api.intellectmoney.ru/personal/scheduler/getScheduledOperationData', $data); $result = simplexml_load_string($request); echo $result->Result->ScheduledOperationList->ScheduledOperationData->CronOperationId;
GetEshopInfo() — ПОЛУЧЕНИЕ ИНФОРМАЦИИ О МАГАЗИНЕ
Передача параметров
Для получения информации о магазинах необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/pds/eshop/getEshopInfo
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Документация Personal API. Если не будут переданы параметры EshopId и OrganizationId, номер организации будет определен по данному параметру. |
ID магазина | EshopId | Нет | Номер магазина в системе IntellectMoney, по которому запрашивается информация. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID". Если параметр передан - выведет информацию по конкретному магазину |
ID организации | OrganizationId | Нет | Номер организации в системе IntellectMoney, по которому запрашивается информация. Это номер заявления о присоединении.
|
Тип операции | IsHoldingSearch | Нет | Флаг, указывающий на поиск по организациям холдинга:
Если флаг включен:
|
Ограничение выборки по количеству объектов | Skip | Нет | Количество объектов, пропускаемых перед отдачей. Для значения 10, пропустит первые 10 записей и выведет Take записей начиная с 10 (нумерация начинается с 0) |
Ограничение выборки по количеству объектов | Take | Да | Ограничение на количество возвращаемых объектов. Для значения 10, пропустит первые Skip записей и выведет 10 элементов |
Ответ
Ответ типа <Response> будет содержать структуру <EshopInfoDataList>
Примеры
Общий вид предоставления данных
Post: pds/eshop/getEshopInfo HTTP/1.1 Host: api.intellectmoney.ru Content-Type: application/x-www-form-urlencoded; charset=utf-8 UserToken = 9WUoI8gEQndN%2BI97MGA4vxIiPZs2v32MxyJS7%2FGDxegOLFXcBQy4fUfCqt6NURzV DateFrom = 10.10.2017 DateTo = 10.10.2018 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() — ПОЛУЧЕНИЕ ИНФОРМАЦИИ О ПЛАТЕЖЕ
Передача параметров
Для получения информации о платеже необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/pds/payment/getInvoiceInfo
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Документация Personal API. Если не будут переданы параметры EshopId и OrganizationId, номер организации будет определен по данному параметру. |
ID магазина | EshopId | Нет | Номер магазина в системе IntellectMoney, по которому запрашивается информация. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID". Если передан данный параметр - будет проверять принадлежность СКО к данному магазину |
ID организации | OrganizationId | Нет | Номер организации в системе IntellectMoney, по которому запрашивается информация. Это номер заявления о присоединении.
|
Номер СКО | InvoiceId | Да | Запрос информации только по данному номеру СКО. |
Тип операции | IsHoldingSearch | Нет | Флаг, указывающий на поиск по организациям холдинга:
Если флаг включен:
|
Ответ
Ответ типа <Response> будет содержать структуру <InvoiceInfoData>
Примеры
Общий вид предоставления данных
Post: pds/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
Передача параметров
Для получения информации о платеже необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/pds/cashBox/createReceipt
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Документация Personal API. Если не будут переданы параметры EshopId и OrganizationId, номер организации будет определен по данному параметру. |
Номер СКО | InvoiceId | Да | Запрос информации только по данному номеру СКО. |
Параметры чека | MerchantReceipt | Да |
Ответ
Ответ типа <Response> будет содержать структуру <CashboxReceiptCreateData>
Примеры
Общий вид предоставления данных
Post: pds/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 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
Передача параметров
Для получения информации о платеже необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/pds/cashBox/getReceipt
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Документация Personal API. Если не будут переданы параметры EshopId и OrganizationId, номер организации будет определен по данному параметру. |
Номер СКО | InvoiceId | Да | Запрос информации только по данному номеру СКО. |
Идентификатор чека | DocumentId | Да | Идентификатор чека нужно получить из метода Документация Personal API |
Ответ
Ответ типа <Response> будет содержать структуру <CashboxReceiptResponseData>
Примеры
Общий вид предоставления данных
Post: pds/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 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": [] } }
ТИПЫ ДАННЫХ
<Response>
Поле | Тип | Описание |
---|---|---|
OperationState | Статус выполнения операции | |
OperationId | GUID | Идентификатор операции |
EshopId | int | ID магазина |
Result | MethodResult | Результат выполнения запроса. Зависит от типа запроса. В случае асинхронной обработки запроса данного поля не будет. |
<OperationState>
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
Desc | string | Описание кода статуса выполнения запроса |
<UserTokenData>
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
UserToken | string | Ключ доступа клиента к API |
<InvoicesHistoryList>
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
InvoicesHistoryList | Список (реестр) платежей |
<PaymentsHistoryList>
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
InvoicesHistoryList | Список транзакций |
<InvoiceData>
Поле | Тип | Описание |
---|---|---|
Id | long | Номер СКО |
State | Статус состояния СКО | |
CreationDate | DateTime | Дата создания СКО |
ChangeDate | DateTime | Дата последних изменений СКО |
Amount | <Money> | Сумма СКО с учётом комиссии |
CurrentAmount | <Money> | Внесенная частично на СКО сумма. Имеет положительное значение для статусов "Частично оплачен" и "В процессе обработки". Для оплаченного или захолдированного счета значение равно 0. |
SurchargeAmount | <Money> | Сумма СКО, которую осталось оплатить. Имеет положительное значение для статуса "Частично оплачен". Для оплаченного или захолдированного счета значение равно 0. |
Comment | string | Комментарий к платежу |
EShopId | long | Номер магазина в системе IntellectMoney |
PurchaseOrderId | string | Внутренний номер покупки (заказа) в магазине |
HistoryList | List<HistoryData> | Список транзакций по СКО |
<HistoryData>
Поле | Тип | Описание |
---|---|---|
Id | long | Идентификатор транзакции в системе ИнтеллектМани (для внутреннего использования) |
PaymentNumber | long | Номер транзакции |
State | <TransactionState> | Статус транзакции |
CreationDate | DateTime | Дата создания транзакции |
PaymentAmount | <Money> | Сумма списания по транзакции |
RecipientAmount | <Money> | Сумма зачисления по транзакции |
PaymentAccount | string | Счет списания по транзакции |
RecipientAccount | string | Счет зачисления по транзакции |
Comment | string | Комментарий к транзакции |
Description | string | Описание транзакции |
InvoicePaymentType | <PaymentType> | Тип осуществляемой транзакции: пополнение, зачисление или возврат |
RcCode | string | Код ответа банка, принимающего платеж |
RcCodeUserDescription | string | Описание ответа банка, принимающего платеж. |
Свойства <InvoiceData>
Свойства типа данных <InvoiceData> и <HistoryData>, приведенные в примере ответа на запрос, но не описанные выше, следует игнорировать в текущей версии API.
<TransactionState>
TransactionState | Описание | Пояснение |
---|---|---|
Created | Создан | Транзакция создана на исполнение и ожидает очереди к выполнению |
Confirm | Исполнен | Транзакция исполнена, средства переведены с одного счета на другой |
Canceled | Отменена | Транзакция отменена. Считать недействительной. |
<PaymentType>
PaymentType | Описание | Пояснение |
---|---|---|
Entry | Входная транзакция | Транзакция пополнения СКО |
Purchase | Транзакция зачисления | Транзакция пополнения счета магазина |
Refund | Транзакция возврата | Транзакция возврата со счета магазина на счет плательщика |
<Money>
Поле | Тип | Описание |
---|---|---|
Amount | decimal | Количество денежных средств. |
Currency | <Currency> | В какой валюте исчисляются денежные средства. |
<SetScheduledOperationData>
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
ScheduledOperation | Информация по созданной/отредактированной операции |
<GetScheduledOperationData>
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
ScheduledOperationList | Список операций, подходящих под заданный фильтр |
<ScheduledOperationData>
Поле | Тип | Описание |
---|---|---|
CronOperationId | GUID | Номер операции. Используется для редактирования операции, если не передать - создается новая операция (GUID) |
ObjectId | long | Объект источник, например:
|
CronOperationType | tinyint | Тип регулярной операции (1 - Recurring) |
Params | text | Дополнительные параметры в формате JSON, например: {'Amount':15} |
CreationDate | DateTime | Дата создания операции |
ChangeDate | DateTime | Дата последнего внесения изменений |
EndExecDate | DateTime | Дата окончания выполнения операции |
LastExecDate | DateTime | Дата последнего выполнения операции |
NextExecDate | DateTime | Дата следующего выполнения операции |
RepeatPlan | text | Cron expressions. Регулярное выражение, которое описывает частоту (регулярность) выполнения операции: например запуск операции каждый день в 12 часов дня(каждый день в 12 часов будет списана сумма операции со счёта клиента): "0 0 12 1/1 * ? *" Для создания данного регулярного выражения ,можно использовать http://www.cronmaker.com/ |
RetryOnFailPlan | text | Cron expressions. Регулярное выражение, которое описывает периодичность(регулярность) выполнения операции, если операцию не удалось выполнить: например, повторный запуск операции через 5 минут (в случае, если в 12 часов операцию провести не удалось, каждые 5 минут будет производиться попДля значения 10, пропустит первые 10 записей и выведет Take записей начиная с 10 (нумерация начинается с 0)ытка выполнения данной операции, количество таких попыток указывается в поле RetryOnFailCount): "0 0/5 * 1/1 * ? *" Для создания данного регулярного выражения ,можно использовать http://www.cronmaker.com/ |
RetryOnFailCount | text | Количество повторных попыток выполнения (целое число). Если операцию не удалось выполнить с первого раза, она будет повторятся с периодичностью указанно в параметре RetryOnFailPlan не более чем RetryOnFailCoun |
IsSingle | bool | Флаг, указывающий возможность запуска параллельных тасков:
|
FireOnSkip | bool | Флаг, указывающий необходимость создания всех запланированных задач, в случае их непредвиденного пропуска (0 или 1) |
CronOperationState | <CronOperationState> | Флаг, указывающий статус активности
|
<EshopInfoDataList>
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
EshopInfoDatas | Информация по магазину |
<EshopInfoData>
Поле | Тип | Описание |
---|---|---|
Organizaiton | Краткая информация об организации | |
Eshop | Информация по магазину | |
Bank | <BankInfo> | Информация о банке |
<InvoiceInfoData>
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
Eshop | Информация по магазину | |
Organization | <OrganizaitonInfo> | Краткая информация об организации |
ListNotificationParams | <NotificationParamsData> | Список параметров, переданный на ResultURL |
InvoiceId | int | Номер СКО |
<EshopInfoDataList>
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
EshopInfoDatas | Информация по магазину |
<OrganizaitonInfo>
Поле | Тип | Описание |
---|---|---|
OrganizationId | int | Уникальный идентификатор организации |
OrganizationName | text | Название организации |
text | Email контактного лица | |
OrganizationLogin | text | Логин для входа в организацию |
<EshopInfo>
Поле | Тип | Описание |
---|---|---|
EshopId | int | Уникальный идентификатор магазина |
EshopName | text | Название магазина |
Protocol | text | Выбранный протокол интеграции (Intellectmoney или Webmoney) |
SecretKey | text | Логин для входа в организацию |
ResultUrl | text | URL для уведомлений о смене статуса платежа |
<BankInfo>
Поле | Тип | Описание |
---|---|---|
AccountNumber | text | Номер расчётного счёта |
RecipientName | text | Наименование получателя |
Name | text | Название банка |
OKPO | text | ОКПО банка |
CorrespondentAccountNumber | text | Корреспондентский счет счёт банка |
City | text | Город банка |
Address | text | Адрес банка |
BIK | text | БИК банка |
<NotificationParamsData>
Поле | Тип | Описание |
---|---|---|
CreationDate | DateTime | Дата создания запроса |
NotificationParams | text | Список переданных параметров |
<CashBoxReceiptCreateData>
Поле | Тип | Описание |
---|---|---|
DocumentId | text | Идентификатор чека |
CashBoxReceiptResponseData | Ответ от OrangeData |
<CashBoxReceiptResponseData>
Поле | Тип | Описание |
---|---|---|
ReceiptResponseId | int | Идентификатор ответа в системе IntellectMoney |
ReceiptId | int | Идентификатор чека в системе IntellectMoney |
Response | text | Ответ от OrangeData |
Id | string | Идентификатор документа |
DeviceSN | text | Заводской номер устройства пробившего чек |
DeviceRN | text | Регистрационный номер устройства пробившего чек |
FSNumber | text | Номер фискального накопителя |
OFDName | text | Наименование ОФД |
OFDInn | text | ИНН ОФД |
OFDWebsite | text | Web-сайт ОФД |
FNSWebsite | text | Web-сайт ФНС |
CompanyInn | text | ИНН пользователя |
CompanyName | text | Наименование пользователя |
DocumentNumber | int | Номер ФД |
ShiftNumber | int | Номер смены |
DocumentIndex | int | Номер чека за смену |
ProcessedAt | DateTime | Время регистрации фискального документа в ФН |
Content | <CashboxReceiptContentData> | Содержимое документа |
Change | decimal | Сдача |
FP | text | Фискальный признак |
ResponseState | <ReceiptResponseStateEnum> | Статус чека |
Errors | List<string> | Список ошибок |
<CashboxReceiptContentData>
Поле | Тип | Описание |
---|---|---|
Type | ReceiptDocTypeEnum | Тип документа |
Positions | List<CashboxReceiptPositionData> | Список позиций в чеке |
CheckClose | <CashboxReceiptCheckCloseData> | Параметры закрытия чека |
CustomerContact | text | Телефон или e-mail покупателя |
AgentType | text | Признак агента |
<CashboxReceiptPositionData>
Поле | Тип | Описание |
---|---|---|
ReceiptPositionId | int | Идентификатор позиции в чеке в системе IntellectMoney |
ReceiptId | int | Идентификатор чека в системе IntellectMoney |
Quantity | decimal | Количество товара |
Price | decimal | Цена товара с учетом всех скидок и наценок |
Tax | <ReceiptVatRateEnum> | Ставка НДС |
PaymentSubjectType | <ReceiptPaymentSubjectTypeEnum> | Предмет расчета |
PaymentMethodType | <ReceiptPaymentMethodTypeEnum> | Способ расчета |
Text | text | Текст позиции |
<CashboxReceiptCheckCloseData>
Поле | Тип | Описание |
---|---|---|
Payments | <CashboxReceiptPaymentData> | Оплаты |
TaxationSystem | <ReceiptTaxationSystemEnum> | Система налогообложения |
Оплата
Поле | Тип | Описание |
---|---|---|
ReceiptPaymentId | int | Идентификатор оплаты в системе IntellectMoney |
ReceiptId | int | Идентификатор чека в системе IntellectMoney |
Type | <ReceiptPaymentTypeEnum> | Тип оплаты |
Amount | decimal | Сумма оплаты |
ПЕРЕЧИСЛЕНИЯ
Коды операций
ServiceOperatonState | Описание |
---|---|
0 | Успешно обработана |
1 | В процессе выполнения |
2 | Ошибка |
Статусы запросов
Код ошибки | Описание |
---|---|
0 | Успешно обработан |
1 | Обработан с предупреждениями |
2 | Аутентификация не пройдена |
Описание принимаемых валют
Название | Описание |
---|---|
RUB | Валюта оплаты - Российский рубль |
TST | Внутренняя тестовая валюта оплаты |
Статусы состояния СКО
InvoiceState | Числовое представление | Описание | Пояснение |
---|---|---|---|
Created | 0 | Создан | Счёт к оплате создан и теперь его состояние можно отслеживать методом getPurchaseInfo(). Никаких платёжных операций не производилось. |
PartPaid | 1 | Частично оплачен | Пользователь (Покупатель), внес часть средств. Пользователю (Покупателю) надо внести оставшуюся часть суммы. |
Paid | 2 | Полностью оплачен | Пользователь внес всю сумму. |
ToPaid | 3 | В процессе обработки | Над денежными средствами производятся действия. |
Refund | 4 | Возврат | Средства будут возвращены Пользователю (Покупателю). |
Held | 6 | Захолдирован | Средства заморожены (захолдированы/ holded) на счёте Пользователя (Покупателя). Данные средства будут зачислены или расхолдированы (вернутся Пользователю) по истечению времени заморозки (холдирования) или пока не будут зачислены вручную. Поведение денежных средств определяется в настройках магазина на вкладке "Приём платежей" в разделе "Расширенные настройки". |
Тип сортировки счетов
InvoiceState | Числовое представление | Описание | Пояснение |
---|---|---|---|
None | 0 | Не задан | Сортировка по умолчанию, равносильно не передаче параметра , сортирует по дате создания |
CreationDate | 1 | По дате создания | Сортирует счета по дате создания, сортировка по возрастанию |
ChangeDate | 2 | По дате изменения | Сортирует счета по дате изменения, сортировка по возрастанию |
InvoiceState | 3 | По состоянию счета | Сортирует счета по состоянию счета |
Amount | 4 | По сумма | Сортирует счета по сумме, сортировка по возрастанию |
Статус чека
InvoiceState | Числовое представление | Описание |
---|---|---|
None | 0 | Нет статуса |
Created | 1 | Чек создан и добавлен в очередь на обработку, пустое тело ответа |
Ok | 2 | Чек обработан, есть тело |
BadRequest | 3 | Клиентский сертификат не прошел проверку |
Conflict | 4 | Чек с данным идентификатором уже был создан в системе, пустое тело ответа |
Accepted | 5 | Чек создан и добавлен в очередь на обработку, но еще не обработан, пустое тело ответа |
NotFound | 6 | Чек с указанным идентификатором не найден в системе, пустое тело ответа |
Unauthorized | 7 | Клиентский сертификат не прошел проверку |
ServerErrorRetryLater | 8 | Сервер недоступен или внутренняя ошибка сервера |
ServiceUnavailable | 9 | Очередь документов переполнена |
UnsupportedResponseFormat | 10 | Ответ сервера не удалось распознать |
HttpRequestError | 11 | Ошибка отправки http запроса (например разрыв соединения) |
Ставка НДС
ReceiptVatRateEnum | Числовое представление | Описание |
---|---|---|
Empty | 0 | Параметр не задан |
Vat20 | 1 | Ставка НДС 20% |
Vat10 | 2 | Ставка НДС 10% |
Vat120 | 3 | Ставка НДС расч. 20/120 |
Vat110 | 4 | Ставка НДС расч. 10/110 |
Vat0 | 5 | Ставка НДС 0% |
None | 6 | НДС не облагается |
Предмет расчёта
ReceiptPaymentSubjectTypeEnum | Числовое представление | Описание |
---|---|---|
Empty | 0 | Параметр не задан |
Product | 1 | Товар |
Excisable | 2 | Подакцизный товар |
Job | 3 | Работа |
Service | 4 | Услуга |
GamblingBet | 5 | Ставка азартной игры |
GamblingGain | 6 | Выигрыш азартной игры |
LotteryTicket | 7 | Лотерейный билет |
LotteryWinnings | 8 | Выигрыш лотереи |
Rid | 9 | Предоставление РИД |
Payment | 10 | Платёж |
AgentComission | 11 | Агентское вознаграждение |
Composite | 12 | Составной предмет расчета |
Other | 13 | Иной предмет расчета |
Способ расчет
ReceiptPaymentMethodTypeEnum | Числовое представление | Описание |
---|---|---|
Prepay | 1 | Предоплата 100% |
PartialPrepay | 2 | Частичная предоплата |
Advance | 3 | Аванс |
Full | 4 | Полный расчёт |
PartialAndCredit | 5 | Частичный расчёт и кредит |
CreditTransfer | 6 | Передача в кредит |
CreditPayment | 7 | Оплата кредита |
Система налогообложения
ReceiptTaxationSystemEnum | Числовое представление | Описание |
---|---|---|
Common | 0 | Общая |
Simplified | 1 | Упрощенная доход, УСН доход |
SimplifiedMinusOutlay | 2 | Упрощенная доход минус расход, УСН доход - расход |
UnifiedImputedIncome | 3 | Единый налог на вмененный доход |
UnifiedAgricultural | 4 | Единый сельскохозяйственный налог |
Patent | 5 | Патентная система налогообложения |
Система налогообложения
- No labels