offline-agency/laravel-bank-of-italy

A simple Laravel package to information from the Bank of Italy

1.0.0 2024-09-11 14:42 UTC

This package is auto-updated.

Last update: 2024-12-12 08:26:21 UTC


README

Latest Stable Version MIT Licensed Total Downloads Laravel Bank of Italy

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.