instacar/autometrica-webservice-client

A Webservice Client to talk with the Autometrica Webservice

v1.0.0 2022-03-15 18:49 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.