- Created by Сергей, last modified by IntellectMoney on Oct 16, 2017
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 40 Next »
Общая информация
Данное API на текущий момент реализации позволяет запросить реестр платежей. Взаимодействие между сервером IntellectMoney и клиентом API происходит по HTTP-протоколу.
В ответ приходят два состояния запроса это <OperationState> и <Response>:
- <OperationState> сообщает - смогла ли система IntellectMoney обработать данный запрос. Возможны три варианта:- Система обработала запрос.
- Система поставила запрос в очередь на обработку.
- Система не смогла обработать запрос.
 
- <Response> сообщает статус запроса - был ли найден данный метод, все ли параметры переданы верно и так далее.
Данные при запросах на сервер IntellectMoney передаются в формате параметров HTTP-запроса в кодировке UTF-8 с типом контента "application/x-www-form-urlencoded". В ответ данные возвращаются в формате XML, либо в формате JSON. Что бы получить ответ в формате JSON нужно в заголовки запроса передать "Accept: text/json".
СЛОВАРЬ ТЕРМИНОВ
- СКО — Счет К Оплате, инвойс
ПОРЯДОК ВЫЗОВА МЕТОДОВ
Для доступа к API следует получить ключ доступа через операцию аутентификации клиента Документация Personal API. Данный ключ является обязательным параметром для всех операций API.
getUserToken() — АУТЕНТИФИКАЦИЯ КЛИЕНТА API
Передача параметров
Для запроса ключа доступа клиента к API необходимо отправить GET- или POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/personal/user/getUserToken
В запросе необходимо передать следующие параметры:
| Название | Имя параметра | Обязательный | Описание | 
|---|---|---|---|
| Логин | Login | Да | Логин пользователя юридического лица (магазина). | 
| Пароль | Password | Да | Пароль пользователя юридического лица (магазина). | 
В ответ возвращается код операции и возможны 3 варианта:
- Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <UserTokenData> (синхронная обработка). (Код операции - 0) 
- Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1) 
- Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2) 
Post /personal/user/getUserToken HTTP/1.1 Host: api.intellectmoney.ru Content-Type: application/x-www-form-urlencoded; charset=utf-8 Login=somelogin Password=somepassword
<?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>
 GETINVOICESHISTORY() — ПОЛУЧЕНИЕ РЕЕСТРА ПЛАТЕЖЕЙ
Передача параметров
Для запроса реестра платежей необходимо отправить GET- или POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/personal/payment/getInvoicesHistory
В запросе необходимо передать следующие параметры:
| Название | Имя параметра | Обязательный | Описание | 
|---|---|---|---|
| Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Документация Personal API. | 
| ID магазина | EshopId | Нет | Номер магазина в системе IntellectMoney, по которому запрашивается реестр. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID". | 
| Статус СКО | State | Нет | Запрос реестра платежей только с указанным статусом СКО (см. <InvoiceState>) | 
| Номер СКО | InvoiceId | Нет | Запрос информации только по одному СКО по его номеру | 
| Включает транзакции по СКО в выборку | IncludePaymentTransactions | Тип boolean. При передаче значения true в выборку будут включены все транзакции по СКО: транзакции пополнения СКО, транзакции пополнения счета магазина, транзакции возврата (при возврате) | |
| Дата начала выборки | DateFrom | Нет | Запрос реестра платежей с датой последних изменений СКО, входящей в период выборки в формате ММ.ДД.ГГГГ. | 
| Дата окончания выборки | DateTo | Нет | |
| Ограничение выборки по количеству объектов | Skip | Нет | Количество объектов, пропускаемых перед отдачей | 
| Ограничение выборки по количеству объектов | Take | Да | Ограничение на количество возвращаемых объектов. | 
Использование параметров
При выборке данных используется конъюнкция параметров. Например, в случае, если переданы параметры "Статус СКО" и "Номер СКО", то результат запрос вернет объект СКО только при его наличии с переданными номером и статусом.
В ответ возвращается код операции и возможны 3 варианта:
- Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <InvoicesHistoryListData> (синхронная обработка). (Код операции - 0) 
- Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1) 
- Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2) 
Post /personal/payment/getInvoicesHistory HTTP/1.1 Host: api.intellectmoney.ru Content-Type: application/x-www-form-urlencoded; charset=utf-8 userToken=bs/fZNe0CE+b/Ze1xvVaNdEbjxm2wkRqMBSnBXJO9nFeEM57Hg17+AS8nF0Cs7+0 eshopId=450063 dateTo=07.15.2017 take=10 invoiceId=3930949846 IncludePaymentTransactions=true
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <OperationState>
    <Code>0</Code>
    <Desc>Успешно обработана</Desc>
  </OperationState>
  <OperationId>50a55d0c-a754-47ca-b355-56362cf52a98</OperationId>
  <EshopId>0</EshopId>
  <Result>
    <State>
      <Code>0</Code>
      <Desc>Успешно обработан.</Desc>
    </State>
    <InvoicesHistoryList>
      <InvoiceData>
        <Id>3930949846</Id>
        <State>Paid</State>
        <HoldModeFlag>false</HoldModeFlag>
        <ChangeDate>2017-06-02T10:12:00.457</ChangeDate>
        <CreationDate>2017-06-02T10:11:03.383</CreationDate>
        <ExpirationDate>0001-01-01T00:00:00</ExpirationDate>
        <Amount>
          <Amount>11.0000</Amount>
          <Currency>RUB</Currency>
        </Amount>
        <CurrentAmount>
          <Amount>0.0000</Amount>
          <Currency>RUB</Currency>
        </CurrentAmount>
        <SurchargeAmount>
          <Amount>0</Amount>
          <Currency>RUB</Currency>
        </SurchargeAmount>
        <AdditionalInfo>
          <KeyValue>
            <Key>Магазин</Key>
            <Value xsi:type="xsd:string">ShopReal</Value>
          </KeyValue>
          <KeyValue>
            <Key>Url</Key>
            <Value xsi:type="xsd:string">http://yandex.ru</Value>
          </KeyValue>
        </AdditionalInfo>
        <HistoryList>
          <HistoryData>
            <Id>27907531</Id>
            <PaymentNumber>2036160602</PaymentNumber>
            <State>Confirm</State>
            <CreationDate>2017-09-22T17:30:01.04</CreationDate>
            <PaymentAmount>
              <Amount>11.0000</Amount>
              <Currency>RUB</Currency>
            </PaymentAmount>
            <RecipientAmount>
              <Amount>11.0000</Amount>
              <Currency>RUB</Currency>
            </RecipientAmount>
            <PaymentAccount>IMOUT4936010998</PaymentAccount>
            <RecipientAccount>IM1028693534</RecipientAccount>
            <Comment>Возврат по ордеру 538</Comment>
            <Description>Внутренний на s.suvorinov@intellectmoney.ru</Description>
            <Direction>Withdraw</Direction>
            <PurchaseOrderId>123456789000</PurchaseOrderId>
            <AdditionalInfo />
            <InvoicePaymentType>Refund</InvoicePaymentType>
            <InvoiceId>3930949846</InvoiceId>
            <IsElectedPayment>false</IsElectedPayment>
            <TypeOfRePayment xsi:nil="true" />
            <ProviderId xsi:nil="true" />
            <CatalogPaymentId>0</CatalogPaymentId>
            <ShortPan />
            <Country />
            <UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
          </HistoryData>
          <HistoryData>
            <Id>27905689</Id>
            <PaymentNumber>2036150166</PaymentNumber>
            <State>Confirm</State>
            <CreationDate>2017-06-02T10:12:00.517</CreationDate>
            <PaymentAmount>
              <Amount>11.0000</Amount>
              <Currency>RUB</Currency>
            </PaymentAmount>
            <RecipientAmount>
              <Amount>10.6200</Amount>
              <Currency>RUB</Currency>
            </RecipientAmount>
            <PaymentAccount>Счет к оплате 3930949846</PaymentAccount>
            <RecipientAccount>IM4406528006</RecipientAccount>
            <Description>Зачисление денежных средств на счет магазина "ShopReal" со счета "3930949846"</Description>
            <Direction>Withdraw</Direction>
            <PurchaseOrderId>123456789000</PurchaseOrderId>
            <AdditionalInfo />
            <InvoicePaymentType>Purchase</InvoicePaymentType>
            <InvoiceId>3930949846</InvoiceId>
            <IsElectedPayment>false</IsElectedPayment>
            <TypeOfRePayment xsi:nil="true" />
            <ProviderId xsi:nil="true" />
            <CatalogPaymentId>0</CatalogPaymentId>
            <ShortPan />
            <Country />
            <UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
          </HistoryData>
          <HistoryData>
            <Id>27905686</Id>
            <PaymentNumber>2036150165</PaymentNumber>
            <State>Confirm</State>
            <CreationDate>2017-06-02T10:11:20.767</CreationDate>
            <PaymentAmount>
              <Amount>11.1100</Amount>
              <Currency>RUB</Currency>
            </PaymentAmount>
            <RecipientAmount>
              <Amount>11.0000</Amount>
              <Currency>RUB</Currency>
            </RecipientAmount>
            <PaymentAccount>IM1028693534</PaymentAccount>
            <RecipientAccount>Счет к оплате 3930949846</RecipientAccount>
            <Comment />
            <Description>Пополнение счета № "3930949846" через "IM1028693534"</Description>
            <Direction>Deposit</Direction>
            <PurchaseOrderId>123456789000</PurchaseOrderId>
            <AdditionalInfo />
            <InvoicePaymentType>Entry</InvoicePaymentType>
            <InvoiceId>3930949846</InvoiceId>
            <IsElectedPayment>false</IsElectedPayment>
            <TypeOfRePayment xsi:nil="true" />
            <ProviderId xsi:nil="true" />
            <CatalogPaymentId>0</CatalogPaymentId>
            <InputType>InnerPayment</InputType>
            <ShortPan />
            <Country />
            <UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
          </HistoryData>
        </HistoryList>
        <OwnerEmail>s.suvorinov@intellectmoney.ru</OwnerEmail>
        <OwnerFIO>Суворинов Сергей eauoau</OwnerFIO>
        <PurchaseOrderId>123456789000</PurchaseOrderId>
        <PurchaseData>
          <Id>36007</Id>
          <PurchaseMoney>
            <Amount>11.0000</Amount>
            <Currency>RUB</Currency>
          </PurchaseMoney>
          <OrderId>123456789000</OrderId>
          <BackUrl>http://google.com/backurl</BackUrl>
          <SuccessMethod xsi:nil="true" />
          <FailMethod xsi:nil="true" />
          <EshopId>450063</EshopId>
          <EshopUrl>http://yandex.ru</EshopUrl>
          <EshopName>ShopReal</EshopName>
          <SMSEnable>true</SMSEnable>
          <UserName>Суворинов Сергей</UserName>
          <UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
          <IsHeldByEshop>true</IsHeldByEshop>
          <ParseUserFields />
        </PurchaseData>
        <IsCanEnrollmentByDisabledMethod>false</IsCanEnrollmentByDisabledMethod>
        <InvoiceChangeAmountHistoryData />
        <OriginalAmount>
          <Amount>11.0000</Amount>
          <Currency>RUB</Currency>
        </OriginalAmount>
        <FormType>None</FormType>
        <OrganizationName>Маша и Медведи</OrganizationName>
        <IsHaveCashboxReceipts>false</IsHaveCashboxReceipts>
      </InvoiceData>
    </InvoicesHistoryList>
  </Result>
</Response>
 SetScheduledOperation() — РЕДАКТИРОВАНИЕ ОПЕРАЦИЙ ПО РАСПИСАНИЮ
Для редактирования операций по расписанию необходимо отправить GET- или POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/personal/payment/setScheduledOperation
| Название | Имя параметра | Обязательный | Описание | 
|---|---|---|---|
| Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Документация Personal API. | 
| Номер операции | OperationId | Нет | Номер операции для ее изменения, если не передать создается новая операция (GUID) | 
| Объект операции | ObjectId | Да | Объект источник, например: 
 | 
| Тип операции | ObjectTypeVal | Да | Тип регулярной операции (1 - Recurring) | 
| Параметры | Params | Нет | Дополнительные параметры в формате JSON, например: {'Amount':15} | 
| План выполнения | RepeatPlan | Да | Cron expressions запуска задачи (можно использовать http://www.cronmaker.com/) | 
| План повторов выполнения | RetryOnFailPlan | Нет | Cron expressions запуска задачи (можно использовать http://www.cronmaker.com/) | 
| Количество повторов выполнения | RetryOnFailCount | Нет | Количество повторных попыток выполнения (целое число) | 
| Многопоточность | IsSingle | Да | Флаг, указывающий возможность запуска паралельных тасков 
 | 
| Перезапуск | FireOnSkip | Да | Флаг, указывающий необходимость создания всех запланированных задач, в случае их непредвиденного пропуска (0 или 1) | 
| Активность | State | Да | Флаг, указывающий статус активности 
 | 
В ответ возвращается код операции и возможны 3 варианта:
- Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <SetScheduledOperationData> (синхронная обработка). (Код операции - 0) 
- Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1) 
- Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2) 
ТИПЫ ДАННЫХ
<Response>
| Поле | Тип | Описание | 
|---|---|---|
| OperationState | Статус выполнения операции | |
| OperationId | GUID | Идентификатор операции | 
| EshopId | int | ID магазина | 
| Result | MethodResult | Результат выполнения запроса. Зависит от типа запроса. В случае асинхронной обработки запроса данного поля не будет. | 
<OperationState>
| Поле | Тип | Описание | 
|---|---|---|
| State | Статусы выполнения запросов | |
| Desc | string | Описание кода статуса выполнения запроса | 
<UserTokenData>
| Поле | Тип | Описание | 
|---|---|---|
| State | Статусы выполнения запросов | |
| UserToken | string | Ключ доступа клиента к API | 
<InvoicesHistoryListData>
| Поле | Тип | Описание | 
|---|---|---|
| State | Статусы выполнения запросов | |
| InvoicesHistoryList | Список (реестр) платежей | 
<InvoiceData>
| Поле | Тип | Описание | 
|---|---|---|
| Id | long | Номер СКО | 
| State | Статус состояния СКО | |
| CreationDate | DateTime | Дата создания СКО | 
| ChangeDate | DateTime | Дата последних изменений СКО | 
| Amount | <Money> | Сумма СКО с учётом комиссии | 
| CurrentAmount | <Money> | Оплаченная сумма СКО | 
| 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> | Тип осуществляемой транзакции: пополнение, зачисление или возврат | 
Свойства <InvoiceData>
Свойства типа данных <InvoiceData> и <HistoryData>, приведенные в примере ответа на запрос, но не описанные выше, следует игнорировать в текущей версии API.
<TransactionState>
| TransactionState | Описание | Пояснение | 
|---|---|---|
| Created | Создан | Транзакция создана на исполнение и ожидает очереди к выполнению | 
| Confirm | Исполнен | Транзакция исполнена, средства переведены с одного счета на другой | 
| Canceled | Отменена | Транзакция отменена. Считать недействительной. | 
<PaymentType>
| PaymentType | Описание | Пояснение | 
|---|---|---|
| Entry | Входная транзакция | Транзакция пополнения СКО | 
| Purchase | Транзакция зачисления | Транзакция пополнения счета магазина | 
| Refund | Транзакция возврата | Транзакция возврата со счета магазина на счет плательщика | 
<Money>
| Поле | Тип | Описание | 
|---|---|---|
| Amount | decimal | Количество денежных средств. | 
| Currency | <Currency> | В какой валюте исчисляются денежные средства. | 
<SetScheduledOperationData>
| Поле | Тип | Описание | 
|---|---|---|
| State | Статусы выполнения запросов | |
| SetScheduledOperationData | Bool | 1 - Расписание отредактировано успешно | 
ПЕРЕЧИСЛЕНИЯ
Коды операций
| ServiceOperatonState | Описание | 
|---|---|
| 0 | Успешно обработана | 
| 1 | В процессе выполнения | 
| 2 | Ошибка | 
Статусы запросов
| Код ошибки | Описание | 
|---|---|
| 0 | Успешно обработан | 
| 1 | Обработан с предупреждениями | 
| 2 | Аутентификация не пройдена | 
Описание принимаемых валют
| Название | Описание | 
|---|---|
| RUB | Валюта оплаты - Российский рубль | 
| TST | Внутренняя тестовая валюта оплаты | 
Статусы состояния СКО
| InvoiceState | Числовое представление | Описание | Пояснение | 
|---|---|---|---|
| Created | 0 | Создан | Счёт к оплате создан и теперь его состояние можно отслеживать методом getPurchaseInfo(). Никаких платёжных операций не производилось. | 
| PartPaid | 1 | Частично оплачен | Пользователь (Покупатель), внес часть средств. Пользователю (Покупателю) надо внести оставшуюся часть суммы. | 
| Paid | 2 | Полностью оплачен | Пользователь внес всю сумму. | 
| ToPaid | 3 | В процессе обработки | Над денежными средствами производятся действия. | 
| Refund | 4 | Возврат | Средства будут возвращены Пользователю (Покупателю). | 
| Held | 6 | Захолдирован | Средства заморожены (захолдированы/ holded) на счёте Пользователя (Покупателя). Данные средства будут зачислены или расхолдированы (вернутся Пользователю) по истечению времени заморозки (холдирования) или пока не будут зачислены вручную. Поведение денежных средств определяется в настройках магазина на вкладке "Приём платежей" в разделе "Расширенные настройки". | 
- No labels