Integrar pedidos

Otros

Integra tus pedidos

La integración de facturas 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 integracionespara 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

El fichero para la integración de pedidos es un fichero de recogida de datos, es decir, los pedidos que hayan llegado a Polpoo podrán recogerse en forma de fichero para el tratamiento de la información.

Hay dos posibilidades de tratar este el fichero de pedidos:

Si se tiene configurado el envío de pedidos una vez al día a una concreta, el fichero de pedidos contendrá todos los pedidos que hayan entrado hasta esa hora y el fichero se llamará orders.json en concreto.

Si se tiene configurado el envío de pedidos por intervalo tiempo (cada X horas o minutos) el fichero de pedidos contendrá todos los pedidos que hayan entrado en ese intervalo y el fichero se llamará orders_companyX_YYYY.json, donde X es el número de compañía y YYYY es la fecha y hora de creación del fichero.

En ambos casos estará codificado en UTF-8.

Este documento se podrá encontrar en el directorio (./companyX/orders), donde X es el número de la compañía que se ha enviado vía mail.

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.

2. Especificaciones de los campos

id string

Identificador del pedido.

code string

Código del pedido.

orderDate datetime

Fecha de entrega del pedido.

observations string

Observaciones del pedido.

fromApp boolean

Si el pedido proviene de la app o no.

statusOrderId integer

Estado en el que se encuentra el pedido.

deliveryPointId integer

Identificador del cliente.

name string

Nombre del cliente.

address string

Dirección del cliente.

phoneNumber string

Número de teléfono del cliente.

commercial string

Nombre del comercial que ha pasado el pedido.

orderProducts.quantity float

Cantidad del producto.

orderProducts.price float

Precio del producto.

orderProducts.taxPercent integer

Impuesto sobre el Valor Añadido (IVA) del producto.

orderProducts.equivalencePercent float

Porcentaje del recargo de equivalencia del producto.

orderProducts.tax float

Precio del producto con el IVA.

orderProducts.equivalence float

Precio del producto con el recargo de equivalencia.

orderProducts.subTotal float

Precio total del producto sin IVA y/o recargo de equivalencia.

orderProducts.total float

Precio total del producto con IVA y/o recargo de equivalencia.

orderProducts.product.id integer

Identificador del producto.

orderProducts.product.code string

Código del producto.

orderProducts.product.name string

Nombre del producto.

orderProducts.measure.id integer

Identificador de la medida del producto.

orderProducts.measure.name string

Nombre de la medida del producto.

status.id integer

Identificador del estado del pedido.

status.name string

Nombre del estado del pedido.

deliveryPoint.id string 
Identificador único del cliente.

deliveryPoint.name string 
Nombre del cliente.

deliveryPoint.nif string 
NIF del cliente.

deliveryPoint.address string 
Dirección principal de envío del cliente.

deliveryPoint.deliveryWindowStart integer 
Hora en la que se puede empezar a repartir en un cliente (segundos).

deliveryPoint.deliveryWindowEnd integer 
Hora hasta la que se puede ir a repartir en un cliente (segundos).

deliveryPoint.population string 
Población del cliente.

deliveryPoint.postalCode string 
Código postal del cliente.

deliveryPoint.province string 
Provincia de la dirección del cliente.

deliveryPoint.phoneNumber string 
Número de teléfono del cliente.

deliveryPoint.email string 
Correo electrónico del cliente.

deliveryPoint.useBillingAddress boolean
Si la dirección de facturación es la misma que la de entrega.

deliveryPoint.billingAddress string 
Dirección de facturación del cliente.

3. Ejemplos

{
    "orders": [
    {
        "id": "119029",
        "code": "45466770",
        "orderDate": "2020-01-20",
        "observations": "Observaciones",
        "fromApp": true,
        "statusOrderId": 1,
        "deliveryPointId": 21,
        "name": "Empresa Prueba SL",
        "address": "PG. Sant Joan 6, 08009, Barcelona",
        "phoneNumber": "34666555666",
        "commercial": "Juan Valdes",
        "orderProducts": [{
            "quantity": 7,
            "price": 0.89,
            "taxPercent": 21,
            "equivalencePercent": 5.2,
            "tax": 1.07,
            "equivalence": 0.94,
            "subTotal": 6.23,
            "total": 7.49,
            "product": {
                "id": "12",
                "code": "PX-34",
                "name": "Manzana Pink Pearl"
            },

            "measure": {
                "id": "4",
                "name": "KG"
            },

        }],

        "status": {
            "id": "1",
            "name": "En proceso"
        },
        "deliveryPoint": {
            "id": "1000",
            "name": "Frutería Francisco",
            "nif": "12345678A",
            "address": "Av. Generalitat nº9, Barcelona",
            "deliveryWindowStart": 32400,
            "deliveryWindowEnd": 46800,
            "population": "Barcelona",
            "postalCode": "08001",
            "province": "Barcelona",
            "phoneNumber": "666555777",
            "email": "fruteria@gmail.com",
            "useBillingAddress": true,
            "billingAddress": "Av. Generalitat nº9, Barcelona",
            "status_delivery_point": {
                 "id": "1",
                 "name": "Cliente"

             }
        }

    }
    ]
}

4. ¿Cómo envío la información al ERP?

Para enviar la información de los pedidos desde Polpoo al SFTP iremos al menú Pedidos.

Una vez dentro del apartado de pedidos, clicaremos en el botón Enviar pedidos para realizar el envío. Aparecerá una venta para confirmar el envío del fichero de pedidos al SFTP.

Una vez aceptado, ya tendremos el fichero json de pedidos en el SFTP.