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

Compare with Current View Page History

« Previous Version 45 Next »

GetScheduledOperationData

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

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

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

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

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

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

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

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

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

getUserToken() — АУТЕНТИФИКАЦИЯ КЛИЕНТА API

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

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

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

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

Название

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

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

Описание

Логин

Login

Да

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

Пароль

Password

Да

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

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

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

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

  3. Ошибка обработки операции. Операция выполнена не будет. (Код операции - 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 варианта:

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

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

  3. Ошибка обработки операции. Операция выполнена не будет. (Код операции - 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() — РЕДАКТИРОВАНИЕ ОПЕРАЦИЙ ПО РАСПИСАНИЮ


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


ТИПЫ ДАННЫХ

<Response>

Поле

Тип

Описание

OperationState

<OperationState>

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

OperationId

GUID

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

EshopId

int

ID магазина

Result

MethodResult

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

<OperationState>

Поле

Тип

Описание

State

<ServiceOperatonState>

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

Desc

string

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

<UserTokenData>

Поле

Тип

Описание

State

<RequestState>

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

UserToken

string

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

<InvoicesHistoryListData>

Поле

Тип

Описание

State

<RequestState>

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

InvoicesHistoryList

List<InvoiceData>

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

<InvoiceData>

Поле

Тип

Описание

Id

long

Номер СКО

State

<InvoiceState>

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

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

<HistoryData>

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


Свойства <InvoiceData>

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

<TransactionState>

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

<PaymentType>

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

<Money>

Поле

Тип

Описание

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

<SetScheduledOperationData>

Поле

Тип

Описание

State

<RequestState>

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

SetScheduledOperationData

Bool

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

<GetScheduledOperationData>

Поле

Тип

Описание

State

<RequestState>

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

GetScheduledOperationData

List<ScheduledOperationData>

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


<ScheduledOperationData>

Поле

Тип

Описание

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

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

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

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

{'Amount':15}

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

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

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

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

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

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

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

ServiceOperatonState

Описание

0

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

1

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

2

Ошибка

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

Код ошибки

Описание

0

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

1

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

2

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

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

Название

Описание

RUB

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

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

InvoiceState

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

Описание

Пояснение

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

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

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

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

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

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

  • No labels