instacar / autometrica-webservice-client
A Webservice Client to talk with the Autometrica Webservice
Requires
- php: >=7.4
- doctrine/annotations: ^1.13
- doctrine/collections: ^1.6.8
- psr/http-client: ^1.0.1
- psr/http-factory: ^1.0.1
- psr/http-message: ^1.0.1
- symfony/property-access: ^4.4|^5.4|^6.0
- symfony/property-info: ^4.4|^5.4|^6.0
- symfony/serializer: ^4.4|^5.4|^6.0
Requires (Dev)
- nyholm/psr7: ^1.5
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.6
- symfony/http-client: ^4.4|^5.4|^6.0
This package is auto-updated.
Last update: 2024-11-20 04:33:40 UTC
README
Una implementación opinada no oficial del Webservice para Autométrica.
Notas
Esta librería NO está relacionada con Autométrica de ninguna manera y/o forma. Es simplemente un trabajo derivado para poder utilizar el Webservice de Autométrica de una manera práctica y sencilla mediante modelos POPO (Plain Old PHP Objects).
Instalación
Dependencias
Esta librería depende de un cliente HTTP que implemente la interfaz PSR-18. Puede instalar el cliente de referencia para esta implementación de la siguiente manera:
composer require symfony/http-client
Librería
La instalación del cliente es simple, solo debes ejecutar el siguiente comando:
composer require instacar/autometrica-webservice-client
Uso
Para usar el cliente puedes crear una instancia por defecto que se encargará de crear el cliente HTTP PSR-18. El cliente tiene un método por cada punto final del Webservice de Autometrica. Por ejemplo, para solicitar el catálogo de vehículos:
use Instacar\AutometricaWebserviceClient\AutometricaClient; $cliente = AutometricaClient::createDefault($username, $password); $catalogo = $cliente->getCatalog();
Cada entidad de la Webservice está modelada con una clase PHP que tiene getters para cada una de las propiedades, con el fin de proporcionar ayuda a los IDEs y autocompletar mejor, además de proporcionar tipos estrictos a cada una de las propiedades. Siguiendo con el ejemplo anterior:
foreach ($catalogo as $vehiculo) { echo $vehiculo->getBrand(); // La marca del vehículo echo $vehiculo->getModel(); // El modelo del vehículo echo $vehiculo->getYear(); // EL año del vehículo echo $vehiculo->getTrim(); // La versión del vehículo }
Si desea ver los métodos y modelos implementados, por favor, consulte la documentación.
Avanzado
Si deseas utilizar tus propias implementaciones del cliente HTTP PSR-18, puedes instanciar directamente el
AutometricaClient
con el cliente HTTP.
use Instacar\AutometricaWebserviceClient\AutometricaClient; $cliente = new AutometricaClient($clienteHttp, $username, $password);
Licencia
Esta librería utiliza la licencia Lesser General Public Licence Version 3 (LGPLv3). Puede consultarla en el archivo LICENSE.