API для отримання інформації про стан рахунків клієнтів та виписок по ним, а також загальної інформації про банк для розробників інших сервісів.
API дозволяє ідентифікувати користувача банку та надати токен для отримання інформація по окремому клієнту. Для отримання доступу необхідно створити заявку на авторизацію. Цей процес необхідний для забезпечення безпеки клієнтських даних.
Тільки після надання компанії доступів до API клієнт матиме змогу авторизуватися за допомогою свого токена monobank у сервісі цієї компанії.
Якщо у вас є запитання щодо роботи API, запрошуємо до ком'юніті у Telegram-каналі API недоступне для клієнтів до 16 років, дані за дитячими рахунами доступні з батьківського акаунту.
Отримати базовий перелік курсів валют monobank. Інформація кешується та оновлюється не частіше 1 разу на 5 хвилин.
[- {
- "currencyCodeA": 840,
- "currencyCodeB": 980,
- "date": 1552392228,
- "rateSell": 27,
- "rateBuy": 27.2,
- "rateCross": 27.1
}
]
Доступ до клієнтських персональних даних надається тільки авторизованим банком компаніям. Для отримання доступу необхідно створити заявку на авторизацію, а також надати інформацію про сервіс.
Створення заявки на авторизацію компанії банком
X-Time required | string Example: 1554466347 Поточний час у секундах (UTC) |
X-Sign required | string Example: K3cBBrlCJkei0/7zlP0L60zsNZgUFeC36r8ERmGvU/sxXspcy9G5B/Qq79AvzEakRKlNk1WcvkOgBcWf3DOyDQ== Sign (X-Time | URL) |
pubkey required | string Файл PEM із відкритим ключем secp256k1 у форматі base64 |
name required | string Назва компанії |
description required | string Опис послуг компанії та мета використання апі |
contactPerson required | string Контактна особа |
phone required | string Телефон контактної особи |
email required | string Email контактної особи |
logo required | string Файл із зображенням логотипу компанії у форматі base64 |
{- "pubkey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZZd0VBWUhLb1pJemow...",
- "name": "ТОВ \"Ворона\"",
- "description": "Ми робимо найрозумніший PFM з усіх можливих і нам потрібен доступ до виписка користувача, щоб створювати красиву статистику",
- "contactPerson": "Роман Шевченко",
- "phone": "380671234567",
- "email": "etс@example.com",
- "logo": "iVBORw0KGgoAAAANSUhEUgAAAUAAAACECAYAAADhnvK8AAAapElEQVR42..."
}
{- "status": "New"
}
Отримання статусу заявки на авторизацію компанії банком
X-Time required | string Example: 1554466347 Поточний час у секундах (UTC) |
X-Sign required | string Example: K3cBBrlCJkei0/7zlP0L60zsNZgUFeC36r8ERmGvU/sxXspcy9G5B/Qq79AvzEakRKlNk1WcvkOgBcWf3DOyDQ== Sign (X-Time | URL) |
pubkey required | string Файл PEM із відкритим ключом secp256k1 у форматі base64 |
{- "pubkey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZZd0VBWUhLb1pJemow..."
}
{- "status": "Approved",
- "keyId": "string"
}
Встановлення вебхуку для отримання оновлень щодо платежів клієнтів
X-Key-Id required | string Example: 28a75537175a018645e6f8b14be7681791e701e0 ID ключа сервісу |
X-Request-Id required | string Example: uLkwh3NzFAfEkj7urj5C7AU_ Request id |
X-Time required | string Example: 1554466347 Поточний час у секундах (UTC) |
X-Sign required | string Example: K3cBBrlCJkei0/7zlP0L60zsNZgUFeC36r8ERmGvU/sxXspcy9G5B/Qq79AvzEakRKlNk1WcvkOgBcWf3DOyDQ== Sign (X-Time | URL) |
webHookUrl | string Адреса для CallBack (POST) – на цю адресу буде надіслано дані по транзакціям. Під час виклику апі буде виконано тестовий POST-запит за цією адресою. Якщо на нього не буде відповіді 200 ОК, виклик апі завершиться помилкою. |
{ }
Дані компанії
X-Key-Id required | string Example: 28a75537175a018645e6f8b14be7681791e701e0 ID ключа сервісу |
X-Request-Id required | string Example: uLkwh3NzFAfEkj7urj5C7AU_ Request id |
X-Time required | string Example: 1554466347 Поточний час у секундах (UTC) |
X-Sign required | string Example: K3cBBrlCJkei0/7zlP0L60zsNZgUFeC36r8ERmGvU/sxXspcy9G5B/Qq79AvzEakRKlNk1WcvkOgBcWf3DOyDQ== Sign (X-Time | URL) |
{- "pubkey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZZd0VBWUhLb1pJemow...",
- "name": "Компанія",
- "permission": "psf",
- "logo": "iVBORw0KGgoAAAANSUhEUgAAAUAAAACECAYAAADhnvK8AAAapElEQVR42...",
}
Інформація, що надається тільки за згодою клієнта та тільки авторизованим банком компаніям.
Створення запиту на доступ к клієнтським данним
X-Key-Id required | string Example: 28a75537175a018645e6f8b14be7681791e701e0 ID ключа сервісу |
X-Time required | string Example: 1554466347 Поточний час у секундах (UTC) |
X-Sign required | string Example: K3cBBrlCJkei0/7zlP0L60zsNZgUFeC36r8ERmGvU/sxXspcy9G5B/Qq79AvzEakRKlNk1WcvkOgBcWf3DOyDQ== Sign (X-Time | URL) |
X-Callback | string Example: https://example.com/some_random_data_for_security URL колбека, який буде запрошено сервісом, коли клієнт підтвердить надання доступу (GET запит з хедером X-Request-Id) |
{- "tokenRequestId": "uLkwh3NzFAfEkj7urj5C7AU_",
}
Перевірка статусу запиту на доступ к клієнтським данним
X-Key-Id required | string Example: 28a75537175a018645e6f8b14be7681791e701e0 ID ключа сервісу |
X-Time required | string Example: 1554466347 Поточний час у секундах (UTC) |
X-Request-Id required | string Example: uLkwh3NzFAfEkj7urj5C7AU_ Request id |
X-Sign required | string Example: K3cBBrlCJkei0/7zlP0L60zsNZgUFeC36r8ERmGvU/sxXspcy9G5B/Qq79AvzEakRKlNk1WcvkOgBcWf3DOyDQ== Sign (X-Time | X-Request-Id | URL) |
{ }
Отримання інформації про клієнта та переліку його рахунків
X-Key-Id required | string Example: 28a75537175a018645e6f8b14be7681791e701e0 ID ключа сервісу |
X-Time required | string Example: 1554466347 Поточний час у секундах (UTC) |
X-Request-Id required | string Example: uLkwh3NzFAfEkj7urj5C7AU_ Request id |
X-Sign required | string Example: K3cBBrlCJkei0/7zlP0L60zsNZgUFeC36r8ERmGvU/sxXspcy9G5B/Qq79AvzEakRKlNk1WcvkOgBcWf3DOyDQ== Sign (X-Time | X-Request-Id | URL) |
{- "clientId": "3MSaMMtczs",
- "name": "Мазепа Іван",
- "permissions": "psf",
- "accounts": [
- {
- "id": "kKGVoZuHWzqVoZuH",
- "sendId": "uHWzqVoZuH",
- "balance": 10000000,
- "creditLimit": 10000000,
- "type": "black",
- "currencyCode": 980,
- "cashbackType": "UAH",
- "maskedPan": [
- "537541******1234"
], - "iban": "UA733220010000026201234567890"
}
]
}
Отримання виписки за час від {from} до {to} часу в секундах в форматі Unix time. Максимальний час, за який можливо отримати виписку — 31 доба + 1 година (2682000 секунд).
Обмеження на використання функції — не частіше ніж 1 раз на 60 секунд.
Повертає 500 транзакцій з кінця, тобто від часу to до from. Якщо кількість транзакцій = 500, потрібно зробити ще один запит, зменшивши час to до часу останнього платежу, з відповіді. Якщо знову кількість транзакцій = 500, то виконуєте запити до того часу, поки кількість транзакцій не буде < 500. Відповідно, якщо кількість транзакцій < 500, то вже отримано всі платежі за вказаний період.
account required | string Example: 0 Account id (client card id), 0 - default UAH |
from required | string Example: 1546304461 Statement start time |
to | string Example: 1546306461 Statement end time (if not exist, will be using current time) |
X-Key-Id required | string Example: 28a75537175a018645e6f8b14be7681791e701e0 ID ключа сервісу |
X-Time required | string Example: 1554466347 Поточний час у секундах (UTC) |
X-Request-Id required | string Example: uLkwh3NzFAfEkj7urj5C7AU_ Request id |
X-Sign required | string Example: K3cBBrlCJkei0/7zlP0L60zsNZgUFeC36r8ERmGvU/sxXspcy9G5B/Qq79AvzEakRKlNk1WcvkOgBcWf3DOyDQ== Sign (X-Time | X-Request-Id | URL) |
[- {
- "id": "ZuHWzqkKGVo=",
- "time": 1554466347,
- "description": "Покупка щастя",
- "mcc": 7997,
- "originalMcc": 7997,
- "hold": false,
- "amount": -95000,
- "operationAmount": -95000,
- "currencyCode": 980,
- "commissionRate": 0,
- "cashbackAmount": 19000,
- "balance": 10050000,
- "comment": "За каву",
- "receiptId": "XXXX-XXXX-XXXX-XXXX",
- "counterEdrpou": "3096889974",
- "counterIban": "UA898999980000355639201001404",
- "counterName": "ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ «ВОРОНА»"
}
]