Modelos Documentos

Encuentra toda la informacion que necesitas para poder integrarte en función a tus necesidades con nuestro software.
  • Punto de Entrega
  • Punto de Entrega JSON
  • Albaranes
  • Albaranes JSON
  • Productos
  • Productos JSON
  • Órdenes
  • Órdenes JSON
1. Punto de entrega

Un punto de entrega, en el contexto de la aplicación OptimManage, se define como una localización con un identificador único en la que hay que realizar la entrega de uno o más pedidos.

2. Punto de entrega – Campos

Todos los formatos de archivo que veremos más delante deberán tener la misma información sobre los puntos de entrega de cada ruta. Los campos son los siguientes:

• deliveryPoints

• id
• address
• coordinates

• latitude
• longitude

• name
• deliveyZoneId
• deliveryWindow

• start
• end

• demand
• serviceTime
• requiredSignature
• email
• phone
• leadTime
• allowedDelayTime
• agentUserMail

2.1. Punto de entrega – Especificación de campos

A continuación se especifica para cada uno de los campos descritos en el anterior apartado su definición y sus restricciones. Los campos marcados con el símbolo indicarán la obligatoriedad del mismo. Por el contrario, los campos que no lleven dicho símbolo serán tratados como información opcional. En caso de tener dependencia entre campos, se indicará en cada una de las especificaciones; así como los campos a los que se debe esa dependencia (obligatoriedad).

1. Identificador del punto de entrega [id] ():

• Identificador: id
• Descripción: Identifica el punto de entrega. No pueden existir dos puntos de entrega con el mismo identificador en el fichero de importación.• Restricciones: Cadena de caracteres (string). Valor máximo: 100 caracteres.
Ejemplos:
• dp23767
• 738
• bcn_32

2. Dirección de entrega [address] (✱ ver campo obligatoriedad):

• Identificador: address
• Descripción: Dirección del punto de entrega. El valor de este campo se usa para obtener las coordenadas de la dirección mediante Google Maps. Debería incluir la dirección (junto al tipo de calle), la ciudad y el código postal (en ese orden). Algunos de estos campos se usarán únicamente para localizar el punto de entrega en el mapa (población y código postal)
• Restricciones: Cadena de caracteres (string). Valor máximo: 200 caracteres.
• Obligatoriedad: Este campo será obligatorio si se dejan en blanco los campos de coordinates.
Ejemplos:
• Calle Pintor Fortuny 21 08840 Viladecans
• Calle Londres 34 08029 Barcelona

3. Coordenadas: Latitud [coordinates.latitude] (✱ ver campo obligatoriedad):

• Identificador: coordinates.latitude
• Descripción: Coordenada de latitud del punto de entrega. Si esta campo se especifica, también se debe especificar el campo coordinates.longitude. En caso de omitir el campo y dejarlo en blanco, este campo será rellenado con las coordenadas de latitud de la dirección marcada en el campo address.
• Restricciones: Número decimal (number). Valor: Entre -90 y 90 incluidos. El  separador decimal será un punto (43.3242).
Obligatoriedad: Este campo será obligatorio si se deja en blanco el campo de address. Este campo será obligatorio si se rellena el campo coordinates.longitude.
Ejemplos:
• 40.321
• -88.123213
• 1.12

4. Coordenadas: Longitud [coordinates.longitude] (✱ ver campo obligatoriedad):

• Identificador: coordinates.longitude
• Descripción: Coordenada de longitud del punto de entrega. Si esta campo se especifica, también se debe especificar el campo coordinates.latitude. En caso de omitir el campo y dejarlo en blanco, este campo será rellenado con las  coordenadas de longitud de la dirección marcada en el campo address.
• Restricciones: Número decimal (float). Valor: Entre -180 y 180 incluidos. El separador decimal será un punto (43.3242).
Obligatoriedad: Este campo será obligatorio si se deja en blanco el campo de address. Este campo
será obligatorio si se rellena el campo coordinates.latitude.
Ejemplos:
• -45.361
• -88.123213
• 156.654

5. Nombre del punto de entrega [name] ():

• Identificador: name
• Descripción: Nombre del punto de entrega (cliente) que aparecerá en la aplicación. No hace falta que sea único, es decir, puede haber dos puntos de entrega con el mismo nombre pero con diferente dirección o localidad.
• Restricciones: Cadena de caracteres (string). Valor máximo: 100 caracteres.
Ejemplos:
• Dispoll S.A.
• BooleanWork
• Punto de entrega B

6. Identificador de la zona de reparto [deliveryZoneId] ():

• Identificador: deliveryZoneId
• Descripción: Zona de reparto a la que pertenece el punto de entrega (cliente). Una zona de reparto agrupa un conjunto de puntos de entrega. Un mismo vehículo no puede realizar entregas en zonas de reparto diferentes, pero sí pueden realizar entregas en una misma zona de reparto diferentes vehículos.
• Restricciones: Cadena de caracteres (string). Valor máximo: 30 caracteres.
Ejemplos:
• BCN-1
• GIR
• MADRID002

7. Horario de entrega: Inicio [deliveryWindow.start]:

• Identificador: deliveryWindow.start
• Descripción: Especifica la hora del día en la que se puede empezar a realizar el reparto en el punto de entrega. En caso de no existir hora de inicio, se debe especificar con un valor negativo o dejando el campo vacío que indicará que se puede realizar la entrega del producto en el punto de entrega en cualquier momento. El campo se debe indicar en segundos para marcar la hora inicial siendo su valor mínimo 0 (00:00:00) y 86.399 su valor máximo (23:59:59). La tabla de equivalencias (algunos ejemplos) entre segundos y horas es la siguiente:

• Restricciones: Número entero (int). Valor mínimo: 0. Valor máximo: 86.399. El número no debe
contener separadores en los millares.
Ejemplos:
• 37800
• 46800
• -1

8. Horario de entrega: Final [deliveryWindow.end]:

• Identificador: deliveryWindow.end
• Descripción: Especifica la hora del día en la que ya no se puede realizar el reparto en el punto de entrega. En caso de no existir hora de fin de reparto, se debe especificar con un valor negativo o dejando el campo vacío que indicará que se puede realizar la entrega del producto en el punto de entrega en cualquier momento. El campo se debe indicar en segundos para marcar la hora final
siendo su valor mínimo 0 (00:00:00) y 86.399 su valor máximo (23:59:59). La tabla de equivalencias (algunos ejemplos) entre segundos y horas es la siguiente:

• Restricciones: Número entero (int). Valor mínimo: 0. Valor máximo: 86.399. El número no debe contener separadores en los millares.
Ejemplos:
• 75600
• 45000
• 36900

9. Carga total [demand] ():

• Identificador: demand
• Descripción: Cantidad de carga (cajas o unidades) que ocupan todos los pedidos de un punto de entrega en el vehículo de transporte. Su valor cobra sentido en relación a la capacidad que se defina en los vehículos de la empresa. Por ejemplo, si una ruta tiene 3 puntos de entrega con demand=30, demand= 320 y demand=16, el vehículo que realizará la ruta debe tener como mínimo una capacidad mayor que 366 (30 + 320 +16 = 366). Si se marca el valor como 0, no se tendrá en cuenta este campo.
• Restricciones: Número entero (int). Valor mínimo: 0. Valor máximo: <= capacidad del vehículo.
Ejemplos:
• 350
• 720
• 20

10. Tiempo estimado del servicio [serviceTime]:

• Identificador: serviceTime
• Descripción: Tiempo estimado para realizar la descarga de los productos en un punto de entrega.
Contabiliza la suma del tiempo que pasa entre que se estaciona el vehículo y se reanuda la ruta una vez realizada la entrega. Este valor se debe indicar en segundos. Si se marca el valor como 0, no se tendrá en cuenta este campo. La tabla de equivalencias (algunos ejemplos) entre segundos y minutos es la siguiente:

• Restricciones: Número entero (int). Valor mínimo: 0. Valor máximo: 86.399.
Ejemplos:
• 300
• 922
• 1902

11. Firma [requiredSignature]:

• Identificador: requiredSignature
• Descripción: Indica si aparecerá o no el campo de firma en la aplicación. En caso de marcador como True, aparecerá el campo firma para poder firmar directamente desde la aplicación. En caso contrario, False, no aparecerá dicho campo en la aplicación. Dejar este campo vacío equivaldrá al valor False.
• Restricciones: Booleano (boolean).
Ejemplos:
• True
• False

12. Correo electrónico [email]:

• Identificador: email
• Descripción: Correo electrónico del punto de entrega. En caso de tener un valor correcto, será la dirección donde se enviarán los albaranes, las firmas o los datos del chófer que está realizando la ruta, entre otros. En caso de dejar este campo vacío, no se tendrá en cuenta ninguna dirección de correo electrónico para ese punto de entrega.
• Restricciones: Cadena de caracteres (string). Valor máximo: 30 caracteres. Deberá tener el formato
correcto de correo electrónico (con los símbolos @ y .).
Ejemplos:
• prueba_12@gmail.com
• fruteriainvent@frutas.es
• restauranteIT@grupores.es

13. Número de teléfono [phone]:

• Identificador: phone
• Descripción: Número de teléfono referente al punto de entrega. Este número estará presente en la aplicación que llevaran los chóferes para poder ponerse en contacto en cualquier momento con el responsable del punto de entrega de dicho teléfono.
• Restricciones: Cadena de caracteres (string). Valor máximo: 30 caracteres. Deberá tener el formato correcto de teléfono (únicamente símbolos numéricos).
Ejemplos:
• 608123481
• 658124390
• 936581213

14. Tiempo de entrega antes de la apertura [leadTime]:

• Identificador: leadTime
• Descripción: Tiempo estimado en el qué se puede realizar la descarga de productos en el punto de entrega antes de la hora de apertura de dicho punto de entrega.
• Restricciones: Número entero (int). Valor mínimo: 0. Valor máximo: 86.399.
Ejemplos:
• 300
• 922
• 1902

15. Tiempo de retardo permitido [allowedDelayTime]:

• Identificador: allowedDelayTime
• Descripción: Tiempo estimado en el qué se puede realizar la descarga de productos en el punto de
entrega después de la hora de cierre de dicho punto de entrega.
• Restricciones: Número entero (int). Valor mínimo: 0. Valor máximo: 86.399.
Ejemplos:
• 300
• 922
• 1902

16. Correo electrónico del Comercial [agentUserMail]:

• Identificador: agentUserMail
• Descripción: El correo electrónico del comercial que lleva el punto de entrega. En caso de dejar este campo vacio, no se tendrá en cuenta niguna dirección de correo electrónico para ese punto de entrega. Este campo sirve para liegar un punto de entrega con su agente comercial dentro de la plataforma.
• Restricciones: Cadena de caracteres (string). Valor máximo: 30 caracteres. Deberá tener el formato correcto de correo electrónico (con los símbolos @ y .).
Ejemplos:
• prueba_12@gmail.com

Ejemplo JSON – Punto de entrega

{
 "deliveryPoints": [
 {
 "id": "ay_bcn",
 "name": "Ajuntament de Barcelona",
 "address": "Plaza Sant Jaume, 1, 08002 Barcelona",
 "coordinates": {
 "latitude": 41.382574,
 "longitude": 2.17715
 },
 "demand": 40,
 "serviceTime": 50,
 "deliveryZoneId": “bcn",
 "deliveryWindow": {
 "start": 39233
 },
 “email": “ajuntament@bcn.com”,
 "phone": "666777888"
 },
 {
 "id": "sagrada_familia",
 "name": "La Sagrada Família",
 "deliveryZoneId": "bcn",
 "address": "Carrer de Mallorca, 401, 08013 Barcelona",
 "serviceTime": 277
 },
 {
 "id": "castell_montjuic",
 "deliveryZoneId": "bcn",
 "address": "Ctra. de Montjuïc, 66, 08038 Barcelona"
 }
 ]
}
1. Albaranes

Un albaran, en el contexto de la aplicación OptimManage, se define como un objeto con un identificador único que se reparte para cada cliente de cada ruta.

Cada cliente tendrá un listado de todos y cada uno de los productos (incluyendo cantidades) que tenga que recibir en el pedido.

Cuando se cargue el fichero con los productos se deberá indicar a qué ruta pertenece esa lista de productos. Esta ruta se indicará en las sección de correspondiente en el panel de control de la aplicación.

2. Producto – Campos

Todos los formatos de archivo que veremos más delante deberán tener la misma información sobre los productos de cada punto de entrega. Los campos son los siguientes:

• deliveryPoints

• id
• deliveryNoteCode
• products

• code
• name
• quantity
• price
• measureQuantity
• taxPercent
• equivalencePercent
• lotCode

2.1. Producto – Especificación de los campos

A continuación se especifica para cada uno de los campos descritos en el anterior apartado su definición y sus restricciones. Los campos marcados con el símbolo indicarán la obligatoriedad del mismo. Por el contrario, los campos que no lleven dicho símbolo serán tratados como información opcional. En caso de tener dependencia entre campos, se indicará en cada una de las especificaciones; así como los campos a los que se debe esa dependencia (obligatoriedad).

1. Identificador del punto de entrega [id] ():

• Identificador: id
• Descripción: Identifica el punto de entrega. No pueden existir dos puntos de entrega con el mismo identificador en el fichero de importación.
• Restricciones: Cadena de caracteres (string). Valor máximo: 100 caracteres.

Ejemplos:
• dp23767
• 738
• bcn_32

2. Código del albarán [deliveryNoteCode] ():

• Identificador: deliveryNoteCode
• Descripción: Este campo hace referencia al número o código de albarán que será firmado por la persona responsable del punto de entrega en el momento de la entrega de los productos.
• Restricciones: Cadena de caracteres (string). Valor máximo: 30 caracteres.
Ejemplos:
• 45466770
• 12398
• 8743726

3. Productos: Código del producto [products.code] ():

• Identificador: products.code
• Descripción: Código alfanumérico del producto que se está repartiendo. Este campo será único para cada uno de los productos del que se conforma el reparto de un punto de entrega. El valor del campo podrá repetirse en diferentes puntos de entrega o en el mismo punto de entrega en cualquier otro grupo de productos.
• Restricciones: Cadena de caracteres (string). Valor máximo: 100 caracteres.
Ejemplos:
• X8912PPO9
• 0032
• FRU-003A

4. Productos: Nombre del producto [products.name] ():

• Identificador: products.name
• Descripción: Nombre del producto referente el código del producto. No hace falta que sea único, es decir, puede haber dos productos con el mismo nombre pero con diferente código de producto (products.code).
• Restricciones: Cadena de caracteres (string). Valor máximo: 50 caracteres.
Ejemplos:
• Naranja sanguina
• Bolígrafo BIC Azul
• Pechuga de pollo

5. Productos: Cantidad del producto [products.quantity] ():

• Identificador: products.quantity
• Descripción: Cantidad en valor entero del producto referente al código del producto. Este campo será usado para calcular el montante final que aparecerá en el albarán del punto de entrega si el campo measureQuantity se deja en blanco.
• Restricciones: Número decimal (float). Valor mínimo: >0.

Ejemplos:
• 10
• 1
• 125

6. Productos: Precio del producto [products.price] ():

• Identificador: products.price
• Descripción: Valor decimal que marca el precio del producto por unidad. Esta valor será introducido en euros (€). Este campo será usado para calcular el montante final que aparecerá en el albarán del punto de entrega.
• Restricciones: Número decimal (float). Número máximo de decimales: 2. El separador decimal será un punto (0.96).
Ejemplos:
• 0.18
• 2
• 16.02

7. Productos: Cantidad del producto [products.measureQuantity]:

• Identificador: products.measureQuantity
• Descripción: Este campo indicará el número de unidades de un producto por bandeja de dicho producto. Este campo será usado para calcular el montante final que aparecerá en el albarán del punto de entrega.
• Restricciones: Número decimal (float). Valor mínimo: >0.
Ejemplos:
• 2
• 1.5
• 5

8. Productos: Porcentaje del Impuesto sobre el Valor Añadido [products.taxPercent] (✱):

• Identificador: products.taxPercent
• Descripción: Indica el porcentaje del Impuesto sobre el Valor Añadido (IVA) de cada uno de los productos de un pedido. Este campo será usado para calcular el montante final que aparecerá en el albarán del punto de entrega.
• Restricciones: Número entero (int). Valor máximo: 100.
Ejemplos:
• 10
• 21
• 36

9. Productos: Recargo de equivalencia [products.equivalencePercent]:

• Identificador: products.equivalencePercent
• Descripción: Indica el porcentaje del recargo de equivalencia de cada uno de los productos de un pedido. Este campo será usado para calcular el montante final que aparecerá en el albarán del punto de entrega.
• Restricciones: Número decimal (float). Valor máximo: 10. El separador decimal será un punto (0.96).
Ejemplos:

• 5.2
• 1.4
• 0.5

10.Productos: Código del lote [products.lotCode]:

• Identificador: products.lotCode
• Descripción: Indica el código del lote al que pertenece el producto.
• Restricciones: Cadena de caracteres (string). Valor máximo: 100 caracteres.
Ejemplos:
• BB100
• 4324XBJA
• 7865

Ejemplo JSON – Albaran

{
 "deliveryPoints": [
 {
 "id": "GIR-021",
 "deliveryNoteCode": "J432902",
 "products": {
 "code": "PL321319",
 "name": "Ibuprofeno 400 mg",
 "quantity": 200,
 "price": 1.5,
 "measureQuantity": 1,
 "taxPercent": 16,
 },
 {
 "code": "PK002134",
 "name": "Acetaminofén 650 mg",
 "quantity": 50,
 "price": 2,
 "measureQuantity": 1,
 "taxPercent": 16,
 },
 {
 "code": "WT3221",
 "name": "Loratidina 100 mg",
 "quantity": 20,
 "price": 0.72,
 "measureQuantity": 1,
 "taxPercent": 16,
 "lotCode": "BHF-324"
 }
 }
 ]
}
.
1. Producto

Un producto, en el contexto de la aplicación OptimManage, se define como un objeto con un identificador único que la empresa ofrece a sus clientes. Cada empresa tendrá un listado de todos y cada uno de los productos, tanto los que tiene a la venta en el momento cómo los que no tiene disponibles.

2. Producto – Campos

Todos los formatos de archivo que veremos más delante deberán tener la misma información sobre los productos. Los campos son los siguientes:

• products

• code
• name
• description
• showInApp
• promotion
• startPromotionDate
• endPromotionDate
• category

• code
• name

• images
• productPrices

• measure

• code
• name

• price
• quantity
• equivalencePercent
• taxPercent

2.1. Producto

Especificación de los campos A continuación se especifica para cada uno de los campos descritos en el anterior apartado su definición y sus restricciones. Los campos marcados con el símbolo indicarán la obligatoriedad del mismo. Por el contrario, los campos que no lleven dicho símbolo serán tratados como información opcional. En caso de tener dependencia entre campos, se indicará en cada una de las especificaciones; así como los campos a los que se debe esa dependencia (obligatoriedad).

1. Código del producto [code] ():

•Identificador: code

•Descripción: Código para identificar el producto.No pueden existir dos productos con el mismo código.

•Restricciones: Este campo es obligatorio. Campo único. Cadena de caracteres (string). Valor máximo: 10 caracteres.

•Ejemplos:

•dp23767

•738

•bcn_32 2.

Nombre del producto [name] ():

•Identificador: name

•Descripción: Nombre del producto referente el código del producto. No hace falta que sea único, es decir, puede haber dos productos con el mismo nombre pero con diferente código de producto (code).

•Restricciones: Este campo es obligatorio. Cadena de caracteres (string). Valor máximo: 50 caracteres.

•Ejemplos:

•Naranja sanguina

•Bolígrafo BIC Azul

•Pechuga de pollo

3. Descripción del producto [description]:

•Identificador: description

•Descripción: Descripción del producto referente el código del producto.

•Restricciones: Cadena de caracteres (string). Valor máximo: 100 caracteres.

•Ejemplos:

•Naranja sanguina de buena calidad

•Bolígrafo BIC Azul punta fina

•Pechuga de pollo del Baix Llobregat

4. Mostrar producto en la aplicación [showInApp]:

•Identificador: showInApp

•Descripción: Indica si el producto podrá verse desde la aplicación Miwigo o la aplicación personalizada de la empresa. El valor true indica que el producto será visible desde la App. Por lo contrario, si el valor es false, el producto no se podrá visualizar en la App.

•Restricciones: Booleano (boolean).

•Ejemplos:

•True

•False

5. Promoción del producto [promotion]:

•Identificador: promotion

•Descripción: Indica si el producto tendrá una promoción añadida. El valor true indica que el producto tendrá una promoción. Por lo contrario, si el valor es false, el producto no tendrá ningún tipo de promoción. •Restricciones: Booleano (boolean).

•Ejemplos:

•True

•False

6. Inicio de la promoción del producto [startPromotionDate] ():

•Identificador: startPromotionDate

•Descripción: Fecha de inicio de la promoción del producto.

•Restricciones: Fecha (datetime). Formato: YYYY-MM-DD.Este campo deberá contener una fecha más pequeña que la fecha del campo endPromotionDate.

•Obligatoriedad: Este campo será obligatorio, única y exclusivamente, si el campo promotion tiene un valor true.Si este campo contiene un fecha, será obligatorio que el campo que indica el fin de la promoción (endPromotionDate) también tenga un valor.

•Ejemplos:

•2020-07-01

•2020-08-18

•2021-01-20

7. Fin de la promoción del producto [endPromotionDate] ():

•Identificador: endPromotionDate

•Descripción: Fecha de finalización de la promoción del producto. •Restricciones: Fecha (datetime). Formato: YYYY-MM-DD. Este campo deberá contener una fecha más grande que la fecha del campo startPromotionDate. •Obligatoriedad: Este campo será obligatorio, única y exclusivamente, si el campo promotion tiene un valor true. Si este campo contiene un fecha, será obligatorio que el campo que indica el inicio de la promoción (startPromotionDate) también tenga un valor.

•Ejemplos:

•2020-07-01

•2020-08-18

•2021-01-20

8. Categorías – Código de la categoría [category.code] ():

•Identificador: category.code

•Descripción: Código de la categoría del producto según el RP o software del cliente.

•Restricciones: Este campo es obligatorio. Número entero (string). Valor máximo: 10.

•Ejemplos:

•PO-23

•20

•PLS

9. Categorías – Nombre de la categoría [category.name] ():

•Identificador: category.name

•Descripción: Nombre de la categoría del producto referente al código de la categoría.

•Restricciones: Este campo es obligatorio. Número entero (string). Valor máximo: 255.

•Ejemplos:

•Pollo

•Conejo

•Refrescos

10. Imágenes del producto [images]:

•Identificador: images

•Descripción: Imagen o imágenes del producto. En caso de ser más de una imagen, se añadirán como parte de un array de imágenes.

•Restricciones: Las imágenes deben ser en base64.

•Ejemplos:

•data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/udoisajdoias.png

•data:image/jpeg;base64,/9j/4AdsadAQAAAQABAAD/foto01.jpeg

11. Precio del producto – Medidas: Código de la medida [productPrices.measure.code] ():

•Identificador: productPrices.measure.code

•Descripción: Código de la medida del producto según el RP o software del cliente.

•Restricciones: Este campo es obligatorio. Número entero (string). Valor máximo: 10.

•Ejemplos:

•PS-01

•RS20

•002

12. Precio del producto – Medidas: Nombre de la medida [productPrices.measure.name] ():

•Identificador: productPrices.measure.name

•Descripción: Nombre de la medida referente al código de la medida. No hace falta que sea único, es decir, puede haber dos medidas con el mismo nombre pero con diferente código de medida (productPrices.measure.name). •Restricciones: Este campo es obligatorio. Número entero (string). Valor máximo: 255.

•Ejemplos:

•Caja

•Litro

•Botella cristal 250ml

13. Precio del producto: Precio unitario del producto [productPrices.price] ():

•Identificador: productPrices.price

•Descripción: Valor decimal que marca el precio del producto por unidad. Esta valor será introducido en euros (€). En caso de tener un valor de 0, ese producto aparecerá sin precio.

•Restricciones: Número decimal (float). Valor mínimo: >=0. El separador decimal será un punto (0.96).

•Ejemplos:

•0.12

•1.00

•8.90

14. Precio del producto: Cantidad del producto [productPrices.quantity] ():

•Identificador: productPrices.price

•Descripción: Cantidad del producto. Este campo marcará el stock del producto. En caso de tener un valor de 0, ese producto no estará disponible.

•Restricciones: Número decimal (float). Valor mínimo: >=0. El separador decimal será un punto (0.96).

•Ejemplos:

•26.00

•1.50

•0

15. Precio del producto: Recargo de equivalencia [productPrices.equivalencePercent]:

•Identificador: productPrices.equivalencePercent

•Descripción: Indica el porcentaje del recargo de equivalencia del producto en referencia a la medida del mismo.

•Restricciones: Número decimal (float). Valor máximo: 100. El separador decimal será un punto (0.96).

•Ejemplos:

•5.2

•1.4

•0.5

16. Precio del producto: Porcentaje del Impuesto sobre el Valor Añadido [productPrices.taxPercent]:

•Identificador: productPrices.taxPercent

•Descripción: Indica el porcentaje del IVA del producto en referencia a la medida del mismo.

•Restricciones: Número entero (int). Valor máximo: 100.

•Ejemplos:

•10

•21

•36

Ejemplo Producto JSON

{
  "products": [
    {
      "code": "1",
      "name": "POLLO PRIMERA AMARILLO",
      "description": "POLLO PRIMERA AMARILLO",
      "taxPercent": 10,
      "category": {
        "code": "01",
        "name": "POLLO ENTERO"
      },
      "productPrices": [
        {
          "unitType": {
            "code": "KG",
            "name": "UN"
          },
          "price": 1.7,
          "quantity": 1000
        }
      ]
    },
    {
      "code": "U127",
      "name": "POLLO BLANCO",
      "description": "POLLO BLANCO",
      "taxPercent": 10,
      "category": {
        "code": "01",
        "name": "POLLO ENTERO"
      },
      "productPrices": [
        {
          "unitType": {
            "code": "KG",
            "name": "UN"
          },
          "price": 1.65,
          "quantity": 1000
        }
      ]
    },
  ]
}
1. Órdenes

Una orden, en el contexto de la aplicación OptimManage, se define como un pedido de una punto de entrega con sus correspondientes productos. Los campos de órdenes no tienen ningún tipo de obligatoriedad. Podéis obtener los campos del fichero que necesitéis.

Del fichero obtenido el cliente puede obtener el campo o campos que quiera o necesite.

2. Órdenes – Campos

Todos los formatos de archivo que veremos mas delante deberán tener la misma información sobre las órdenes de cada ruta. Los campos son los siguientes:

•orders

•id

•code

•orderDate

•observations

•fromApp

•deliveryPointId

•statusOrderId

•orderProducts

•quantity

•price

•taxPercent

•equivalencePercent

•tax

•equivalence

•subTotal

•total

•product

•id

•code

•name

•measure

•id

•code

•name

•status

•id

•name

2.1. Órdenes – Especificación de campos

A continuación se especifica para cada uno de los campos descritos en el anterior apartado su definición y sus restricciones. Todos los campos vendrán en el fichero descargado. En caso de tener dependencia entre campos, se indicará en cada una de las especificaciones.

1. Identificador de la orden [id]:

•Identificador: id

•Descripción: Identifica la orden. No pueden existir dos órdenes con el mismo identificador en el mismo fichero.

•Restricciones: Número entero (int). Valor mínimo: > 0.

•Ejemplos:

•23

•1231

•81

2. Código de la orden [code]:

•Identificador: code

•Descripción: Código para identificar la orden.No pueden existir dos órdenes con el mismo código en el mismo fichero.

•Restricciones: Cadena de caracteres (string). Valor máximo: 10 caracteres.

•Ejemplos:

•000212

•RS-21

•080

3. Fecha a entregar del pedido [orderDate]:

•Identificador: orderDate

•Descripción: Fecha de entrega del pedido en cuestión dentro de la orden.

•Restricciones: Fecha (datetime). Formato: YYYY-MM-DD

•Ejemplos:

•2020-07-01

•2020-08-18

•2021-01-20

4. Observaciones [observations]:

•Identificador: observations

•Descripción: Descripción y/o observaciones por parte del cliente correspondientes al pedido.

•Restricciones: Cadena de caracteres (string). Valor máximo: 3000 caracteres.

•Ejemplos:

•Quiero las mismas pechugas de pollo que el último día.

5. Emisor de la orden [fromApp]:

•Identificador: fromApp

•Descripción: Este campo indica si el pedido de la orden en cuestión proviene de la aplicación o proviene de la web. El valor true indica que la petición viene hecha de la app. Por lo contrario, si el valor es false, la petición vendrá de la web.

•Restricciones: Booleano (boolean).

•Ejemplos:

•True

•False

6. Identificador del punto de entrega [deliveryPointId]:

•Identificador: deliveryPointId

•Descripción: Identifica el punto de entrega al que realizar el pedido.

•Restricciones: Cadena de caracteres (string). Valor máximo: 100 caracteres.

•Ejemplos:

•dp23767

•738

•bcn_32

7. Identificador del estado de la orden [statusOrderId]:

•Identificador: statusOrderId

•Descripción: Esta campo identificativo indicará el estado en el que se encuentra en todo momento la orden del cliente. Este vendrá estrechamente ligado con los campos status.id y status.name, especificados mas abajo. Estos dos campos (statusOrderId y status.id) deben coincidir en valor en una misma orden.

•Restricciones: Número entero (int). Valor mínimo: >= 0.

•Ejemplos:

•2

8. Productos de la orden: Cantidad del producto [orderProducts.quantity]:

•Identificador: orderProducts.quantity

•Descripción: Cantidad del producto. Este campo será usado para calcular los campos subTotal y To t a l , especificados mas abajo.

•Restricciones: Número decimal (float). Valor mínimo: >0.

•Ejemplos:

•10

•1.5

•125

9. Productos de la orden: Precio unitario del producto [orderProducts.price]:

•Identificador: orderProducts.price

•Descripción: Valor decimal que marca el precio del producto por unidad. Esta valor será introducido en euros (€). Este campo será usado para calcular los campos subTotal y To t a l, especificados mas abajo

•Restricciones: Número decimal (float). Valor mínimo: >0.

•Ejemplos:

•0.12

•1.00

•8.90

10. Productos de la orden: Porcentaje del IVA [orderProducts.taxPercent]:

•Identificador: orderProducts.taxPercent

•Descripción: Indica el porcentaje del Impuesto sobre el Valor Añadido (IVA) del producto de un pedido. Este campo será usado para calcular los campos de tax y To t a l, especificados mas abajo.

•Restricciones: Número entero (int). Valor máximo: 100.

•Ejemplos:

•10

•21

•36

11. Productos de la orden: Recargo de equivalencia [orderProducts.equivalencePercent]:

•Identificador: orderProducts.equivalencePercent

•Descripción: Valor decimal que marca el precio del producto por unidad. Esta valor será introducido en euros (€). Este campo será usado para calcular los campos subTotal y To t a l, especificados mas abajo

•Restricciones: Número decimal (float). Valor máximo: 10. El separador decimal será un punto (0.96).

•Ejemplos:

•5.2

•1.4

•0.5

12. Products de la orden: Precio del producto con IVA añadido [orderProducts.tax]:

•Identificador: orderProducts.tax

•Descripción: Valor decimal que marca el precio del producto con IVA por unidad. Esta valor será mostrado en euros (€). Este campo será usado para calcular el campo To t a l, especificado mas abajo.

•Restricciones: Número decimal (float). Valor mínimo: >0.

•Ejemplos:

•0.12

•1.00

•8.90

13. Productos de la orden: Precio del producto con recargo de equivalencia añadido[orderProducts.equivalence]:

•Identificador: orderProducts.equivalence

•Descripción: Valor decimal que marca el precio del producto con recargo de equivalencia por unidad. Esta valor será introducido en euros (€). Este campo será usado para calcular el campo To t a l, especificado mas abajo.

•Restricciones: Número decimal (float). Valor mínimo: >0.

•Ejemplos:

•1.10

•0.07

•0.19

14. Productos de la orden: Subtotal del producto (Precio * cantidad) [orderProducts.subTotal]:

•Identificador: orderProducts.subTotal

•Descripción: Precio total del producto sin IVA y/o sin recargo de equivalencia, obtenido del cálculo del precio unitario del producto (orderProducts.price) por su cantidad (orderProducts.quantity).

•Restricciones: Número decimal (float). Valor mínimo: >0.

•Ejemplos:

•110.90

•1.17

•42.00

15. Productos de la orden: Total del producto con IVA y/o recargo de equivalencia[orderProducts.total]:

•Identificador: orderProducts.total

•Descripción: Precio total del producto con IVA y/o con recargo de equivalencia, obtenido del cálculo del precio unitario del producto (orderProducts.price) por su cantidad (orderProducts.quantity) y la suma del IVA (order.Products.tax) y/o del recargo de equivalencia (orderProducts.equivalence).

•Restricciones: Número decimal (float). Valor mínimo: >0.

•Ejemplos:

•110.90

•1.17

•42.00

16. Productos de la orden – Producto: Identificador del producto en la plataforma OptimManage [orderProducts.product.id]:

•Identificador: orderProducts.product.id

•Descripción: Identificador del producto del pedido según la plataforma OptimManage. Este campo será único para cada uno de los productos del que se conforma el reparto de una orden. El valor del campo podrá repetirse en diferentes órdenes del fichero, pero no en la misma orden.

•Restricciones: Número entero (int). Valor mínimo: >=0.

•Ejemplos:

•23

•2

•120

17. Productos de la orden – Producto: Código del producto [orderProducts.product.code]:

•Identificador: orderProducts.product.code

•Descripción: Código del producto del pedido según el RP o software del cliente. Este campo será único para cada uno de los productos del que se conforma el reparto de una orden. El valor del campo podrá repetirse en diferentes órdenes del fichero, pero no en la misma orden.

•Restricciones: Número entero (string). Valor máximo: 255.

•Ejemplos:

•23

•RS-20

•PLS

18. Productos de la orden – Producto: Nombre del producto [orderProducts.product.name]:

•Identificador: orderProducts.product.name

•Descripción: Nombre del producto referente al id y al código del producto. No hace falta que sea único, es decir, puede haber dos productos con el mismo nombre pero con diferente código de producto (orderProducts.product.code).

•Restricciones: Número entero (string). Valor máximo: 255.

•Ejemplos:

•Manzana

•Pechuga de pollo

•Ibuprofeno

19. Productos de la orden – Medida: Identificador de la medida en la plataforma OptimManage [orderProducts.measure.id]:

•Identificador: orderProducts.measure.id

•Descripción: Identificador de la medida del producto según la plataforma OptimManage.

•Restricciones: Número entero (int). Valor mínimo: >=0.

•Ejemplos:

•23

•2

•120

20. Productos de la orden – Medida: Código de la medida [orderProducts.measure.code]:

•Identificador: orderProducts.measure.code

•Descripción: Código de la medida del producto según el RP o software del cliente.

•Restricciones: Número entero (string). Valor máximo: 255.

•Ejemplos:

•PS-01

•RS20

•002

21. Productos de la orden – Medida: Nombre de la medida [orderProducts.measure.name]:

•Identificador: orderProducts.measure.name

•Descripción: Nombre de la medida referente al id y al código de la medida. No hace falta que sea único, es decir, puede haber dos medidas con el mismo nombre pero con diferente código de medida (orderProducts.measure.code).

•Restricciones: Número entero (string). Valor máximo: 255.

•Ejemplos:

•Caja

•Litro

•Botella cristal 250ml

22. Estado de la orden: Identificador del estado [status.id]:

•Identificador: status.id

•Descripción: Identificador del estado de la orden en cuestión. Este campo va ligado estrechamente con statusOrderId, visto anteriormente. Estos dos campos deben coincidir en valor en una misma orden.

•Restricciones: Número entero (int). Valor mínimo: >= 0.

•Ejemplos:

•2

23. Estado de la orden: Nombre del estado [status.name]:

•Identificador: status.name

•Descripción: Nombre del estado de la orden en cuestión.

•Restricciones: Número entero (string). Valor máximo: 255.

•Ejemplos:

•En proceso

Ejemplo Órdenes JSON

{
  "orders": [
    {
      "id": 42,
      "code": "0000042",
      "orderDate": "2020-07-06",
      "observations": "prueba pedido",
      "fromApp": false,
      "deliveryPointId": "8765",
      "statusOrderId": 2,
      "orderProducts": [
        {
          "quantity": 3,
          "price": 2.25,
          "taxPercent": 10,
          "equivalencePercent": 0,
          "tax": 0.68,
          "equivalence": 0,
          "subTotal": 6.75,
          "total": 7.43,
          "product": {
            "id": 927,
            "code": "440",
            "name": "ALAS DE POLLO"
          },
          "measure": {
            "id": 11,
            "name": "UN"
          }
        },
        {
          "quantity": 100,
          "price": 1.9,
          "taxPercent": 10,
          "equivalencePercent": 0,
          "tax": 19,
          "equivalence": 0,
          "subTotal": 190,
          "total": 209,
          "product": {
            "id": 363,
            "code": "1516SPA",
            "name": "POLLO EVISCERADO"
          },
          "measure": {
            "id": 11,
            "name": "UN"
          }
        }
      ],
      "status": {
        "id": 2,
        "name": "En proceso"
      }
    }
  ]
}
https://www.optimmanage.com/wp-content/uploads/2020/05/stitelogo-1.png
Optimmanage nace del sector logístico, tras 20 años de experiencia decidimos poner fin a la gran mayoría de los problemas que vivimos, desarrollando una solución funcional multiplataforma apta para todo tipo de negocio.

CONTÁCTANOS

Horario Comercial de Lunes – Viernes

de 10 – 14 y de 16 – 19

+34 930 08 52 41

© 2019 Copyright – All Rights Reserved. Project by booleanwork.com

ContáctanosBienvenidos a OptimManage

Horario de atención
Lunes a Viernes de 09:00 a 18:00

Teléfono
+34 930085241