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} часу в секундах в форматі UTC. Максимальний час за який можливо отримувати виписку 31 доба + 1 година (2682000 секунд)
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": "ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ «ВОРОНА»"
}
]
Створення заявки на підписання документів monoКЕП
Приклад обчислення гешу за алгоритмом ГОСТ 34.311-95
https://github.com/kolja24/java-example-hash-34311
Створення заявки на підписання документів. Термін дії заявки - 3 доби. Після створення заявки користувач отримує deeplink для відкриття у мобільному застосунку.
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) |
required | Array of objects [ 1 .. 10 ] items Список документів для підписання |
oneSigner | boolean Default: true Документи може підписати лише один підписант. За замовчуванням - true |
callbackUrl | string URL для сповіщення про статус підписання |
{- "documents": [
- {
- "name": "Договір на поставку товарів",
- "hash": "A421FD4D4AB19BE76EC02A0F84AC2379822943FE85EB6ED7F22B30F73CB9CAF9",
- "type": "pdf",
}
], - "oneSigner": true,
}
{- "requestId": "sGtN4FnxYORZQU5Me1HbYhQ",
}
Отримання статусу підписання документів
requestId required | string Example: requestId=sGtN4FnxYORZQU5Me1HbYhQ Ідентифікатор заявки на підписання |
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) |
{- "documents": [
- {
- "status": "signed",
- "name": "Договір на поставку товарів",
- "hash": "A421FD4D4AB19BE76EC02A0F84AC2379822943FE85EB6ED7F22B30F73CB9CAF9",
- "type": "pdf",
- "signers": [
- {
- "name": "Шевченко Роман Петрович",
- "tin": "1234567890",
- "certSerial": "382367105294AF970400000058B38300BAE33C02",
- "signature": "MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQD...",
- "date": "2025-01-21T18:15:00.000Z",
- "edrpou": "12345678",
- "company": "ТОВ \"Сорока\"",
- "post": "Директор"
}
]
}
]
}
Скасування заявки на підписання
requestId required | string Example: requestId=sGtN4FnxYORZQU5Me1HbYhQ Ідентифікатор заявки на підписання |
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) |
{ }