jekk0/cbrf-api-helper

该包已被弃用且不再维护。没有建议的替代包。

俄罗斯联邦中央银行API的PHP包装组件

2.0.1 2021-08-12 12:13 UTC

This package is auto-updated.

Last update: 2023-08-13 12:38:56 UTC


README

俄罗斯联邦中央银行API的PHP包装。 英文文档

1.x.x版本的文档
1.x.x版本的文档

Build Status Coverage Status Latest Stable Version Total Downloads

要求

  • php >=7.0
  • ext-mbstring
  • ext-simplexml
  • ext-libxml

安装

使用composer安装最新版本

$ composer require jekk0/cbrf-api-helper

快速开始。

连接包并创建用于操作API的对象

<?php
// Create instance
require_once __DIR__ . "/vendor/autoload.php";

$client = new \Jekk0\Cbrf\Client\Client();
// Получение котировок валют

// На текущую дату
$client->getCurrencyApi()->getAll();

// Получение котировок на указанный день
$client->getCurrencyApi()->getAll("05.12.2010");

// Результат запроса
// array (size=34)
//   0 =>
//     array (size=6)
//       'NumCode' => string '036' (length=3)
//       'CharCode' => string 'AUD' (length=3)
//       'Nominal' => string '1' (length=1)
//       'Name' => string 'Австралийский доллар' (length=39)
//       'Value' => string '44,3861' (length=7)
//       'ID' => string 'R01010' (length=6)
// ...

// Получение идентификаторов для валют:
$client->getCurrencyApi()->getIds();

// Результат запроса
// array (size=34)
//   'AUD' => string 'R01010' (length=6)
//   'AZN' => string 'R01020A' (length=7)
//   'GBP' => string 'R01035' (length=6)
//   'AMD' => string 'R01060' (length=6)
//   'BYN' => string 'R01090B' (length=7)
//   'BGN' => string 'R01100' (length=6)
//   'BRL' => string 'R01115' (length=6)
//   ...

// Получение данных по валюте по коду, текстовому коду и идентификатору

$client->getCurrencyApi()->getByNumCode(840);
$client->getCurrencyApi()->getByCharCode('USD');
$client->getCurrencyApi()->getById("R01235");

// Результат запроса
// array (size=6)
//   'NumCode' => string '840' (length=3)
//   'CharCode' => string 'USD' (length=3)
//   'Nominal' => string '1' (length=1)
//   'Name' => string 'Доллар США' (length=19)
//   'Value' => string '58,5182' (length=7)
//   'ID' => string 'R01235' (length=6)

// Получения динамики котировок, в примере для USD

// R01235 - идентификатор валюты
// 01.12.2017 - начальная дата
// 04.12.2017 - конечная дата
$client->getCurrencyApi()->getDynamics('R01235', "01.12.2017", "04.12.2017");

// Результат запроса
// array (size=2)
//   0 =>
//     array (size=4)
//       'Nominal' => string '1' (length=1)
//       'Value' => string '58,5814' (length=7)
//       'Date' => string '01.12.2017' (length=10)
//       'Id' => string 'R01235' (length=6)
//   1 =>
//     array (size=4)
//       'Nominal' => string '1' (length=1)
//       'Value' => string '58,5182' (length=7)
//       'Date' => string '02.12.2017' (length=10)
//       'Id' => string 'R01235' (length=6)
//   ...

// Получения изменения курса валют 
// Выходные дни не учитываются, если выбран выходной(суббота или воскресенье) день то изменение курса будет взято и посчитано для пятницы, так как на выходных курс не изменяется  
// Пример:
// 24.02.2018(суббота)
// Разница в курсах будет автоматически расчитана для пятницы
$client->getCurrencyApi()->getDifference('24.02.2018');

// Результат
// array:34 [
//   "AUD" => "-0.1543"
//   "AZN" => "0.0629"
//   "GBP" => "-0.1684"
//   "AMD" => "0.0174"
//   "BYN" => "0.0104"
//   "BGN" => "-0.0425"
//   ...
// ]

// Получения динамики котировок драгоценных металлов

// 25.11.2017 - начальная дата
// 04.12.2017 - конечная дата
$client->getPreciousMetalApi()->getDynamics("25.11.2017", "04.12.2017");

// Результат запроса
// array (size=8)
//   0 =>
//     array (size=4)
//       'Buy' => string '2414,85' (length=7)
//       'Sell' => string '2414,85' (length=7)
//       'Date' => string '01.12.2017' (length=10)
//       'Code' => string '1' (length=1)
//   1 =>
//     array (size=4)
//       'Buy' => string '31,82' (length=5)
//       'Sell' => string '31,82' (length=5)
//       'Date' => string '01.12.2017' (length=10)
//       'Code' => string '2' (length=1)
//   2 =>
//     array (size=4)
//       'Buy' => string '1772,31' (length=7)
//       'Sell' => string '1772,31' (length=7)
//       'Date' => string '01.12.2017' (length=10)
//       'Code' => string '3' (length=1)
//   3 =>
//     array (size=4)
//       'Buy' => string '1917,34' (length=7)
//       'Sell' => string '1917,34' (length=7)
//       'Date' => string '01.12.2017' (length=10)
//       'Code' => string '4' (length=1)
//   ....