Получение данных по операциям массивом

TEST URL https://testepay.homebank.kz/api/operations
PROD URL https://epay-api.homebank.kz/operations

Требуется авторизация

Тип авторизации: Password credentials

scope: webapi usermanagement email_send verification statement statistics payment

Входные параметры передаются в виде JSON: Модель представлена в следующем виде:

{
    "paging":{
            "page": ,
            "size": 
            },
    "searchParameters":[
    {
            "name":"",
            "method":"",
            "searchParameter":["","",...]
    }
    ],
    "orderParameters":[
    {
        "field":"",
        "typeOrder":"ASC/DESC"
    }
    ]
}

В блок "paging" , необходимо передавать два параметра: "page" - количество записей которые необходимо пропустить; "size" - количество записей которые необходимо вывести на странице.

В блок "searchParameters", необходимо передавать три параметра, так же можно производить поиск по множеству полей (в примере запроса показано как) "name" - наименование поля(фильтра) по которому будет происходить поиск в БД, список представлен ниже ; "method" - метод поиска (указывать в следующем виде : between, in, like , = , < , > , <= , >= ) ; "searchParameter" - параметры поиска.При использование метода поиска between необходимо передавать 2 параметра, при использование like, передавать один параметр который содержит знак %, при методе поиска in необходимо использовать минимум 1 параметр. В случае не корректно переданных параметров , будет возвращаться ошибка. В запросе необходимо указывать период транзакций. Данный параметр поиска является обязательным.

В блок "orderParameters", можно передавать два параметра: "field" - наименование поля по которому будет происходить сортировка; "typeOrder" - тип сортировки ASC/DESC. Данный блок можно можно оставить пустым если нет необходимости в сортировке или производить сортировку по нескольким полям (представлено в примере ниже).

Внимание! Метод поиска по created_date обязательный

Фильтры:

ОписаниеНазвание
Дата транзакцииcreated_date
Магазинshop_id
№Заказаinvoice_id
ID клиента в магазине клиентаaccount_id
Телефонpayer_phone
Emailpayer_email
РРНreference
PostLinkpost_link(bool)
Суммаamount
Картаcard_mask
Плательщикclient
Рассрочкаinstallment_id
Тип транзакцииtransaction_type_id
Возврат датаpayout_date
Возврат суммаpayout_amount

Пример запроса, JSON:

{
    "paging":{
            "page": 0,
            "size": 2
            },
    "searchParameters":[
    {
            "name":"created_date",
            "method":"between",
            "searchParameter":["2017-11-19T00:00:00Z", "2018-11-20T00:00:00Z"]
    },
    {
            "name":"description",
            "method":"in",
            "searchParameter":["description"]
    },
    {
            "name":"payer_email",
            "method":"like",
            "searchParameter":["danatugumbayeva%"]
    }
    ],
    "orderParameters":[
    {
        "field":"payer_email",
        "typeOrder":"ASC"
    },
    {
        "field":"description",
        "typeOrder":"DESC"
    }
    ]
}

Ответ возвращается в виде JSON:

{
    "totalCount": 2,
    "records": [
        {
            "id": "b9d46313-264e-41ec-814c-728dd51eb97f",
            "amount": 1000,
            "orgAmount: 1000,
            "currency": "KZT",
            "amountBonus": 80,
            "invoiceId": "",
            "accountId": "",
            "payerIp": "10.6.50.57",
            "payerName": "Dana Tugumbayeva",
            "payerPhone": "77029085001",
            "payerEmail": "dana@gmail.com",
            "description": "description",
            "data": "",
            "createdDate": "2018-10-27T15:08:14+06:00",
            "authDate": "2018-10-27T15:08:14+06:00",
            "confirmDate": "2018-10-27T15:08:14+06:00",
            "payoutDate": "2018-12-29T00:01:01.374084+06:00",
            "payoutAmount": 1000,
            "ipCountry": "",
            "ipCity": "",
            "ipRegion": "",
            "ipDistrict": "",
            "ipLatitude": 0,
            "ipLongitude": 0,
            "cardType":"MasterCard",
            "issuer":"Казкоммерцбанк",
            "issuerBankCountry":"",
       		"status":"AUTH",
       		"reference":"034580951245",
       		"client":"polisonline",
       		"language":"RU",
       		"failureLink":"https://page.site.kz/failureLink",
       		"postLink":"https://page.site.kz/postLink",
       		"postLinkStatus":true,
       		"merchant":"merchantName",
       		"shop":"merchantShop",
       		"secure3D":false,
       		"cardMask":"5483...0413",
       		"installment":null,
       		"resultCode":"00",
       		"resultMessage":""
        },
        {
            "id": "b9d46313-264e-41ec-814c-728dd525877f",
            "amount": 500,
            "orgAmount: 1000,
            "currency": "KZT",
            "amountBonus": 80,
            "invoiceId": "",
            "accountId": "",
            "payerIp": "10.6.50.57",
            "payerName": "Dana Tugumbayeva",
            "payerPhone": "77029085001",
            "payerEmail": "eldar@gmail.com",
            "description": "description",
            "data": "",
            "createdDate": "2018-10-27T15:08:14+06:00",
            "authDate": "2018-10-27T15:08:14+06:00",
            "confirmDate": "2018-10-27T15:08:14+06:00",
            "payoutDate": "2018-12-29T00:01:01.374084+06:00",
            "payoutAmount": 0,
            "ipCountry": "",
            "ipCity": "",
            "ipRegion": "",
            "ipDistrict": "",
            "ipLatitude": 0,
            "ipLongitude": 0,
            "cardType":"MasterCard",
            "issuer":"Казкоммерцбанк",
            "issuerBankCountry":"",
       		"status":"CHARGE",
       		"reference":"034580958547",
       		"client":"polisonline",
       		"language":"RU",
       		"failureLink":"https://page.site.kz/failureLink",
       		"postLink":"https://page.site.kz/postLink",
       		"postLinkStatus":true,
       		"merchant":"merchantName",
       		"shop":"merchantShop",
       		"secure3D":false,
       		"cardMask":"5483...0413",
       		"installment":null,
       		"resultCode":"00",
       		"resultMessage":""
        }
    ]
}

Ответ об ошибке возвращается в виде JSON:

{
    "code": 232,
    "message": "Метод поиска отсутствует"
}