Producto
Consulta
Obtener Listado de Productos
GET https://api.contifico.com/sistema/api/v1/producto/
Devuelve un listado con todos los productos creados en el sistema.
Ejemplo:
[
{
"porcentaje_iva": 12,
"costo_maximo": null,
"descripcion_departamento": null,
"imagen": "",
"minimo": "3.0",
"para_comisariato": true,
"indicador_peso": null,
"descripcion": "COMPUTADORA 11\"",
"generacion_automatica": false,
"cuenta_costo_id": null,
"pvp2": "250.0",
"tipo": "PRO",
"fecha_creacion": "20/08/2020",
"id": "lY4erkB4vtrVa2Lz",
"tipo_producto": "SIM",
"pvp3": "300.0",
"codigo_proveedor": "Colección 2019",
"pvp1": "200.0",
"descripcion_familia": null,
"id_integracion_proveedor": null,
"para_supereasy": true,
"nombre": "LAPTOP DELL SRS PREMIUM SOUND",
"codigo_sap": "000000000040009213",
"descripcion_jerarquia": null,
"pvp_manual": false,
"codigo_barra": "000000011114",
"pvp_comisariato": "3.50",
"pvp4": "32.5",
"cuenta_venta_id": "6x01dNXK8QfMaX7W",
"categoria_id": "5onPeR2nBil9ep1v",
"peso_hasta": null,
"pvp_peso": null,
"jerarquia": null,
"departamento": null,
"para_pos": true,
"familia": null,
"marca_id": null,
"marca_nombre": null,
"estado": "A",
"categoria_comisariato_id": null,
"cuenta_compra_id": null,
"personalizado1": null,
"peso_desde": null,
"personalizado2": null,
"codigo": "00001",
"nombre_producto_base": null,
"pvp_supereasy": "3.35",
"variantes": null,
"producto_base_id":null,
"detalle_variantes": [
{
"valor_id":null,
"variante_id": "MZN5wbo2fDqaxEO0"
}
],
"lead_time": null,
"cantidad_stock": "-5.0"
},
...
]
Parámetro | Tipo | Longitud | Descripción |
---|---|---|---|
porcentaje_iva | SmallIntegerField | - | Valor de porcentaje de IVA que tiene el producto (0, 12, null). |
costo_maximo | decimal | 13 | Valor de costo máximo que puede tener el producto (7 int, 6 decimal)max. |
descripcion_departamento | varchar | 40 | Descripción de departamento de Mi Comisariato. (Modulo adicional) |
imagen | obj | - | Objeto Foto relacionado al producto. |
minimo | decimal | 13 | Valor mínino de stock que debe estar disponible (7 int, 6 decimal)max. |
para_comisariato | boolean | 1 | Indicador si el producto se usa para comisariato. (Modulo adicional) |
indicador_peso | varchar | 1 | Indicador de balanza (0:no es de balanza, 1:requiere peso, 2:por cantidad). (Modulo adicional) |
generacion_automatica | boolean | 1 | Variable de control para determina si el producto se utiliza en Orden de Compra. |
cuenta_costo_id | varchar | 16 | Identificador de la cuenta costo en el sistema. |
pvp2 | decimal | 13 | Precio de venta 2 (7 int, 6 decimal)max. |
tipo | varchar | 16 | Tipo de producto (PRO:Producto, SER:Servicio). |
fecha_creacion | date | - | Fecha de creacion del producto. |
id | varchar | 16 | Identificador del producto en el sistema. |
tipo_producto | varchar | 3 | Subtipo del tipo Producto (SIM:simple, COM:combo, COP:compuesto, PRO:produccion) |
pvp3 | decimal | 13 | Precio de venta 3 (7 int, 6 decimal)max. |
codigo_proveedor | varchar | 200 | Código utilizado para catalogo de productos. |
pvp1 | decimal | 13 | Precio de venta 1 (7 int, 6 decimal)max. |
id_integracion_proveedor | varchar | 16 | Identificador de la persona proveedor en el sistema. |
para_supereasy | boolean | 1 | Indicador si el producto se usa para supereasy. (Modulo adicional) |
nombre | varchar | 300 | Nombre del producto. + |
codigo_sap | varchar | 200 | Código de producto registrado desde SAP. (Modulo adicional) |
descripcion_jerarquia | varchar | 40 | Descripción de jerarquía de Mi Comisariato. (Modulo adicional) |
pvp_manual | boolean | 1 | Variable de control para determina si el producto utiliza precio manual. |
codigo_barra | varchar | 50 | Secuencia que representa el codigo de barras de un producto. |
pvp_comisariato | decimal | 13 | precio de venta de Mi Comisariato (7 int, 6 decimal)max. (Modulo adicional) |
pvp4 | decimal | 13 | Precio de venta 4 (7 int, 6 decimal)max. |
cuenta_venta_id | varchar | 16 | Identificador de la cuenta contable asignada para la venta en el sistema. |
categoria_id | varchar | 16 | Identificador de la categoria en el sistema. |
peso_hasta | decimal | 5 | Valor de peso final para balanza. (Modulo adicional) |
pvp_peso | decimal | 13 | Valor de venta de peso para balanza (7 int, 6 decimal)max. (Modulo adicional) |
jerarquia | varchar | 10 | jerarquía del producto de en Mi Comisariato. (Modulo adicional) |
departamento | varchar | 3 | identificador de departamento de Mi Comisariato. (Modulo adicional) |
para_pos | boolean | 1 | Variable de control para determina si el producto se utiliza en POS. |
familia | varchar | 6 | identificador de familia de Mi Comisariato. (Modulo adicional) |
marca_id | varchar | 16 | Identificador de la marca en el sistema. |
marca_nombre | varchar | 50 | Nombre de la marca asociada al producto. |
estado | varchar | 1 | Estado del producto (A:activo, I:inactivo) |
categoria_comisariato_id | varchar | 16 | Identificador de la categoria comisariato en el sistema. (Modulo adicional) |
cuenta_compra_id | varchar | 16 | Identificador de la cuenta contable asignada para la compra en el sistema. |
personalizado1 | varchar | 300 | Campo personalizado para información adicional del producto. |
peso_desde | decimal | 5 | Valor de peso inicial para balanza. (Modulo adicional) |
personalizado2 | varchar | 300 | Campo personalizado para información adicional del producto. |
codigo | varchar | 200 | Código único del producto. + |
nombre_producto_base | varchar | 300 | Nombre del producto padre. |
pvp_supereasy | decimal | 13 | Precio de venta de Super Easy (7 int, 6 decimal)max. (Modulo adicional) |
variantes | obj | - | Objeto contenedor de las variantes del producto. |
producto_base_id | varchar | 16 | Identificador del producto en el sistema. |
detalle_variantes | obj | - | Objeto contenedor de los detalles de las variantes del producto. |
valor_id | varchar | 16 | Identificador del valor de la variante en el sistema. |
variante_id | varchar | 16 | Identificador de la variante en el sistema. |
lead_time | int | - | Tiempo estimado para recepción de producto desde su solicitud. |
cantidad_stock | varchar | 16 | Stock del producto. |
Query Parameters
Parámetro | Tipo | Longitud | Descripción |
---|---|---|---|
fecha_inicial | date | Filtro para consultar las categorias desde la fecha de ultima modificacion. | |
fecha_final | date | Filtro para consultar las categorias hasta la fecha de ultima modificacion. | |
filtro | varchar | 100 | Filtro que puede contener el nombre o codigo o nombre de una categoría vinculado a dicho producto. |
categoria_id | varchar | 16 | Filtro que contiene el identificador de la categoria del producto. |
codigo_barra | varchar | 50 | Filtro del codigo de barra asignado al producto. |
codigo | varchar | 200 | Filtro del codigo del producto. |
NOTA: los campos de codigo_sap
, para_supereasy
, para_comisariato
, pvp_supereasy
, pvp_comisariato
y categoria_comisariato_id
solo pueden ser consultados por las respectivas empresas habilitadas. De lo contrario, el servicio retornará cada objeto JSON de producto sin estos campos.
Obtener un Producto
GET https://api.contifico.com/sistema/api/v1/producto/<ID>
Devuelve un objeto JSON de un producto, utilizando el <ID>
solicitado.
{
"porcentaje_iva": 12,
"costo_maximo": null,
"descripcion_departamento": null,
"imagen": "",
"minimo": "3.0",
"para_comisariato": true,
"indicador_peso": null,
"descripcion": "COMPUTADORA 11\"",
"generacion_automatica": false,
"cuenta_costo_id": null,
"pvp2": "250.0",
"tipo": "PRO",
"fecha_creacion": "20/08/2020",
"id": "lY4erkB4vtrVa2Lz",
"tipo_producto": "SIM",
"pvp3": "300.0",
"codigo_proveedor": "Colección 2019",
"pvp1": "200.0",
"descripcion_familia": null,
"id_integracion_proveedor": null,
"para_supereasy": true,
"nombre": "LAPTOP DELL SRS PREMIUM SOUND",
"codigo_sap": "000000000040009213",
"descripcion_jerarquia": null,
"pvp_manual": false,
"codigo_barra": "000000011114",
"pvp_comisariato": "3.50",
"pvp4": "32.5",
"cuenta_venta_id": "6x01dNXK8QfMaX7W",
"categoria_id": "5onPeR2nBil9ep1v",
"peso_hasta": null,
"pvp_peso": null,
"jerarquia": null,
"departamento": null,
"para_pos": true,
"familia": null,
"marca_id": null,
"marca_nombre": null,
"estado": "A",
"categoria_comisariato_id": null,
"cuenta_compra_id": null,
"personalizado1": null,
"peso_desde": null,
"personalizado2": null,
"codigo": "00001",
"nombre_producto_base": null,
"pvp_supereasy": "3.35",
"variantes": null,
"producto_base_id":null,
"detalle_variantes": [
{
"valor_id":null,
"variante_id": "MZN5wbo2fDqaxEO0"
}
],
"lead_time": null,
"cantidad_stock": "-5.0"
}
Parámetro | Tipo | Longitud | Descripción |
---|---|---|---|
porcentaje_iva | SmallIntegerField | - | Valor de porcentaje de IVA que tiene el producto (0, 12, null). |
costo_maximo | decimal | 13 | Valor de costo máximo que puede tener el producto (7 int, 6 decimal)max. |
descripcion_departamento | varchar | 40 | Descripción de departamento de Mi Comisariato. (Modulo adicional) |
imagen | obj | - | Objeto Foto relacionado al producto. |
minimo | decimal | 13 | Valor mínino de stock que debe estar disponible (7 int, 6 decimal)max. |
para_comisariato | boolean | 1 | Indicador si el producto se usa para comisariato. (Modulo adicional) |
indicador_peso | varchar | 1 | Indicador de balanza (0:no es de balanza, 1:requiere peso, 2:por cantidad). (Modulo adicional) |
generacion_automatica | boolean | 1 | Variable de control para determina si el producto se utiliza en Orden de Compra. |
cuenta_costo_id | varchar | 16 | Identificador de la cuenta costo en el sistema. |
pvp2 | decimal | 13 | Precio de venta 2 (7 int, 6 decimal)max. |
tipo | varchar | 16 | Tipo de producto (PRO:Producto, SER:Servicio). |
fecha_creacion | date | - | Fecha de creacion del producto. |
id | varchar | 16 | Identificador del producto en el sistema. |
tipo_producto | varchar | 3 | Subtipo del tipo Producto (SIM:simple, COM:combo, COP:compuesto, PRO:produccion) |
pvp3 | decimal | 13 | Precio de venta 3 (7 int, 6 decimal)max. |
codigo_proveedor | varchar | 200 | Código utilizado para catalogo de productos. |
pvp1 | decimal | 13 | Precio de venta 1 (7 int, 6 decimal)max. |
id_integracion_proveedor | varchar | 16 | Identificador de la persona proveedor en el sistema. |
para_supereasy | boolean | 1 | Indicador si el producto se usa para supereasy. (Modulo adicional) |
nombre | varchar | 300 | Nombre del producto. + |
codigo_sap | varchar | 200 | Código de producto registrado desde SAP. (Modulo adicional) |
descripcion_jerarquia | varchar | 40 | Descripción de jerarquía de Mi Comisariato. (Modulo adicional) |
pvp_manual | boolean | 1 | Variable de control para determina si el producto utiliza precio manual. |
codigo_barra | varchar | 50 | Secuencia que representa el codigo de barras de un producto. |
pvp_comisariato | decimal | 13 | precio de venta de Mi Comisariato (7 int, 6 decimal)max. (Modulo adicional) |
pvp4 | decimal | 13 | Precio de venta 4 (7 int, 6 decimal)max. |
cuenta_venta_id | varchar | 16 | Identificador de la cuenta contable asignada para la venta en el sistema. |
categoria_id | varchar | 16 | Identificador de la categoria en el sistema. |
peso_hasta | decimal | 5 | Valor de peso final para balanza. (Modulo adicional) |
pvp_peso | decimal | 13 | Valor de venta de peso para balanza (7 int, 6 decimal)max. (Modulo adicional) |
jerarquia | varchar | 10 | jerarquía del producto de en Mi Comisariato. (Modulo adicional) |
departamento | varchar | 3 | identificador de departamento de Mi Comisariato. (Modulo adicional) |
para_pos | boolean | 1 | Variable de control para determina si el producto se utiliza en POS. |
familia | varchar | 6 | identificador de familia de Mi Comisariato. (Modulo adicional) |
marca_id | varchar | 16 | Identificador de la marca en el sistema. |
marca_nombre | varchar | 50 | Nombre de la marca asociada al producto. |
estado | varchar | 1 | Estado del producto (A:activo, I:inactivo) |
categoria_comisariato_id | varchar | 16 | Identificador de la categoria comisariato en el sistema. (Modulo adicional) |
cuenta_compra_id | varchar | 16 | Identificador de la cuenta contable asignada para la compra en el sistema. |
personalizado1 | varchar | 300 | Campo personalizado para información adicional del producto. |
peso_desde | decimal | 5 | Valor de peso inicial para balanza. (Modulo adicional) |
personalizado2 | varchar | 300 | Campo personalizado para información adicional del producto. |
codigo | varchar | 200 | Código único del producto. + |
nombre_producto_base | varchar | 300 | Nombre del producto padre. |
pvp_supereasy | decimal | 13 | Precio de venta de Super Easy (7 int, 6 decimal)max. (Modulo adicional) |
variantes | obj | - | Objeto contenedor de las variantes del producto. |
producto_base_id | varchar | 16 | Identificador del producto en el sistema. |
detalle_variantes | obj | - | Objeto contenedor de los detalles de las variantes del producto. |
valor_id | varchar | 16 | Identificador del valor de la variante en el sistema. |
variante_id | varchar | 16 | Identificador de la variante en el sistema. |
lead_time | int | - | Tiempo estimado para recepción de producto desde su solicitud. |
cantidad_stock | varchar | 16 | Stock del producto. |
Crear un Producto
Para crear un producto se debe hacer uso de la url:
POST https://api.contifico.com/sistema/api/v1/producto/
por medio del método POST enviando en el cuerpo del requerimiento los datos del producto:
Ejemplo:
{
"codigo_barra": "000000011115",
"porcentaje_iva": "12",
"tipo": "PRO",
"categoria_id": "xgArb6B7wsPObyR4",
"minimo": "3.0",
"pvp1": "250.0",
"pvp2": "300.0",
"pvp3": "200.0",
"pvp4": "200.0",
"pvp_manual": false,
"descripcion": "COMPUTADORA 11\"",
"nombre": "LAPTOP DELL SRS PREMIUM SOUND 3333",
"codigo": "00024",
"estado": "A",
"para_supereasy": false,
"para_comisariato": true,
"codigo_sap": "000000000040009212",
"pvp_comisariato": "8.20",
"categoria_comisariato_id": "wXrr2QS6Kd7Zn68U"
}
Para obtener el ID de la categoría, se debe hacer uso del servicio de consulta de categorías.
Parámetro | Tipo | Longitud | Descripción | Obligatorio |
---|---|---|---|---|
porcentaje_iva | SmallIntegerField | - | Valor de porcentaje de IVA que tiene el producto (0, 12, null). | No |
costo_maximo | decimal | 13 | Valor de costo máximo que puede tener el producto (7 int, 6 decimal)max.. | No |
descripcion_departamento | varchar | 40 | Descripción de departamento de Mi Comisariato. (Modulo adicional) | No |
imagen | obj | - | Objeto Foto relacionado al producto. | No |
minimo | decimal | 13 | Valor mínino de stock que debe estar disponible (7 int, 6 decimal)max. | Si |
para_comisariato | boolean | 1 | Indicador si el producto se usa para comisariato. (Modulo adicional) | No |
indicador_peso | varchar | 1 | Indicador de balanza (0:no es de balanza, 1:requiere peso, 2:por cantidad). (Modulo adicional) | No |
generacion_automatica | boolean | 1 | Variable de control para determina si el producto se utiliza en Orden de Compra. | No |
cuenta_costo_id | varchar | 16 | Identificador de la cuenta costo en el sistema. | No |
pvp2 | decimal | 13 | Precio de venta 2 (7 int, 6 decimal)max. | No |
tipo | varchar | 16 | Tipo de producto (PRO:Producto, SER:Servicio). *Por defecto PRO si no se envia en el json | No |
fecha_creacion | date | - | Fecha de creacion del producto. | No |
id | varchar | 16 | Identificador del producto en el sistema. | No |
tipo_producto | varchar | 3 | Subtipo del tipo Producto (SIM:simple) | No |
pvp3 | decimal | 13 | Precio de venta 3 (7 int, 6 decimal)max. | No |
codigo_proveedor | varchar | 200 | Código utilizado para catalogo de productos. | No |
pvp1 | decimal | 13 | Precio de venta 1 (7 int, 6 decimal)max. | Si |
id_integracion_proveedor | varchar | 16 | Identificador de la persona proveedor en el sistema. | No |
para_supereasy | boolean | 1 | Indicador si el producto se usa para supereasy. (Modulo adicional) | No |
nombre | varchar | 300 | Nombre del producto. | Si |
codigo_sap | varchar | 200 | Código de producto registrado desde SAP. (Modulo adicional) | No |
descripcion_jerarquia | varchar | 40 | Descripción de jerarquía de Mi Comisariato. (Modulo adicional) | No |
pvp_manual | boolean | 1 | Variable de control para determina si el producto utiliza precio manual. | Opcional |
codigo_barra | varchar | 50 | Secuencia que representa el codigo de barras de un producto. | No |
pvp_comisariato | decimal | 13 | precio de venta de Mi Comisariato (7 int, 6 decimal)max. (Modulo adicional) | No |
pvp4 | decimal | 13 | Precio de venta 4 (7 int, 6 decimal)max. | No |
cuenta_venta_id | varchar | 16 | Identificador de la cuenta contable asignada para la venta en el sistema. | No |
categoria_id | varchar | 16 | Identificador de la categoria en el sistema. | No |
peso_hasta | decimal | 5 | Valor de peso final para balanza. (Modulo adicional) | No |
pvp_peso | decimal | 13 | Valor de venta de peso para balanza (7 int, 6 decimal)max. (Modulo adicional) | No |
jerarquia | varchar | 10 | jerarquía del producto de en Mi Comisariato. (Modulo adicional) | No |
departamento | varchar | 3 | identificador de departamento de Mi Comisariato. (Modulo adicional) | No |
para_pos | boolean | 1 | Variable de control para determina si el producto se utiliza en POS. | No |
familia | varchar | 6 | identificador de familia de Mi Comisariato. (Modulo adicional) | No |
marca_id | varchar | 16 | Identificador de la marca en el sistema. | No |
marca_nombre | varchar | 50 | Nombre de la marca asociada al producto. | No |
estado | varchar | 1 | Estado del producto (A:activo, I:inactivo) | Si |
categoria_comisariato_id | varchar | 16 | Identificador de la categoria comisariato en el sistema. (Modulo adicional) | No |
cuenta_compra_id | varchar | 16 | Identificador de la cuenta contable asignada para la compra en el sistema. | No |
personalizado1 | varchar | 300 | Campo personalizado para información adicional del producto. | No |
peso_desde | decimal | 5 | Valor de peso inicial para balanza. (Modulo adicional) | No |
personalizado2 | varchar | 300 | Campo personalizado para información adicional del producto. | No |
codigo | varchar | 200 | Código único del producto. | Si |
nombre_producto_base | varchar | 300 | Nombre del producto padre. | No |
pvp_supereasy | decimal | 13 | Precio de venta de Super Easy (7 int, 6 decimal)max. (Modulo adicional)) | No |
variantes | obj | - | Objeto contenedor de las variantes del producto. | No |
producto_base_id | varchar | 16 | Identificador del producto en el sistema. | No |
detalle_variantes | obj | - | Objeto contenedor de los detalles de las variantes del producto. | No |
valor_id | varchar | 16 | Identificador del valor de la variante en el sistema. | No |
variante_id | varchar | 16 | Identificador de la variante en el sistema. | No |
lead_time | int | - | Tiempo estimado para recepción de producto desde su solicitud. | No |
cantidad_stock | varchar | 16 | Stock del producto. | No |
NOTA: El valor del campo categoria_comisariato_id
también se obtiene de la misma manera, y podrá enviarse en el requerimiento siempre que la categoría tenga el valor de true
en para_comisariato
. Los campos de codigo_sap
, para_supereasy
, para_comisariato
, pvp_supereasy
, pvp_comisariato
y categoria_comisariato_id
solo pueden modificarse por las respectivas empresas habilitadas. De lo contrario, el servicio retornará errores. Los campos de pvp
aunque no sean obligatorios son necesarios para el correcto funcionamiento del producto en el sistema, si no se desea enviar un pvp en especifico, enviar la opcion de pvp_manual
como true
.
Modificar un producto
Para modificar un producto, se utiliza la siguiente URL:
PATCH https://api.contifico.com/sistema/api/v1/producto/<ID>/
donde <ID>
es el identificador de integración del producto en el sistema.
Parámetro | Tipo | Longitud | Descripción |
---|---|---|---|
id | varchar | 16 | Identificador del producto en el sistema. |
La respuesta de este requerimiento es el objeto JSON del producto con las modificaciones realizadas.
A continuación, se enlistan los campos del producto que pueden ser enviados para modificarse (nótese que pueden enviarse uno o varios de estos campos en el mismo requerimiento):
Ejemplo:
{
"codigo_sap": "000000000040009212",
"para_supereasy": false,
"para_comisariato": true,
"pvp_supereasy": "8.10",
"pvp_comisariato": "8.20",
"categoria_comisariato_id": "wXrr2QS6Kd7Zn68U"
}
Parámetro | Tipo | Longitud | Descripción | Obligatorio |
---|---|---|---|---|
codigo_sap | varchar | 200 | Código de producto registrado desde SAP. (Modulo adicional) | No |
para_supereasy | boolean | 1 | Indicador si el producto se usa para supereasy. (Modulo adicional) | No |
para_comisariato | boolean | 1 | Indicador si el producto se usa para comisariato. (Modulo adicional) | No |
pvp_supereasy | decimal | 13 | Precio de venta de Super Easy. (Modulo adicional) (7 int, 6 decimal)max | No |
pvp_comisariato | decimal | 13 | precio de venta de Mi Comisariato. (Modulo adicional) (7 int, 6 decimal)max | No |
para_comisariato | boolean | 1 | Indicador si el producto se usa para comisariato. (Modulo adicional) | No |
categoria_comisariato_id | varchar | 16 | Identificador de la categoria comisariato en el sistema. (Modulo adicional) | No |
Para obtener el ID de la categoría a ser el valor de categoria_comisariato_id
, se debe hacer uso del servicio de consulta de categorías.
NOTA: El valor del campo categoria_comisariato_id
podrá enviarse en el requerimiento siempre que la categoría tenga el valor de true
en para_comisariato
. Los campos de codigo_sap
, para_supereasy
, para_comisariato
, pvp_supereasy
, pvp_comisariato
y categoria_comisariato_id
solo pueden modificarse por las respectivas empresas habilitadas. De lo contrario, el servicio retornará errores.
Obtener Stock de bodegas
Para obtener el stock de un producto por bodega se puede hacer uso del servicio:
GET https://api.contifico.com/sistema/api/v1/producto/<ID>/stock/
[
{
"bodega_nombre": "Bodega Principal",
"bodega_id": "BQ9pdBB26H52d8KE",
"cantidad": 5
},
{
"bodega_nombre": "Bodega Ventas",
"bodega_id": "OgDGe79XJc17bn2x",
"cantidad": 10
}
]
Esto nos devolverá un JSON listando el stock de las bodegas que pertenezcan a un punto de venta en Contífico.
Parámetro | Tipo | Longitud | Descripción |
---|---|---|---|
bodega_nombre | varchar | 200 | Nombre de la bodega. |
bodega_id | varchar | 16 | Identificador de la bodega en el sistema. |
cantidad | decimal | 13 | Cantidad actual del producto en la bodega (7 int, 6 decimal)max. |