echobase/mnb-arfolyam-bundle

Symfony Bundle to get MNB currency exchange rates

1.8 2022-09-22 12:35 UTC

This package is not auto-updated.

Last update: 2022-12-01 13:31:08 UTC


README

Symfony Bundle a Magyar Nemzeti Bank árfolyam szolgáltatássának használatához.

https://www.mnb.hu/arfolyamok

Tudnivalók

Ez csak a forint árfolyamát tartalmazza különböző devizákhoz képest. Tehát pl euró-dollár árfolyamot nem. Ha ilyen kellene akkor esetleg a forint-euró és forint-dollár felhasználásával lehet kiszámolni. Az árfolyam válasz tartalmazza az egységet is, amely megmondja, hogy hány egység deviza mennyi forintba kerül. Az egység letöbb esetben 1. A devizák 3 betűs ISO kódjukkal vannak jelölve. Az árfolyam visszamenőleg is elérhető. Nem minden napra van árfolyam (talán csak munkanapokra).

Elérhető lekérdezések

A lekérdezések között van átfedés, így csak azt kell használni, amire szükség van. A következő lekérdezések vannak:

  • getInfo: Egy Info objektumot ad vissza, mely a következőket tartalmazza: firstDate - az első dátum amelyre elérhető az árfolyam (DateTime). lastDate - az utolsó dátum amelyre elérhető az árfolyam (DateTime). currencies - az elérhető devizák ISO kódjai (string[])

  • getCurrencyUnits: Paraméterként egy tömböt vár mely az érdekelt devizák iso kódjait tartalmazza. Egy tömböt ad vissza, melyben a kulcs a deviza ISO kódja, az érték a deviza egysége (legtöbb esetben 1).

  • getCurrencies: Egy tömböt ad vissza mely az elérhető devizák ISO kódjait tartalmazza.

  • getDateInterval: Egy tömböt ad vissza két elemmel: startDate - az első dátum amelyre elérhető az árfolyam (DateTime). endDate - az utolsó dátum amelyre elérhető az árfolyam (DateTime).

  • getExchangeRates: Paraméterként vár a kért devizák ISO kódjával vár egy tömböt (kötelező); egy kezdő dátumot (DateTime) (ha nincs megadva, akkor a tegnapi nap); egy végső dátumot (DateTime) (ha nincs megadva, akkor a mai nap); Válaszként ExchangeRate objektumokat tartalmazó tömböt kapunk.

  • getCurrentExchangeRates: Paraméterként opcionálisan egy tömböt vár a kért devizák ISO kódjaival (ha nincs, akkor az összeset adja). Válaszként egy tömböt kapunk, melyben a kulcs a deviza ISO kódja, az érték pedig egy ExchangeRate objektum. A legutolsó érvényes napra, azaz az aktuális árfolyamot tartalmazza.

Az ExchangeRate objektum

date - mely napi az árfolyam (DateTime) unit - deviza egység (legtöbbször 1) currency - a deviza ISO kódja (string) rate - az árfolyam (float)

Telepítés

$ composer require echobase/mnb-arfolyam-bundle

Beállítás

A következő beállítások vannak, amelyeket valószínűleg nem kell módosítani:

# config/packages/echobase_mnb_arfolyam.yaml
echobase_mnb_arfolyam:
  base_url: http://www.mnb.hu/arfolyamok.asmx
  connection_timeout: 10  
# ...

Parancsok

Elérhető devizák és időszak:
$ php bin/console mnb:exchangerate:info
Aktuális árfolyamok:
$ php bin/console mnb:exchangerate:current <[currencies]>

Példa:

$ php bin/console mnb:exchangerate:current EUR USD AUD