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


1. Tipo de documento: delivery_points.json #
El fichero para la integración de albaranes debe llamarse delivery_points.json y debe estar codificado en UTF-8. Se dejará en el directorio raíz del SFTP de vuestra compañía (./company_X/).
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 json.
*La información recomendada está marcada en azul. No son obligatorios para la estructura del fichero, pero sí recomendable para el correcto funcionamiento de Polpoo.
3. Especificaciones de los campos #
name string – obligatorio
Nombre de la importación.
description string – obligatorio
Descripción de la importación.
dateSession datetime – obligatorio
Fecha en la que se genera el fichero.
deliveryPoints.id string – obligatorio
Identificador único del cliente.
deliveryPoints.name string – obligatorio
Nombre del cliente.
deliveryPoints.address string – obligatorio
Dirección del cliente.
deliveryPoints.deliveryZoneId string – obligatorio
Zona de reparto a la que pertenece el cliente.
deliveryPoints.deliveryWindow.start integer – recomendado
Hora en la que se puede empezar a repartir en un cliente (segundos).
deliveryPoints.deliveryWindow.end integer – recomendado
Hora en la que ya no se puede repartir en un cliente (segundos).
deliveryPoints.nif string – recomendado
Nif del cliente.
deliveryPoints.population string – recomendado
Población del cliente.
deliveryPoints.demand integer – recomendado
Carga que ocupa el pedido de un cliente (>=0).
deliveryPoints.volumetric decimal – recomendado
Volumen (metros cúbicos) que ocupa el pedido de un cliente.
deliveryPoints.postalCode string – recomendado
Código postal del cliente.
deliveryPoints.phoneNumber string – recomendado
Número de teléfono del cliente.
deliveryPoints.email string – recomendado
Correo electrónico del cliente.
deliveryPoints.deliveryType string – recomendado
Tipo de servicio («shipment» = entrega // «pickup» = recogida). En caso de no enviarse, se marcará como entrega.
deliveryPoints.orderNumber string – recomendado
Número del pedido referente al punto de entrega.
deliveryPoints.deliveryNotes string – recomendado
Observaciones acerca de la entrega del pedido.
deliveryPoints.coordinates.latitude string – recomendado
Latitud geográfica del punto de entrega.
deliveryPoints.coordinates.longitude string – recomendado
longitud geográfica del punto de entrega.
deliveryPoints.service.code string – obligatorio si se envía un servicio
Código de la especificación de servicio.
deliveryPoints.service.name string – obligatorio si se envía un servicio
Nombre de la especificación de servicio.
deliveryPoints.useHours boolean
Si es true, se utiliza el horario especificado en el fichero; si es false, prevalece la configuración de Polpoo.
deliveryPoints.useAddress boolean
Si es true, se usa la dirección especificado en el fichero; si es false, prevalece la configuración de Polpoo.
deliveryPoints.particular integer
En caso de ser 1, este cliente no se guardará en Polpoo y tomará la información del JSON. En caso de ser 0, se tratará como un cliente normal.
deliveryPoints.box integer
Número de cajas del pedido de un cliente.
deliveryPoints.serviceTime integer
Tiempo estimado para realizar la descarga en el cliente (segundos).
deliveryPoints.idERP string
Identificador único del vehículo en el ERP.
*Sólo para la automatización completa de Polpoo.
deliveryPoints.leadTime integer
Tiempo de entrega antes de la hora de apertura del cliente (segundos).
deliveryPoints.sendDeliveryNoteMail boolean
Si es true, se mandará el albarán por correo electrónico.
deliveryPoints.deliveryIdentifier string
Identificador de la entrega para asignación correcta del albarán. Vinculación con el mismo campo en albaranes.
deliveryPoints.allowDelayTime boolean
Si es true, se activará el tiempo de retraso para este cliente.
*Obligatorio tener activada esta configuración en Polpoo.
deliveryPoints.delayType string
Nombre del tiempo de retraso.
*Obligatorio tener activada esta configuración en Polpoo.
deliveryPoints.warehouseCode string
Código del almacén de destino.
*Obligatorio tener contratado el módulo de almacenes.
deliveryPoints.deliveryZoneSpecification.code string – obligatorio si se envía una esp. de ruta
Código de la especificación de ruta.
deliveryPoints.deliveryZoneSpecification.name string – obligatorio si se envía una esp. de ruta
Nombre de la especificación de ruta.
deliveryPoints.activateDeliverySchedule boolean
Si es true, se activará la especificación horarias por días y franjas del cliente.
deliveryPoints.deliveryScheduleDay.isActive boolean
Si es true, este día estará abierto. Si se manda false, este día estará cerrado.
deliveryPoints.deliveryScheduleDay.intDay integer
Día de la semana (1 = Lunes, 2 = Martes….).
deliveryPoints.deliveryScheduleDay.fixedDelivery boolean
Si es true, este día tendrá entrega fija y se incluirá en al ruta aunque no se envíe por integración.
deliveryPoints.deliveryScheduleDay.hours.timeStart integer
Hora de inicio de la franja horaria de entrega.
deliveryPoints.deliveryScheduleDay.hours.timeEnd integer
Hora de finalización de la franja horaria de entrega.
asignationDate datetime
Fecha de la asignación automática.
*Sólo para la automatización completa de Polpoo.
vehicle.idERP string
Identificador único del vehículo en el ERP.
*Sólo para la automatización completa de Polpoo.
vehicle.userERP string
Identificador único del usuario en el ERP.
*Sólo para la automatización completa de evaluación.
vehicle.address string
Dirección de salida del chófer, indicando el punto de inicio de su ruta.
vehicle.addressEnd string
Dirección de llegada del chófer, indicando el punto final de su ruta.
4. Ejemplos y descargables #
{
"name": "Lunes",
"description": "Rutas del lunes",
"dateSession": "2020-11-9",
"deliveryPoints": [
{
"id": "119029",
"name": "Empresa SL",
"address": "Pg. Sant Joan 6, 08009, Barcelona",
"deliveryZoneId": "BCN-02",
"deliveryWindow": {
"start": 17700,
"end": 28000
},
"population": "Barcelona",
"demand": 12,
"volumetric": 0.89,
"postalCode": "08009",
"nif": "F62789012",
"phoneNumber": "34666555666",
"email": "prueba@empr.com",
"deliveryType": "shipment",
"orderNumber": "P-4234",
"coordinates":{
"latitude":41.3250913,
"longitude":2.0148042
},
"deliveryNotes": "Pedir llaves"
}
]
}
5. ¿Cómo recibo la información en Polpoo? #
Una vez cargado satisfactoriamente el fichero delivery_points.json en el SFTP, nuestra plataforma lo absorbe automáticamente añadiendo las nuevas rutas y los clientes que las forman en nuestra base de datos.
Para comprobar la carga correcta del contenido, nos dirigimos al menú Planificador. Una vez ahí, hay que clicar en el menú + Rutas -> Entregas planificadas.

Se desplegará el listado de las entregas planificadas. En caso de haberse llevado a cabo correctamente la integración de la ruta, deberá aparecer en la tabla un nuevo registro con el nombre que se le ha dado en el fichero .json. Cuando encontramos la ruta deseada, se selecciona y se clica en el botón Seleccionar para cargar en el planificador de rutas.
