Ключевая ставка ЦБ РФ - примеры использования API

API

Примеры использования API

PHP

Получение всех ставок

<?php
$token = 'ваш_токен';
$url = "https://legalcalc.ru/api/public/keyrate?token=" . urlencode($token);

$response = file_get_contents($url);
$data = json_decode($response, true);

/*
Пример успешного ответа $data:
{
    "success": true,
    "data": [
        {
            "date": "2023-12-18",
            "rate": 16.00,
            "rate474": 16.00, // Пример
            "document": "Решение Совета директоров Банка России"
        },
        {
            "date": "2023-10-30",
            "rate": 15.00,
            "rate474": null, // Пример
            "document": "Решение Совета директоров Банка России"
        },
        // ... другие ставки
    ]
}
*/
print_r($data);
?>

Получение ставки на дату

<?php
$token = 'ваш_токен';
$date = '2023-12-18';
$url = "https://legalcalc.ru/api/public/keyrate/date?" . http_build_query([
    'token' => $token,
    'date' => $date
]);

$response = file_get_contents($url);
$result = json_decode($response, true);

/*
Пример успешного ответа $result:
{
    "success": true,
    "data": {
        "date": "2023-12-18",
        "rate": 16.00,
        "rate474": 16.00 // Пример
        "document": "Решение Совета директоров Банка России"
    }
}
*/
print_r($result);
?>

Расчет процентов

<?php
$token = '12345678-abcd-efgh-ijkl-mnopqrstuvwx';
$amount = 100000;
$startDate = '2023-01-01';
$endDate = '2023-12-31';

$url = "https://legalcalc.ru/api/public/keyrate/calculate?" . http_build_query([
    'token' => $token,
    'amount' => $amount,
    'start_date' => $startDate,
    'end_date' => $endDate
]);

$response = file_get_contents($url);
$result = json_decode($response, true);

print_r($result);
?>

JavaScript

Получение всех ставок

const token = 'ваш_токен';
const url = `/api/public/keyrate?token=${encodeURIComponent(token)}`;

fetch(url)
    .then(response => response.json())
    .then(data => {
        /*
        Пример успешного ответа data:
        {
            success: true,
            data: [
                {
                    date: "2023-12-18",
                    rate: 16.00,
                    rate474: 16.00, // Пример
                    document: "Решение Совета директоров Банка России"
                },
                // ... другие ставки
            ]
        }
        */
        console.log(data);
    })
    .catch(error => {
        console.error('Ошибка:', error);
    });

Получение ставки на дату

const token = 'ваш_токен';
const params = new URLSearchParams({
    token: token,
    date: '2023-12-18'
});

const url = `/api/public/keyrate/date?${params}`;

fetch(url)
    .then(response => response.json())
    .then(result => {
         /*
        Пример успешного ответа result:
        {
            success: true,
            data: {
                date: "2023-12-18",
                rate: 16.00,
                rate474: 16.00, // Пример
                document: "Решение Совета директоров Банка России"
            }
        }
        */
        console.log(result);
    })
    .catch(error => {
        console.error('Ошибка:', error);
    });

Python

Получение всех ставок

import requests

token = 'ваш_токен'
url = 'https://legalcalc.ru/api/public/keyrate'

params = {'token': token}
response = requests.get(url, params=params)
data = response.json()

'''
Пример успешного ответа data:
{
    'success': True,
    'data': [
        {
            'date': '2023-12-18',
            'rate': 16.00,
            'rate474': 16.00, # Пример
            'document': 'Решение Совета директоров Банка России'
        },
        # ... другие ставки
    ]
}
'''
print(data)

Расчет процентов

import requests

token = 'ваш_токен'
url = 'https://legalcalc.ru/api/public/keyrate/calculate'

params = {
    'token': token,
    'amount': 100000,
    'start_date': '2023-01-01',
    'end_date': '2023-12-31'
}

response = requests.get(url, params=params)
result = response.json()

'''
Пример успешного ответа result:
{
    'success': True,
    'data': {
        'date': '2023-12-18',
        'rate': 16.00,
        'rate474': 16.00, # Пример
        'document': 'Решение Совета директоров Банка России'
    }
}
'''
print(result)

# Пример расчета процентов (без изменений, т.к. поле rate474 не влияет на этот расчет)
url_calculate = 'https://legalcalc.ru/api/public/keyrate/calculate'

params_calculate = {
    'token': token,
    'amount': 100000,
    'start_date': '2023-01-01',
    'end_date': '2023-12-31'
}

response_calculate = requests.get(url_calculate, params=params_calculate)
result_calculate = response_calculate.json()

print(result_calculate)

Примечания:

  • Замените токен на ваш собственный
  • Обрабатывайте возможные ошибки в ответе API
  • Учитывайте ограничения по количеству запросов
  • Рекомендуется кэшировать полученные данные на своей стороне