class MonobankApi::Client

Defined in:

monobank_api/client.cr

Constant Summary

BASE_URL = "https://api.monobank.ua"
Log = MonobankApi::Log.for(self)
USER_AGENT = "MonobankApi-Crystal/#{MonobankApi::VERSION} (+https://github.com/mamantoha/monobank_api)"

Constructors

Instance Method Summary

Constructor Detail

def self.new(token : String, user_agent : String | Nil = nil) #

[View source]

Instance Method Detail

def currencies : Array(Currency) #

Отримати базовий перелік курсів валют monobank

Інформація кешується та оновлюється не частіше 1 разу на 5 хвилин


[View source]
def info : ClientInfo #

Отримання інформації про клієнта та переліку його рахунків і банок

Обмеження на використання функції: не частіше ніж 1 раз у 60 секунд


[View source]
def statements(account : String, from : Time, to : Time | Nil = nil) : Array(Statement) #

Отримання виписки за час від from до to часу

Максимальний час за який можливо отримувати виписку: 31 доба + 1 година Обмеження на використання функції: не частіше ніж 1 раз у 60 секунд

Arguments:

  • account: Ідентифікатор рахунку або банки з переліків або 0 - дефолтний рахунок
  • from: Початок часу виписки
  • to: Останній час виписки (необов'язковий, за замовчуванням from + 31 діб + 1 година)

[View source]
def webhook=(webhook_url : String) : Bool #

Встановлення URL користувача для отримання подій про зміну балансу

Для підтвердження коректності наданої адреси, на неї надсилається GET-запит. Сервер має відповісти строго HTTP статус-кодом 200. Якщо валідацію пройдено, на задану адресу починають надсилатися POST запити з подіями.

Події надсилаються у форматі: {type:"StatementItem", data:{account:"...", statementItem:{#StatementItem}}}

Якщо сервіс не відповість протягом 5с, сервіс повторить спробу ще через 60 та 600 секунд. Якщо на третю спробу відповідь отримана не буде, функція буде вимкнута.

Arguments:

  • webhook_url: URL для отримання POST запитів з подіями (або пустий рядок для видалення)

[View source]