personal

package
v0.5.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2024 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	ID           string          `json:"id"`
	SendID       string          `json:"sendId"`
	Balance      decimal.Decimal `json:"balance"`
	CreditLimit  decimal.Decimal `json:"creditLimit"`
	Type         string          `json:"type"`
	CurrencyCode int             `json:"currencyCode"`
	CashbackType string          `json:"cashbackType"`
	MaskedPan    []string        `json:"maskedPan"`
	Iban         string          `json:"iban"`
}

Account - Рахунки клієнта

type Currency

type Currency struct {
	// CurrencyCodeA - Код валюти рахунку відповідно ISO 4217
	CurrencyCodeA int32 `json:"currencyCodeA"`
	// CurrencyCodeB - Код валюти рахунку відповідно ISO 4217
	CurrencyCodeB int32 `json:"currencyCodeB"`
	// Date - Час курсу в секундах в форматі Unix time
	Date      int     `json:"date"`
	RateSell  float64 `json:"rateSell"`
	RateBuy   float64 `json:"rateBuy"`
	RateCross float64 `json:"rateCross"`
}

Currency - Об'єкт курсу валют

type GetStatementsRequest

type GetStatementsRequest struct {
	From    int64
	To      int64
	Account string
}

GetStatementsRequest - Запит на отримання виписки

type InfoClient

type InfoClient struct {
	// ClientID - Ідентифікатор клієнта (збігається з id для send.monobank.ua)
	ClientID string `json:"clientId"`
	// Name - Ім'я клієнта
	Name string `json:"name"`
	// WebHookURL - URL для надсиляння подій по зміні балансу рахунку
	WebHookURL string `json:"webHookUrl"`
	// Permissions - Перелік прав, які які надає сервіс (1 літера на 1 permission).
	Permissions string `json:"permissions"`
	// Accounts - Перелік доступних рахунків
	Accounts []*Account `json:"accounts"`
	// Jars - Перелік доступних банок
	Jars []*Jar `json:"jars"`
}

InfoClient - Інформація про клієнта та переліку його рахунків і банок

type Jar

type Jar struct {
	ID           string          `json:"id"`
	SendID       string          `json:"sendId"`
	Title        string          `json:"title"`
	Description  string          `json:"description"`
	CurrencyCode int             `json:"currencyCode"`
	Balance      decimal.Decimal `json:"balance"`
	Goal         decimal.Decimal `json:"goal"`
}

Jar - Банки клієнта

type Opts

type Opts struct {
	Token  string
	Client *http.Client
}

type Personal

type Personal struct {
	// contains filtered or unexported fields
}

Personal - Клієнт для публічного API

func NewPersonalClient

func NewPersonalClient(opts Opts) *Personal

NewPersonalClient - Створення нового клієнта для публічного API

func (*Personal) GetCurrencies

func (p *Personal) GetCurrencies(ctx context.Context) ([]*Currency, error)

GetCurrencies - Отримати базовий перелік курсів валют monobank. Інформація кешується та оновлюється не частіше 1 разу на 5 хвилин.

func (*Personal) GetInfoClient

func (p *Personal) GetInfoClient(ctx context.Context) (*InfoClient, error)

GetInfoClient - Отримання інформації про клієнта та переліку його рахунків і банок. Обмеження на використання функції не частіше ніж 1 раз у 60 секунд.

func (*Personal) GetStatements

func (p *Personal) GetStatements(ctx context.Context, req *GetStatementsRequest) ([]*Statement, error)

GetStatements - Отримання виписки за час від from до to часу в секундах в форматі Unix time. Максимальний час, за який можливо отримати виписку — 31 доба + 1 година (2682000 секунд). Обмеження на використання функції — не частіше ніж 1 раз на 60 секунд. Повертає 500 транзакцій з кінця, тобто від часу to до from. Якщо кількість транзакцій = 500, потрібно зробити ще один запит, зменшивши час to до часу останнього платежу, з відповіді. Якщо знову кількість транзакцій = 500, то виконуєте запити до того часу, поки кількість транзакцій не буде < 500. Відповідно, якщо кількість транзакцій < 500, то вже отримано всі платежі за вказаний період.

func (*Personal) SetWebhook

func (p *Personal) SetWebhook(ctx context.Context, req *SetWebhookRequest) error

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

type SetWebhookRequest

type SetWebhookRequest struct {
	WebHookURL string `json:"webHookUrl"`
}

SetWebhookRequest - Запит на встановлення URL для надсилання подій по зміні балансу рахунку

type Statement

type Statement struct {
	ID              string `json:"id"`
	Time            int    `json:"time"`
	Description     string `json:"description"`
	Mcc             int    `json:"mcc"`
	OriginalMcc     int    `json:"originalMcc"`
	Hold            bool   `json:"hold"`
	Amount          int    `json:"amount"`
	OperationAmount int    `json:"operationAmount"`
	CurrencyCode    int    `json:"currencyCode"`
	CommissionRate  int    `json:"commissionRate"`
	CashbackAmount  int    `json:"cashbackAmount"`
	Balance         int    `json:"balance"`
	Comment         string `json:"comment"`
	ReceiptID       string `json:"receiptId"`
	InvoiceID       string `json:"invoiceId"`
	CounterEDRPOU   string `json:"counterEdrpou"`
	CounterIBAN     string `json:"counterIban"`
	CounterName     string `json:"counterName"`
}

Statement - Об'єкт виписки

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL