Данное API на текущий момент реализации позволяет запросить реестр платежей, создавать и редактировать операции по расписанию. Взаимодействие между сервером IntellectMoney и клиентом API происходит по HTTP-протоколу.
Данные при запросах на сервер IntellectMoney передаются в формате параметров HTTP-запроса в кодировке UTF-8 с типом контента "application/x-www-form-urlencoded".
В ответ данные возвращаются в формате XML, либо в формате JSON. Что бы получить ответ в формате JSON нужно в заголовки запроса передать "Accept: text/json".
В ответ приходят два состояния запроса это <OperationState> и <Response>:
<OperationState> сообщает - смогла ли система IntellectMoney обработать данный запрос. Возможны три варианта:
В случае, если какой-либо параметр будет передан не верно, в состоянии <Response> будет выведено сообщение об ошибке и параметр, который передан не корректно.
Для доступа к API следует получить ключ доступа через операцию аутентификации клиента Документация Personal API. Данный ключ является обязательным параметром для всех операций API.
Для всех запросов к API используется метод curlRequest. Код данного метода можно посмотреть в разделе "Дополнительная информация".
Передача параметровДля запроса ключа доступа клиента к API необходимо отправить POST-запрос на следующий адрес URL: https://api.intellectmoney.ru/personal/user/getUserToken В запросе необходимо передать следующие параметры:
ОтветОтвет типа <Response> будет содержать структуру <UserTokenData> ПримерыОбщий вид предоставления данных
Пример кода на языке программирования PHP
|
Для запроса реестра платежей необходимо отправить 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, Вам надо воспользоваться функцией getToken() из пункта "getUserToken - Аутентификация пользователя API" и функцией curlRequest() из документации: Вспомогательные функции для взаимодействия с API системы IntellectMoney
|
Для запроса реестра платежей необходимо отправить 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, Вам надо воспользоваться функцией getToken() из пункта "getUserToken - Аутентификация пользователя API" и функцией curlRequest() из документации: Вспомогательные функции для взаимодействия с API системы IntellectMoney
|
Для создания и редактирования операций по расписанию необходимо отправить POST-запрос на следующий адрес URL: Операцию по расписанию можно создавать когда, в уведомлении о платеже параметр reccurringState пришел в состоянии "Activated", подробнее об уведомлениях написано тут: Описание уведомлений от системы IntellectMoney при работе с операциями по расписанию |
Название | Имя параметра | Обязательный | Описание |
|---|---|---|---|
| Ключ доступа | 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, Вам надо воспользоваться функцией getToken() из пункта "getUserToken - Аутентификация пользователя API" и функцией curlRequest() из документации: Вспомогательные функции для взаимодействия с API системы IntellectMoney
|
Результатом выполнения данного примера станет получение CronOperationId, данное значение нужно передать в параметре Operation для редактирования операции по расписанию.
Для получения списка операций по расписанию необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/personal/scheduler/getScheduledOperationData
Название | Имя параметра | Обязательный | Описание |
|---|---|---|---|
| Ключ доступа | UserSid | Да | Ключ доступа клиента к 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, Вам надо воспользоваться функцией getToken() из пункта "getUserToken - Аутентификация пользователя API" и функцией curlRequest() из документации: Вспомогательные функции для взаимодействия с API системы IntellectMoney
|
Для получения информации о магазинах необходимо отправить 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": "Успешно обработан."
}
}
} |
Для получения информации о платеже необходимо отправить 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
} |
Поле | Тип | Описание |
|---|---|---|
OperationState | Статус выполнения операции | |
OperationId | GUID | Идентификатор операции |
EshopId | int | ID магазина |
Result | MethodResult | Результат выполнения запроса. Зависит от типа запроса. В случае асинхронной обработки запроса данного поля не будет. |
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
Desc | string | Описание кода статуса выполнения запроса |
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
UserToken | string | Ключ доступа клиента к API |
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
InvoicesHistoryList | Список (реестр) платежей |
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
InvoicesHistoryList | Список транзакций |
Поле | Тип | Описание |
|---|---|---|
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> | Список транзакций по СКО |
| Поле | Тип | Описание |
|---|---|---|
| Id | long | Идентификатор транзакции в системе ИнтеллектМани (для внутреннего использования) |
| PaymentNumber | long | Номер транзакции |
| State | <TransactionState> | Статус транзакции |
| CreationDate | DateTime | Дата создания транзакции |
| PaymentAmount | <Money> | Сумма списания по транзакции |
| RecipientAmount | <Money> | Сумма зачисления по транзакции |
| PaymentAccount | string | Счет списания по транзакции |
| RecipientAccount | string | Счет зачисления по транзакции |
| Comment | string | Комментарий к транзакции |
| Description | string | Описание транзакции |
| InvoicePaymentType | <PaymentType> | Тип осуществляемой транзакции: пополнение, зачисление или возврат |
Свойства типа данных <InvoiceData> и <HistoryData>, приведенные в примере ответа на запрос, но не описанные выше, следует игнорировать в текущей версии API. |
| TransactionState | Описание | Пояснение |
|---|---|---|
| Created | Создан | Транзакция создана на исполнение и ожидает очереди к выполнению |
| Confirm | Исполнен | Транзакция исполнена, средства переведены с одного счета на другой |
| Canceled | Отменена | Транзакция отменена. Считать недействительной. |
| PaymentType | Описание | Пояснение |
|---|---|---|
| Entry | Входная транзакция | Транзакция пополнения СКО |
| Purchase | Транзакция зачисления | Транзакция пополнения счета магазина |
| Refund | Транзакция возврата | Транзакция возврата со счета магазина на счет плательщика |
Поле | Тип | Описание |
|---|---|---|
| Amount | decimal | Количество денежных средств. |
| Currency | <Currency> | В какой валюте исчисляются денежные средства. |
|
|
|
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
EshopInfoDatas | Информация по магазину |
Поле | Тип | Описание |
|---|---|---|
Organizaiton | Краткая информация об организации | |
Eshop | Информация по магазину | |
| Bank | <BankInfo> | Информация о банке |
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
Eshop | Информация по магазину | |
| Organization | <OrganizaitonInfo> | Краткая информация об организации |
| ListNotificationParams | <NotificationParamsData> | Список параметров, переданный на ResultURL |
| InvoiceId | int | Номер СКО |
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
EshopInfoDatas | Информация по магазину |
Поле | Тип | Описание |
|---|---|---|
OrganizationId | int | Уникальный идентификатор организации |
OrganizationName | text | Название организации |
| text | Email контактного лица | |
| OrganizationLogin | text | Логин для входа в организацию |
Поле | Тип | Описание |
|---|---|---|
EshopId | int | Уникальный идентификатор магазина |
EshopName | text | Название магазина |
| Protocol | text | Выбранный протокол интеграции (Intellectmoney или Webmoney) |
| SecretKey | text | Логин для входа в организацию |
| ResultUrl | text | URL для уведомлений о смене статуса платежа |
Поле | Тип | Описание |
|---|---|---|
AccountNumber | text | Номер расчётного счёта |
RecipientName | text | Наименование получателя |
| Name | text | Название банка |
| OKPO | text | ОКПО банка |
| CorrespondentAccountNumber | text | Корреспондентский счет счёт банка |
| City | text | Город банка |
| Address | text | Адрес банка |
| BIK | text | БИК банка |
Поле | Тип | Описание |
|---|---|---|
CreationDate | text | Дата создания запроса |
NotificationParams | text | Список переданных параметров |
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 | По сумма | Сортирует счета по сумме, сортировка по возрастанию |