Запрос операций по переводам списком

Получение токена

TEST URL POST https://testoauth.homebank.kz/epay2/oauth2/token
PROD URL POST https://epay-oauth.homebank.kz/oauth2/token

Запрос Body: form-data

grant_type:     "password"
username:       "USERNAME"
password:       "USERPASSWORD"
scope:          "transfer"
client_id:      "CLIENTID"
client_secret:  "CLIENTSECRET"


Ответ

   {
     "access_token":"DCEB8O_ZM5U7SO_T_U5EJQ",
     "expires_in": 7200,
     "refresh_token":"",
     "scope":"transfer",
     "token_type":"Bearer"
   }


ПолеОписание
access_tokenТокен для проведения операции
expires_inВремя истечения токена
refresh_tokenНе используется при данном типе авторизации
scopeРесурс, для проведения платежа используется ресурс transfer
token_typeТип авторизации
URL https://testepay.homebank.kz/api/p2p/operations


Входные параметры передаются в виде 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_at обязательный

Фильтры:

ОписаниеНазвание
Дата транзакцииcreated_date
№Терминалаterminal_id
№Заказаinvoice_id
ID клиента в магазине клиентаaccount_id
Телефонpayer_phone
Emailpayer_email
РРНreference
Суммаamount
Картаcard_mask

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

{
    "paging": {
        "page": 0,
        "size": 20
    },
    "searchParameters": [
        {
            "name": "created_at",
            "method": "between",
            "searchParameter": [
                "2022-01-10T12:00:00.000Z",
                "2022-02-10T13:59:59.999Z"
            ]
        }
    ],
    "orderParameters": [
        {
            "field": "created_at",
            "typeOrder": "ASC"
        },
        {
            "field": "id",
            "typeOrder": "ASC"
        }
    ]
}


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

{
    "totalCount": 132,
    "records": [
        {
            "id": "f0c79d0d-1b98-4b8c-8ea3-83a110be191e",
            "dateTime": "2022-02-03T11:42:35.533398+06:00",
            "invoiceId": "123456789377804",
            "amount": 200,
            "currency": "KZT",
            "terminal": "98151552",
            "accountId": "",
            "description": "TEST p2p",
            "language": "",
            "senderCardMask": "4003********9821",
            "receiverCardMask": "5578********0613",
            "senderCardType": "VISA",
            "receiverCardType": "MasterCard",
            "senderIssuer": "",
            "receiverIssuer": "",
            "reference": "203480420271",
            "secure": "",
            "code": "00",
            "reason": "",
            "reasonCode": 0,
            "name": "Sergey Frolov",
            "email": "dosbols@halykbank.kz",
            "phone": "",
            "ip": "",
            "ipCountry": "",
            "ipCity": "",
            "ipRegion": "",
            "ipDistrict": "",
            "ipLongitude": 0,
            "ipLatitude": 0,
            "status": "ok",
            "senderCardId": "",
            "receiverCardId": ""
        }
    ]
}


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

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