Golang SDK for Tinkoff Bank currency exchange rates
go get github.com/sokolovvs/go-tinkoff-exchange-rates-sdk
package main
import (
"fmt"
tinkoff_exchange_rate "github.com/sokolovvs/go-tinkoff-exchange-rates-sdk"
)
func main() {
UpdateTinkoffRates()
}
func UpdateTinkoffRates() {
defaultFilterFunc := func(rate tinkoff_exchange_rate.RateFromResponse) bool {
if rate.Category == "C2CTransfers" {
return true
}
return false
}
UpdateTinkoffRatesByParams(map[string]string{"from": "USD", "to": "RUB"}, defaultFilterFunc)
UpdateTinkoffRatesByParams(map[string]string{"from": "EUR", "to": "RUB"}, defaultFilterFunc)
UpdateTinkoffRatesByParams(map[string]string{"from": "KZT", "to": "RUB"}, defaultFilterFunc)
UpdateTinkoffRatesByParams(map[string]string{"from": "CAD", "to": "RUB"}, defaultFilterFunc)
UpdateTinkoffRatesByParams(map[string]string{"from": "AUD", "to": "RUB"}, defaultFilterFunc)
}
func UpdateTinkoffRatesByParams(params map[string]string, filterFunc func(response tinkoff_exchange_rate.RateFromResponse) bool) {
response, err := tinkoff_exchange_rate.FetchCurrencyRates(params)
if err != nil {
panic(err)
return
}
rates := tinkoff_exchange_rate.FilterRates(response.Payload.Rates, filterFunc)
fmt.Println(rates)
}