ustglobal / monge-php-api
PHP interface for Monge web services
Requires
- php: >=7.1.0
- ext-json: *
- guzzlehttp/guzzle: 6.3.3
- kamermans/guzzle-oauth2-subscriber: v1.0.6
- monolog/monolog: v1.24.0
- netresearch/jsonmapper: v1.4.0
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-04-09 07:15:59 UTC
README
La siguiente librería proporciona una interfaz PHP con los servicios web de Wakup y Monge.
Instalación
El proyecto está desplegada en packagist como una librería de composer. Para incluirla al proyecto basta con añadirla como dependencia:
composer require wakup/monge-php-api
Uso básico
Para acceder al cliente, basta con crear una instancia, que se puede reutilizar para el resto de peticiones. A esta instancia se le debe incluir el logger de monolog a utilizar para el registro de las peticiones:
use Monolog\Logger; use Monolog\Handler\StreamHandler; # Select path for log file $logDir = getcwd().'/my_app.log'; # Create monolog logger $logger = new Logger('HTTP'); $logger->pushHandler(new StreamHandler($logDir, Logger::ERROR)); # Instance client $wakupClient = new \Wakup\Client($logger);
Los métodos de la líbrería tienen tipado fuerte, lo que facilita su uso.
Métodos Wakup
Los métodos asociados a la gestión del catálogo de Wakup son los siguientes:
getPaginatedAttributes
Obtiene el listado de atributos de producto registrados en Wakup.
Toma los siguientes parámetros:
Parámetro | Tipo | Descripción |
---|---|---|
page |
int | Número de página a consultar. La primera página es la 0. |
perPage |
int | Cantidad de resultados a obtener por página. |
Devuelve un objeto de tipo PaginatedAttributes
.
Ejemplo de uso:
$pagination = $wakupClient->getPaginatedAttributes(0, 100); $attributes = $pagination->getAttributes();
getPaginatedCategories
Obtiene el listado de categorías de producto registrados en Wakup.
Toma los siguientes parámetros:
Parámetro | Tipo | Descripción |
---|---|---|
page |
int | Número de página a consultar. La primera página es la 0. |
perPage |
int | Cantidad de resultados a obtener por página. |
Devuelve un objeto de tipo PaginatedCategories
.
Ejemplo de uso:
$pagination = $wakupClient->getPaginatedCategories(0, 100); $categories = $pagination->getCategories();
getPaginatedProducts
Obtiene el listado de productos que han cambiado desde la última consulta. El resultado incluirá:
- Stock: número de unidades en stock. Esta información se incluye siempre que el producto se añade al listado
- Precio: información sobre el precio del producto, incluyendo el importe con impuesto, sin impuesto y la tasa aplicada. Este dato sólo se incluye cuando el precio ha cambiado desde la última consulta.
- Detalles: información detallada del producto, incluyendo nombre, imágenes, valores de atributo, etc. Sólo se incluye cuando ha cambiado algún valor desde la última consulta.
- Imágenes: Listado de imágenes del producto. Cada imagen contiene URLs en diferentes tamaños, relación de aspecto y color predominante. Se incluyen todas las imágenes del producto cuando cualquiera de ellas se ha modificado desde la última consulta. Si no ha habido cambios, se envía
null
.
Toma los siguientes parámetros:
Parámetro | Tipo | Descripción |
---|---|---|
lastUpdate |
DateTime | Fecha de última consulta. Si se envía vacío, se devolverán todos los productos. |
page |
int | Número de página a consultar. La primera página es la 0. |
perPage |
int | Cantidad de resultados a obtener por página. |
Devuelve un objeto de tipo PaginatedProducts
.
Ejemplo de uso:
$lastUpdate = new DateTime('2018-12-30 23:21:46'); $pagination = $wakupClient->getPaginatedProducts($lastUpdate, 0, 100); $products = $pagination->getProducts();