Otros módulos
La integración de clientes requiere de una conexión particular de cada cliente a nuestro servidor SFTP.
Esta conexión se la creará uno de nuestros propios técnicos y se enviará a la cuenta de correo electrónico que se introdujo en el momento del registro de la empresa en Polpoo. Como ERP, deberéis pedir a la empresa que os otorgue las siguientes credenciales:
Usuario: Nombre de usuario.
Contraseña: Contraseña del usuario.
Servidor: Dirección a la que conectarse.
Puerto: Puerto por el cual se conectará el cliente a nuestro servidor.
También recibiréis la información del directorio de la empresa donde deberéis realizar las integraciones correspondientes.
En cuanto a la configuración, la empresa deberá introducir un correo electrónico de soporte para las integraciones para que, en caso de haber algún tipo de error en alguno de los procesos, el ERP pueda observar cuál ha sido la incidencia. Esto es configurable desde la Configuración de la empresa, en el apartado Integraciones
* Hay dos formas de integrar los productos en Polpoo. Es importante conocer las dos formas y estudiarlas antes de empezar cualquier integración de productos. Ambas formas se detallan a continuación.
**El contenido de los ficheros de ambos tipos de integración será el mismo, por lo tanto, sirve la misma especificación de campos para ambos métodos.
El fichero para la integración de productos products.json se utilizará para la carga inicial de productos, pudiendo enviar todo tu catálogo en un sólo fichero para hacer una carga masiva. Para llevar a cabo este tipo de integración, deberá ponerse en contacto con uno de nuestros técnicos, ya que debe realizarse de forma manual para controlar en todo momento la subida.
El fichero para la integración de productos completo debe llamarse products.json y debe estar codificado en UTF-8. Se dejará en el directorio ./companyX/products, donde la X es el número de la compañía que se os ha enviado vía mail. Los campos que lo conforman son los detallados a continuación.
En caso de cargar un fichero en el SFTP con el mismo nombre que un fichero ya existente, este se sobrescribirá.
Es importante que la información de los campos no contenga comillas dobles (p.e: "Frutería "El sol""), ya que los ficheros .json trabajan con comillas dobles para delimitar los campos y la información. En caso de tener algún dato de este estilo, la integración no se realizará correctamente. Cualquier otro símbolo especial es aceptado.
Se definen los campos que pertenecen a este fichero de la siguiente manera:
* La información obligatoria está marcada en rojo. En caso de que no se tenga la información de un campo opcional, no se tiene que añadir la etiqueta en el fichero .json.
El fichero para la integración de productos productsShort_X.json se utilizará para la carga de actualizaciones o de creación de nuevos productos del día a día, pudiendo enviar tantos ficheros como se quiera. El nombre del fichero deberá ser productsShort_X.json, donde X es libre. Este fichero deberá tener un máximo de 100 productos y se ejecutará cada 5 minutos.
El fichero para la integración de productos completo debe llamarse productsShort_X.json y debe estar codificado en UTF-8. Se dejará en el directorio ./companyX/products, donde la X es el número de la compañía que se os ha enviado vía mail. Los campos que lo conforman son los detallados a continuación.
En caso de cargar un fichero en el SFTP con el mismo nombre que un fichero ya existente, este se sobrescribirá.
Es importante que la información de los campos no contenga comillas dobles (p.e: "Frutería "El sol""), ya que los ficheros .json trabajan con comillas dobles para delimitar los campos y la información. En caso de tener algún dato de este estilo, la integración no se realizará correctamente. Cualquier otro símbolo especial es aceptado.
Se definen los campos que pertenecen a este fichero de la siguiente manera:
* La información obligatoria está marcada en rojo. En caso de que no se tenga la información de un campo opcional, no se tiene que añadir la etiqueta en el fichero .json.
code string - obligatorio
Código del producto.
name string – obligatorio
Nombre del producto.
description string
Descripción del producto.
origin string
Origen del producto.
estimatedWeightPerUnit float
Peso medio por unidad (KG).
freeField string
Campo de información libre.
isActive boolean
Si el producto está activo o no. Por defecto estará activo.
showInApp boolean
Si el producto es visible desde la aplicación o no.
promotion boolean
Si el producto tiene una promoción o no.
startPromotionDate datetime – obligatorio si promotion = true
Fecha de inicio de la promoción.
endPromotionDate datetime – obligatorio si promotion es true
Fecha de finalización de la promoción.
highlight boolean
Si el producto está destacado en la aplicación o no.
valoration float
La valoración del producto. Indica su posición en la app.
category.code string – obligatorio
Código de la categoría del producto.
category.name string – obligatorio
Nombre de la categoría del producto.
category.isActive boolean
Si la categoría está activa o no. Por defecto estará activa.
category.images base64
Imagen de la categoría.
category.subCategory.code string
Código de la subcategoría del producto.
category.subCategory.name string
Nombre de la subcategoría del producto.
category.subCategory.isActive boolean
Si la subcategoría está activa o no. Por defecto estará activa.
category.subCategory.filters.code string
Código del filtro del producto.
category.subCategory.filters.name string
Nombre del filtro del producto.
category.subCategory.filters.isActive boolean
Si el filtro está activo o no. Por defecto estará activo.
images base64
Imagen/es del producto.
productPrices.measure.code string – obligatorio
Código de la medida del producto.
productPrice.measure.name string – obligatorio
Nombre de la medida del producto.
productPrice.measure.activateEquivalentAmount boolean
Activar si la medida equivale a una cantidad tangible del producto.
productPrice.measure.equivalentAmount boolean
Cantidad equivalente entre la unidad y el formato en cuestión.
productPrices.price float – obligatorio
Precio por medida del producto.
productPrices.quantity float – obligatorio
Cantidad por medida del producto.
productPrices.equivalencePercent float
Porcentaje del recargo de equivalencia del producto.
productPrices.taxPercent float
Impuesto sobre el Valor Añadido (IVA) del producto.
productPrices.isActive boolean
Si el formato está activo o no. Por defecto estará activo.
productPrices.lotCode string
Lote del producto referente a su formato.
{
"products": [
{
"code": "034",
"name": "Manzana Pink Pearl",
"description": "Buena manzana",
"origin": "Valencia",
"estimatedWeightPerUnit": 0.67,
"freeField": "Buena manzana.",
"isActive": true,
"showInApp": true,
"promotion": true,
"startPromotionDate": "2021-01-20",
"endPromotionDate": "2021-01-25",
"highlight": true,
"valoration": 1.5,
"category": {
"code": "03",
"name": "Fruta",
"isActive": true,
"images": [
"data:image/jpeg;base64,/9j/4AAQSkZJRg"
],
"subCategory": {
"code": "08",
"name": "Fresca",
"isActive": true,
"filters": [{
"code": "02",
"name": "Manzana",
"isActive": false
}]
}
},
"images": [
"data:image/jpeg;base64,/9j/4AAQSkZJRg"
],
"productPrices": [{
"measure": {
"code": "kg",
"name": "KG",
"activateEquivalentAmount": true,
"equivalentAmount": 6
},
"price": 1.21,
"quantity": 12,
"equivalencePercent": 0,
"taxPercent": 4,
"isActive": true,
"lotCode": "232434"
}]
}
]
}
Una vez cargado satisfactoriamente el fichero products.json o el productsShort_X.json en el SFTP, nuestra plataforma lo absorbe automáticamente añadiendo los nuevos productos en nuestra base de datos y/o modificando los productos ya existentes con la nueva información.
Para comprobar la carga correcta del contenido, nos dirigimos al menú Productos. Una vez ahí, deberán aparecer en la tabla los productos importados.
Esta integración, automáticamente cargará también las categorías, subcategorías, filtros y formatos de producto que hayan en el fichero products.json. De igual forma que los productos, se puede encontrar toda esta nueva información en sus correspondientes apartados.