El blog de LiveCommerce

Un blog de comercio electrónico y tiendas online

Conectar tienda online con el catálogo de productos de Cenor

Compártelo:
Para la conexión del catálogo de productos de Cenor con la tienda online de uno de nuestros clientes se han desarrollado nuevas implementaciones en el core de ShopinCloud. Seguidamente explicamos cómo se ha llevado a cabo.

Sincronizar tienda online con el catálogo de productos de Cenor


La conexión con el archivo de productos de  Cenor tiene cuatro peculiaridades que difieren de la mayoría de proveedores B2B.

3 peculiaridades de la sincronización con Cenor.

1.- Cenor facilita 4 archivos con la información de su catálogo de productos.
  • Un archivo con los datos fundamentales de precio, stock, referencia, nombre, etc...
  • Un segundo archivo las marcas (fabricantes).
  • Un tercer archivo con las categorías.
  • Y un cuarto archivo con que contiene solo tarifas y stock que actualizan cada 20 minutos.
Al no incluir las marcas y categorías en el primer archivo, te obliga a parsear recoger las marcas y categorías asociadas de sus respectivos archivos y luego asociar cada marca y categoría con su respectivo producto. 2.- Complejidad en la asociación de marcas y categorías. La segunda peculiaridad es que la asociación de las marcas y categorías con el primer archivo (que es el que contiene toda la información básica de los productos) es algo compleja. Quiero decir, que no es tan simple como pudiera serlo. Luego en el video lo puedes ver. 3.- Prohiben la descarga de imágenes y descripciones de sus productos. Y la tercera peculiaridad es que no dejan descargar y guardar en tu servidor sus imágenes y descripciones. Esto se debe a que los datos los recogen de Icecat y tienen firmado un acuerdo de propiedad intelectual. Esto dificulta la conexión con ellos porque la imagen que te dejan mostrar en la tienda es una URL que apunta a su servidor, y la descripción que te dejan mostrar debe ser un iframe que apunte a su URL. No hace falta decir que esto afecta al SEO de tu tienda.

¿Cómo funcionan los archivos de Cenor?

1.- Marcas_cenor.csv a. Este archivo contiene 3 campos: i. Código de 4 dígitos – código principal de la marca, se corresponde con el campo PROVEEDOR en los ficheros de tarifas. ii. Código de 3 dígitos – en desuso, podéis ignorarlo sin más. iii. Nombre de la marca. b. Se actualiza una vez al día en torno a las 03:30h de la madrugada.2.- Familias_cenor.csva.Este archivo contiene 2 campos: i. Campo código – con una longitud variable de 1,3, 5, 7 caracteres. 1. Longitud de 1 carácter = línea.2. Longitud de 3 caracteres = familia.3. Longitud de 5 caracteres = subfamilia.4. Longitud de 7 caracteres = en desuso, ignóralos por favor. ii. El segundo campo hace referencia al nombre de la línea, familia o subfamilia según corresponda. b. Se actualiza una vez al día en torno a las 03:30h de la madrugada.3.- Tarifa_1063.csva.Contiene los campo base de cada producto y como detalle importante contiene el precio neto de cada productob. Nota: El fichero contiene el campo IMAGEN donde figurará la ruta a la imagen del producto.c. Este fichero se genera una vez al día en torno a las 06:45h4. Tarifa_cenor.csva. Fichero similar a tarifa_1063.csv, pero sin el precio neto ni IMAGEN.b. Se genera y actualiza cada 20 minutos aproximadamente.c. Nota: Para saber en los ficheros de tarifas (tarifa_cenor.csv y tarifa_1063.csv) distinguir la línea, familia, subfamilia y marca de un producto debéis fijaros en lo siguiente: i. Marca – como indiqué anteriormente debe leerse del campo PROVEEDOR.ii. Línea – se corresponde con el primer carácter del código del artículo (CODIGO_ART).iii. Familia – se corresponde con los 3 primeros caracteres del código del artículo.iv. Subfamilia – se corresponde con los 5 primeros caracteres del código del artículo.

Código PHP para extraer y mapear las categorías de Cenor

public function _getMappingCodeNameCategoríes() { $rows = file($RUTA_ABSOLUTA_AL_ARCHIVO_CATEGORIAS_CENOR); $categories = $rows2 = array(); foreach ($rows as $k => $row) { list($code, $categoryName) = array_pad(explode('|', $row, 2), 2, null); $code = trim($code); $strlenCode = strlen($code); if (!in_array($strlenCode, array(1, 3, 5))) { unset($rows[$k]); } else { $categoryName = trim($categoryName); $rows2[$code] = $categoryName; } } $rows = $rows2; foreach ($rows as $code => $categoryName) { if (strlen($code) == 1) { $categories[$code] = $categoryName; } } foreach ($rows as $code => $categoryName) { if (strlen($code) == 3) { $level1Code = substr($code, 0,1); if (isset($categories[$level1Code])) { $level1Name = $categories[$level1Code]; $categories[$code] = $level1Name . ':::' . $categoryName; } } } foreach ($rows as $code => $categoryName) { if (strlen($code) == 5) { $level2Code = substr($code, 0,3); if (isset($categories[$level2Code])) { $level2Name = $categories[$level2Code]; $categories[$code] = $level2Name . ':::' . $categoryName; } } } unset($rows); return $categories; }
Si tienes alguna pregunta o sabes la respuesta sobre algún comentario, no dudes en contribuir.
Responderemos rápidamente.
Puedes utilizar etiquetas BBCode para escribir negrita, enlaces, imágenes, etc...
Más información en la página oficial de BBCOde http://www.bbcode.org/ Ejemplo:
[url=http://google.com]links[/url], [color=red]colores[/color] [b]negrita[/b]...

Visitanos en...

Bienvenidos a nuestro blog de ecommerce. Hablamos de temas relacionados con el comercio electrónico, dropshipping, proyeveedores b2b, software de ecommerce, algo de marketing e información relevante sobre nuestra plataforma de ecommerce ShopinCloud.

Puedes conocer ShopinCloud desde aquí.  

Archivo do Blog

¿Has visto los videos en nuestro canal de Youtube?

En nuestro canal de Youtube publicamos periódicamente mejoras y funcionalidades del software de ecommerce.