offline-agency / laravel-bank-of-italy
A simple Laravel package to information from the Bank of Italy
Requires
- php: >=8.0
- ext-json: *
- guzzlehttp/guzzle: 7.0.1|^7.2
- illuminate/container: ^8.0|^9.0
- illuminate/http: ^8.0|^9.0
- illuminate/support: ^8.0|^9.0
Requires (Dev)
- orchestra/testbench: ^6.0|^7.0
- phpunit/phpunit: ^8.0|^9.0
README
A simple Laravel package to retrieve information from the Bank of Italy.
Installation
You can install the package via composer:
composer require offline-agency/laravel-bank-of-italy
You need to publish config file with:
php artisan vendor:publish --provider="OfflineAgency\LaravelBankOfItaly\LaravelBankOfItalyServiceProvider"
Usage
Currently, the package provides a method to retrieve exchange rates between currencies.
Basic
$exchange_rate = new ExchangeRate(); $exchange_rates = $exchange_rate->getExchangeRates(); foreach ($exchange_rates->getItems() as $exchange_rate) { dd($exchange_rate); /* OfflineAgency\LaravelBankOfItaly\Entities\ExchangeRate\ExchangeRate { +currency: "Dollaro USA" +currencyIsoCode: "USD" +currencyUicCode: "001" +rate: "1.0724" +rateConvention: "Quantità di valuta estera per 1 Euro" +referenceDate: "Y-m-d" } */ }
In this example, the method getExchangeRates()
returns an instance of OfflineAgency\LaravelBankOfItaly\Entities\ExchangeRate\ExchangeRates
. You can use the getItems()
method to retrieve an array of ExchangeRate
objects. Each ExchangeRate
object contains the following properties:
- currency: The name of the currency (e.g., "Dollaro USA")
- currencyIsoCode: The ISO code of the currency (e.g., "USD")
- currencyUicCode: The UIC code of the currency (e.g., "001")
- rate: The exchange rate (e.g., "1.0724")
- rateConvention: The rate convention (e.g., "Quantità di valuta estera per 1 Euro")
- referenceDate: The reference date of the rate (format: Y-m-d)
Custom Query Parameters
You can also provide custom query parameters to filter the results. Here are the fields you can specify:
$exchange_rate = new ExchangeRate(); $response = $exchange_rate->getExchangeRates([ 'lang' => 'en', // Default: it 'baseCurrencyIsoCode' => 'EUR', // Default: USD 'currencyIsoCode' => 'ITL', // Default: EUR (accepted values: EUR, USD, ITL) 'startDate' => '01-01-2000', // Default: Carbon::now()->subYear() (format: Y-m-d) 'endDate' => '01-01-2000' // Default: Carbon::now() (format: Y-m-d) ]);
Error Handling
- If there is a validation error, the method returns an instance of
Illuminate\Support\MessageBag
. - If there is an error during the API call, the method returns an instance of
OfflineAgency\LaravelBankOfItaly\Entities\Error
, which contains an error property.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security-related issues, please email support@offlineagency.com instead of using the issue tracker.
Credits
About us
Offline Agency is a web design agency based in Padua, Italy. You'll find an overview of our projects on our website.
License
The MIT License (MIT). Please see License File for more information.