ustglobal/monge-php-api

There is no license information available for the latest version (dev-master) of this package.

PHP interface for Monge web services

dev-master 2019-07-08 20:26 UTC

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();