Productos

Este servicio deberá exponer la información de todos los productos que deban ser publicados en el catálogo de Fenicio.

IMPORTANTE: Si la integración es completa, los datos viajan todos desde el ERP menos las imágenes que van por FTP. No existe la posibilidad de híbrido.

MétodoURL

GET

https://{ApiURL}/productos

En los casos de integración parcial, la información retornada podrá limitarse a los datos de precio y stock (según se indica más abajo).

Request

Clave TipoDescripción

desde

Int(6)

Posición del primer producto solicitado. Se considera que al primer producto del catálogo le corresponde la posición cero.

total

Int(6)

Cantidad de productos a retornar.

Ejemplo

{
  "_idSolicitud": "200325120000-FNSHPUY-3c7621ed5a707177c1421cce79338668",
  "desde": 0,
  "total": 100
}

Funcionamiento del paginado

Los parámetros desde y total indicados arriba en el request, son utilizados para que Fenicio realice un paginado de las solicitudes al servicio.

Una vez que una llamada retorna menos cantidad de productos que el total solicitado en el parámetro total, Fenicio considera que se ha completado la importación. De lo contrario, continuará hacia la siguiente página.

Por esto es importante que no se retornen menos productos que los solicitados, salvo que efectivamente se haya llegado al final del catálogo a publicar.

Response

En las integraciones parciales, Fenicio únicamente tomará en cuenta los campos marcados con un asterisco (*).

ClaveTipoDescripción

desde*

Int(6)

Posición del primer producto solicitado.

total*

Int(6)

Cantidad de productos incluidos en la respuesta.

productos*

List<Producto>

Lista de productos.

Producto

ClaveTipoDescripción

codigo*

Código del producto base.

nombre

String(128)

Nombre del producto base.

fechaCreacion

DateTime | null

Fecha de creación del producto base.

prioridad

Int(6)

Permite definir la prioridad en los listados de productos. Los productos se listan de mayor a menor prioridad.

guiaTalles

String(32) | null

Código de guía de talles. Este código debe corresponder a una guía de talles ya creada en la gestión de Fenicio.

monedaPredeterminada

String(4)

Moneda con la cual se mostrará inicialmente el producto.

impuesto

Numeric

Porcentaje correspondiente al impuesto con el que está gravado el producto. Valores posibles: de 0 a 100.

atributos

Object

Objeto con claves/valores para cada atributo disponible. Nota 1: En los atributos se deben incluir datos tales como la categoría, la marca, las características, el género y otros datos relevantes. Nota 2: En las claves de los atributos solo se admiten caracteres alfanuméricos básicos (sin acentos) y guión medio. No se aceptan espacios, guion bajo ni otros símbolos.

variantes*

List<Variante>

Lista con las variantes del producto base.

Variante

ClaveTipoDescripción

codigo*

Código de la variante.

nombre

String(128)

Nombre de la variante.

orden

Int(6)

Permite definir el orden de las variantes dentro del producto. Las variantes con menor valor se muestran primero.

referencia

String(32)

Código de referencia de la variante. Si la clave no es enviada o es vacía, Fenicio automáticamente lo ingresa como: [CODIGO BASE]-[CODIGO VARIANTE].

atributos

Object

Objeto con claves/valores para cada atributo disponible. Nota 1 - Atributos:

En los atributos se deben incluir datos tales como color, sale, outlet y otros datos relevantes a la propia variante. Nota 2 - Claves:

En las claves de los atributos solo se admiten caracteres alfanuméricos básicos (sin acentos) y guion medio. No se aceptan espacios, guion bajo ni otros símbolos.

Nota 3 - Descripción corta: Descripción corta soporta texto plano hasta 255 caracteres.

Nota 4 - Descripción ampliada:

La descripción ampliada acepta en los textos etiquetas de encabezados tipo (<h2>, <h3>, etc), párrafos (<p>) y span (<span>). Para definir estilos en línea se sugiere el uso de clases y asignarlos a los elementos. No se aceptan etiquetas HTML obsoletas y no es necesario enviar las etiquetas <html>, <head> ni <body>. El máximo de tamaño del campo es de 65K.

presentaciones*

Lista con las presentaciones (talles) de una variante.

Presentación

ClaveTipoDescripción

codigo*

Código de la presentación.

nombre*

String(128)

Nombre de la presentación.

sku*

String(128)

Código único que identifica al artículo.

stock*

Int(6)

Cantidad de unidades disponibles para venta web.

precioLista*

Price | null

Precio original del producto, sin descuentos, rebajas, con impuestos aplicados. Si se omite el precio de lista (o es cero), se utilizará el precio de lista histórico. Éste será el valor más alto de todos los precios de lista que haya manejado Fenicio en algún momento para ese producto.

precioVenta*

Price | null

Precio efectivo de comercialización del producto, con impuestos aplicados.

preciosAlternativos

Lista de precios alternativos para la presentación.

identificadores*

Lista de identificadores internacionales de producto.

Precio alternativo

ClaveTipoDescripción

codigo

Código del precio.

precioLista

Price

Precio original del producto, sin descuentos, rebajas, con impuestos aplicados.

precioVenta

Price

Precio efectivo de comercialización del producto, con impuestos aplicados.

Identificador

ClaveTipoDescripción

codigo

String(16)

Valores posibles: GTIN, MPN.

valor

String(128)

Valor del identificador para el artículo. Por favor verificar el formato correspondiente según el estándar requerido de cada identificador.

Ejemplo integración completa

{
  "status": "OK",
  "mensaje": null,
  "_idSolicitud": "200325120000-FNSHPUY-3c7621ed5a707177c1421cce79338668",
  "data": {
    "desde": 0,
    "total": 100,
    "productos": [
      {
        "codigo": "548972",
        "nombre": "Campera New Camilo",
        "fechaCreacion": "2019-11-12T10:00:00-0300",
        "prioridad": 1,
        "guiaTalles": "tops-mujer",
        "monedaPredeterminada": "UYU",
        "impuesto": 22,
        "atributos": {
          "categoria": "vestimenta/camperas",
          "marca": "new-camilo",
          "genero": "f",
          "estilo": "casual",
          "composicion": "100% Algodón",
          "nuevo": "si",
          "descripcion": "Campera de denim clásica, con cortes y bolsillos en el frente.",
          "descripcion-ampliada": "<p><span style=\"font-size:18px;\"><strong>La campera original desde 1967.<\/strong><\/span><\/p><p><strong>Us\u00e1 tu talle real para obtener un aspecto ajustado o un talle m\u00e1s grande para sumar tu buzo con capucha favorito abajo.<\/strong><\/p><p>Nuestros inteligentes bolsillos interiores son lo suficientemente amplios como para guardar una billetera, un tel\u00e9fono inteligente , y tus llaves. Mejora con el tiempo con decoloraci\u00f3n.<\/p>",
          {
            "codigo": "002",
            "nombre": "Negro",
            "orden": 1,
            "atributos": {
              "sale": "no",
              "outlet": "no",
              "color": "negro"
            },
            "presentaciones": [
              {
                "codigo": "01",
                "nombre": "S",
                "sku": "548972-002-01",
                "stock": 15,
                "precioLista": {
                  "UYU": 3700,
                  "USD": 100
                },
                "precioVenta": {
                  "UYU": 3400,
                  "USD": 90
                },
                "preciosAlternativos": [],
                "identificadores": [
                  {
                    "codigo": "GTIN",
                    "valor": "abc12345678901"
                  }
                ]
              },
              {
                "codigo": "02",
                "nombre": "M",
                "sku": "548972-002-02",
                "stock": 8,
                "precioLista": {
                  "UYU": 3700,
                  "USD": 100
                },
                "precioVenta": {
                  "UYU": 3400,
                  "USD": 90
                },
                "preciosAlternativos": [],
                "identificadores": [
                  {
                    "codigo": "GTIN",
                    "valor": "abc12345678902"
                  }
                ]
              },
              {
                "codigo": "03",
                "nombre": "L",
                "sku": "548972-002-03",
                "stock": 10,
                "precioLista": {
                  "UYU": 3700,
                  "USD": 100
                },
                "precioVenta": {
                  "UYU": 3400,
                  "USD": 90
                },
                "preciosAlternativos": [],
                "identificadores": [
                  {
                    "codigo": "GTIN",
                    "valor": "abc12345678903"
                  }
                ]
              }
            ]
          },
          {
            "codigo": "003",
            "nombre": "Azul",
            "orden": 1,
            "atributos": {
              "sale": "no",
              "outlet": "no",
              "color": "azul"
            },
            "presentaciones": [
              {
                "codigo": "02",
                "nombre": "M",
                "sku": "548972-003-02",
                "stock": 8,
                "precioLista": {
                  "UYU": 3700,
                  "USD": 100
                },
                "precioVenta": {
                  "UYU": 3400,
                  "USD": 90
                },
                "preciosAlternativos": [],
                "identificadores": []
              },
              {
                "codigo": "03",
                "nombre": "L",
                "sku": "548972-003-03",
                "stock": 10,
                "precioLista": {
                  "UYU": 3700,
                  "USD": 100
                },
                "precioVenta": {
                  "UYU": 3400,
                  "USD": 90
                },
                "preciosAlternativos": [],
                "identificadores": []
              }
            ]
          }
        ]
      },
      {
        "codigo": "123456",
        "nombre": "Amoxidal",
        "fechaCreacion": "2019-11-12T10:00:00-0300",
        "prioridad": 1,
        "guiaTalles": null,
        "monedaPredeterminada": "UYU",
        "impuesto": 22,
        "atributos": {
          "categoria": "medicamentos/antibioticos",
          "marca": "roemmers",
          "descripcion": "Antibiótico de amplio espectro.",
          "receta": "si"
        },
        "variantes": [
          {
            "codigo": "123456",
            "nombre": "Unica",
            "orden": 1,
            "atributos": {},
            "presentaciones": [
              {
                "codigo": "500",
                "nombre": "500mg",
                "sku": "123456-123456-500",
                "stock": 15,
                "precioLista": {
                  "UYU": 1000,
                  "USD": 25
                },
                "precioVenta": {
                  "UYU": 1000,
                  "USD": 25
                },
                "preciosAlternativos": [
                  {
                    "codigo": "CON_RECETA",
                    "precioLista": {
                      "UYU": 500,
                      "USD": 12.5
                    },
                    "precioVenta": {
                      "UYU": 500,
                      "USD": 12.5
                    }
                  }
                ],
                "identificadores": [
                  {
                    "codigo": "GTIN",
                    "valor": "def123456789500"
                  },
                  {
                    "codigo": "MPN",
                    "valor": "xyz987654321500"
                  }
                ]
              },
              {
                "codigo": "750",
                "nombre": "750mg",
                "sku": "123456-123456-750",
                "stock": 15,
                "precioLista": {
                  "UYU": 1500,
                  "USD": 37.5
                },
                "precioVenta": {
                  "UYU": 1500,
                  "USD": 37.5
                },
                "preciosAlternativos": [
                  {
                    "codigo": "CON_RECETA",
                    "precioLista": {
                      "UYU": 1000,
                      "USD": 25
                    },
                    "precioVenta": {
                      "UYU": 1000,
                      "USD": 25
                    }
                  }
                ],
                "identificadores": [
                  {
                    "codigo": "GTIN",
                    "valor": "def123456789750"
                  },
                  {
                    "codigo": "MPN",
                    "valor": "xyz987654321750"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        // Etc...
      }
    ]
  }
}

Ejemplo integración parcial

{
  "status": "OK",
  "mensaje": null,
  "_idSolicitud": "200325120000-FNSHPUY-3c7621ed5a707177c1421cce79338668",
  "data": {
    "desde": 0,
    "total": 100,
    "productos": [
      {
        "codigo": "548972",
        "variantes": [
          {
            "codigo": "002",
            "presentaciones": [
              {
                "codigo": "01",
                "nombre": "S",
                "sku": "548972-002-01",
                "stock": 15,
                "precioLista": {
                  "UYU": 3700,
                  "USD": 100
                },
                "precioVenta": {
                  "UYU": 3400,
                  "USD": 90
                },
                "identificadores": [
                  {
                    "codigo": "GTIN",
                    "valor": "abc12345678901"
                  }
                ]
              },
              {
                "codigo": "02",
                "nombre": "M",
                "sku": "548972-002-02",
                "stock": 8,
                "precioLista": {
                  "UYU": 3700,
                  "USD": 100
                },
                "precioVenta": {
                  "UYU": 3400,
                  "USD": 90
                },
                "identificadores": [
                  {
                    "codigo": "GTIN",
                    "valor": "abc12345678902"
                  }
                ]
              },
              {
                "codigo": "03",
                "nombre": "L",
                "sku": "548972-002-03",
                "stock": 10,
                "precioLista": {
                  "UYU": 3700,
                  "USD": 100
                },
                "precioVenta": {
                  "UYU": 3400,
                  "USD": 90
                },
                "identificadores": [
                  {
                    "codigo": "GTIN",
                    "valor": "abc12345678903"
                  }
                ]
              }
            ]
          },
          {
            "codigo": "003",
            "presentaciones": [
              {
                "codigo": "02",
                "nombre": "M",
                "sku": "548972-003-02",
                "stock": 8,
                "precioLista": {
                  "UYU": 3700,
                  "USD": 100
                },
                "precioVenta": {
                  "UYU": 3400,
                  "USD": 90
                },
                "identificadores": []
              },
              {
                "codigo": "03",
                "nombre": "L",
                "sku": "548972-003-03",
                "stock": 10,
                "precioLista": {
                  "UYU": 3700,
                  "USD": 100
                },
                "precioVenta": {
                  "UYU": 3400,
                  "USD": 90
                },
                "identificadores": []
              }
            ]
          }
        ]
      },
      {
        "codigo": "123456",
        "variantes": [
          {
            "codigo": "123456",
            "presentaciones": [
              {
                "codigo": "500",
                "sku": "123456-123456-500",
                "stock": 15,
                "precioLista": {
                  "UYU": 1000,
                  "USD": 25
                },
                "precioVenta": {
                  "UYU": 1000,
                  "USD": 25
                },
                "preciosAlternativos": [
                  {
                    "codigo": "CON_RECETA",
                    "precioLista": {
                      "UYU": 500,
                      "USD": 12.5
                    },
                    "precioVenta": {
                      "UYU": 500,
                      "USD": 12.5
                    }
                  }
                ],
                "identificadores": [
                  {
                    "codigo": "GTIN",
                    "valor": "def123456789500"
                  },
                  {
                    "codigo": "MPN",
                    "valor": "xyz987654321500"
                  }
                ]
              },
              {
                "codigo": "750",
                "sku": "123456-123456-750",
                "stock": 15,
                "precioLista": {
                  "UYU": 1500,
                  "USD": 37.5
                },
                "precioVenta": {
                  "UYU": 1500,
                  "USD": 37.5
                },
                "preciosAlternativos": [
                  {
                    "codigo": "CON_RECETA",
                    "precioLista": {
                      "UYU": 1000,
                      "USD": 25
                    },
                    "precioVenta": {
                      "UYU": 1000,
                      "USD": 25
                    }
                  }
                ],
                "identificadores": [
                  {
                    "codigo": "GTIN",
                    "valor": "def123456789750"
                  },
                  {
                    "codigo": "MPN",
                    "valor": "xyz987654321750"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        // Etc...
      }
    ]
  }
}

Consideraciones

  • El tiempo total de respuesta del servicio (considerando todas las páginas) no deberá superar en ningún caso los 5 minutos.

  • Si el rango de la solicitud excede la cantidad de registros disponibles, el servicio deberá retornar una lista vacía o con la cantidad de productos encontrados, aunque esta sea menor a la cantidad solicitada.

  • Para comercios que operen en dos monedas, el servicio deberá proporcionar cada precio en ambas monedas utilizadas. Fenicio rechazará la importación de los artículos que no contemplen este punto.

  • Es importante que se envíen los productos con todas las variantes y presentaciones que se desee que Fenicio conozca, aunque estas no tengan stock. Por ejemplo, si una presentación (o talle) no se incluye en el servicio, no se mostrará en la ficha del producto, impidiendo que el visitante conozca todas las opciones existentes (con y sin stock) para ese producto. De la misma manera se vería afectada la consulta de ubicar en tienda para un producto dado, ya que únicamente se mostraría la información correspondiente a las presentaciones que Fenicio conoce.

  • Los productos con variantes únicas deberán indicar como código de variante el mismo código que el del producto base.

  • Los productos con presentaciones únicas deberán indicar como código de presentación la letra u mayúscula (U).

  • En el caso de integración parcial, la moneda predeterminada para los productos debe indicarse desde el panel de gestión de Fenicio. Por defecto, los productos tendrán como moneda principal predeterminada la indicada en la configuración general del sistema.

  • Los productos sin marca o categoría no se visualizarán en el sitio. La marca y la categoría (o los datos necesarios para su correcto mapeo) deben incluirse dentro de la clave atributos en Producto. Ante dudas, por favor consultar con el consultor asignado de Fenicio.

Última actualización