laymont / venezuelan-foreign-exchanges
Laravel package for fetching and managing Venezuelan foreign exchange rates
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.9
- illuminate/http: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
- symfony/css-selector: ^7.2
- symfony/dom-crawler: ^7.2
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.13
- orchestra/testbench: ^9.0
- phpunit/phpunit: ^10.5
This package is auto-updated.
Last update: 2025-05-06 23:14:55 UTC
README
Este paquete de Laravel proporciona una manera sencilla de obtener los tipos de cambio de divisas extranjeras de uso oficial en Venezuela, directamente desde la página del Banco Central de Venezuela (BCV).
Funcionalidades
- Scraping del BCV: Obtiene de forma automatizada los tipos de cambio desde la página del BCV.
- Tipos de Cambio: Extrae los valores de cambio para las principales divisas de uso oficial en Venezuela (dólar, euro, yuan, lira, rublo).
- Formato de Datos: Devuelve la fecha, la hora de la consulta, el nombre de la divisa y el valor en un formato array de fácil uso.
Ventajas
- Fácil Integración: Se integra fácilmente en cualquier proyecto Laravel.
- Datos Actualizados: Obtiene los datos de cambio directamente de la fuente oficial, asegurando que sean lo más actualizados posibles.
- Centralización: Centraliza la lógica para la obtención de datos, facilitando su uso y mantenimiento.
- Flexibilidad: Devuelve los datos en un formato plano, lo cual es más flexible para integrarse en cualquier vista, API, etc.
- Hora de la Consulta: Se incluye la hora de la consulta para mayor precisión.
- Testable: Los servicios tienen pruebas unitarias.
- Autodescubrimiento: El paquete autodescubre el service provider de Laravel.
Requisitos
- PHP 8.2 o superior
- Laravel 11 o superior
Instalación
-
Instala el paquete via Composer:
composer require laymont/venezuelan-foreign-exchanges
-
Publicar la configuración del paquete (Opcional):
php artisan vendor:publish --tag=config
Esto crea un archivo
config/bcv.php
donde puedes personalizar la url de la consulta. -
Configura las variables de entorno En el archivo
.env
de tu proyecto puedes definir la variableBCV_URL
.BCV_URL=https://www.bcv.org.ve/
Cómo Usar el Paquete
Existen dos maneras principales de usar el paquete para obtener los datos de los tipos de cambio.
-
Acceder a la Ruta Web:
La manera más sencilla de obtener los tipos de cambio es visitando la ruta que el paquete define, abre tu navegador y visita la URL:
http://tuproyecto.test/bcv/rates
Esto mostrará los tipos de cambio en formato JSON, reemplaza http://tuproyecto.test
con la URL de tu proyecto.
2. Usar el servicio BcvService
directamente en tu código:
Puedes usar el servicio directamente en tu controlador o en otra clase para tener mas control sobre la obtencion de datos.
```php
<?php
namespace App\Http\Controllers;
use Laymont\VenezuelanForeignExchanges\Services\BcvService;
class ExchangeController extends Controller
{
public function index(BcvService $bcvService)
{
$rates = $bcvService->getLatestExchangeRates();
dd($rates);
}
}
```
En este ejemplo, el método `getLatestExchangeRates()` de `BcvService` devuelve un array con los tipos de cambio, el formato del array es el siguiente:
```php
[
[
'date' => 'YYYY-MM-DD',
'time' => 'HH:MM',
'currency' => 'Nombre de la divisa',
'value' => 123.45,
],
...
]
```
Puedes usar este array en tu vista, api, etc.
Donaciones
Si encuentras útil este paquete y deseas apoyar su desarrollo y mantenimiento, puedes considerar hacer una donación. Tu apoyo es muy apreciado y nos motiva a seguir mejorando el paquete.
Para recibir donaciones, puedes utilizar la siguiente opción:
Binance Pay
Si tienes una cuenta en Binance, puedes apoyarnos directamente a través de Binance Pay:
- Abre la aplicación de Binance.
- Ve a la sección de Binance Pay.
- Utiliza la opción "Enviar" o "Transferir".
- Ingresa mi Binance Pay ID:
206414132
- Indica en la descripción o nota de la transacción que es una donación para este paquete de Laravel.
- Ingresa el monto que deseas donar.
- Confirma la transacción.
Nota: Asegúrate de revisar el destinatario y la información de la transacción antes de confirmar el envío.
Otras Opciones
Si no tienes una cuenta en Binance o prefieres otras opciones, puedes contactarme directamente a través de correo electrónico o formulario de contacto para coordinar otros métodos de envío.
¡Gracias por tu apoyo!
Contribución
Si deseas contribuir a este paquete, puedes seguir estos pasos:
- Haz un fork del repositorio.
- Crea una rama con tu nombre: git checkout -b mi-nueva-funcionalidad.
- Realiza los cambios y haz commit: git commit -m "Agregando una nueva funcionalidad".
- Sube tus cambios: git push origin mi-nueva-funcionalidad.
- Abre un Pull Request hacia la rama main.
Licencia
Este paquete tiene licencia bajo la Licencia MIT.