Visualización, Filtrado y Ordenamiento de Recursos
Para poder obtener recursos de las tiendas de una manera mas apropiada, puedes utilizar los filtros de la API. También es posible visualizar seleccionar que información de los recursos queremos consumir.
En esta sección explicaremos como visualizar y filtrar información.
Visualización de Recursos
Podes elegir que información queres observar a la hora de consumir recursos.
Ejemplo: Si haces un simple api/orders obtendras la lista de pedidos pero unicamente su ID.
Si necesitas mas informacion podes complementar de la siguiente forma:
Query Parameters:
| Clave | Valor | Resultado |
|---|---|---|
| display | full | Devuelve todos los campos del recurso |
| [campo1, campo2,...] | Devuelve solo los campos especificados en esta matriz |
Ejemplo:
| Resultado | Llamada API |
|---|---|
| Incluir todos los campos del recurso de productos | /api/products/?display=full |
| Incluir solo el ID del recurso de transportistas | /api/carriers/?display=[id] |
| Incluir solo los campos de nombre y valor de configuraciones | /api/configurations/?display=[name,value] |
Filtrado de Recursos
Es posible que en algunos momentos requieras obtener recursos de una manera mas especifica.
Para filtrar recursos, podes utilizar los filtros de la API.
Query Parameters:
| Clave | Valor | Resultado |
|---|---|---|
| filter[field] | [1|5] | Operador OR: lista de valores posibles |
| [1,10] | Operador de intervalo: define intervalo de valores posibles | |
| [John] | Valor literal (no sensible a mayúsculas/minúsculas) | |
| [Jo]% | Operador de inicio: el campo comienza con el valor (no sensible a mayúsculas/minúsculas) | |
| %[hn] | Operador de fin: el campo termina con el valor (no sensible a mayúsculas/minúsculas) | |
| %[oh]% | Operador de contiene: el campo contiene el valor (no sensible a mayúsculas/minúsculas) |
Ejemplo:
| Resultado | Llamada API |
|---|---|
| Solo los clientes cuyos IDs son 1 o 5 | /api/customers/?filter[id]=[1|5] |
| Solo los clientes cuyos IDs están entre 1 y 10 | /api/customers/?filter[id]=[1,10] |
| Solo los clientes cuyo primer nombre es “John” | /api/customers/?filter[firstname]=[John] |
| Solo los fabricantes cuyo nombre comienza con “Appl” | /api/manufacturers/?filter[name]=[appl]% |
Ordenamiento de Recursos
Puedes ordenar los recursos de la API de forma ascendente o descendente.
Query Parameters:
| Clave | Valor | Resultado |
|---|---|---|
| sort | [{fieldname}_{ASC|DESC}] | El valor de ordenamiento se compone de un nombre de campo y el orden esperado separados por un _ |
Ejemplo:
| Resultado | Llamada API |
|---|---|
| Ordenar los clientes en orden alfabético según el apellido | /api/customers/?sort=[lastname_ASC] |
| Ordenar los clientes en orden alfabético según el apellido, luego por ID en orden descendente | /api/customers/?sort=[lastname_ASC,id_DESC] |
Atributos para filtrar en recursos
Productos
| Atributo | Descripción |
|---|---|
| id | Identificador del producto |
| id_carriers | Identificador del transportista |
| id_manufacturer | Identificador del fabricante |
| id_supplier | Identificador del proveedor |
| id_category_default | Identificador de la categoría predeterminada |
| reference | Referencia del producto |
| price | Precio del producto |
| active | Estado del producto (activo/inactivo) |
| available_for_order | Disponibilidad para pedido (sí/no) |
| condition | Condición del producto (nuevo, usado, reacondicionado) |
| visibility | Visibilidad del producto (en catálogo, búsqueda, ambos, ninguno) |
Ordenes de venta
| Atributo | Descripción |
|---|---|
| id | Identificador del pedido |
| id_customer | Identificador del cliente |
| id_cart | Identificador del carrito |
| id_address_delivery | Identificador de la dirección de envío |
| id_address_invoice | Identificador de la dirección de facturación |
| id_carrier | Identificador del transportista |
| current_state | Identificador del estado del pedido |
| total_paid | Monto total del pedido |
| total_products | Monto total de los productos |
| reference | Referencia del pedido |
| shipping_number | Número de seguimiento del envío |
| shipping_type_name | Nombre del tipo de envío |
Notas finales:
Esta implementación no es propietaria de Aper, es implementación hecha por Prestashop.
Esta nomenclatura se sacó de https://devdocs.prestashop-project.org/1.7/webservice/tutorials/advanced-use/additional-list-parameters/