Jak dostosować szablon porównywarki Ceneo do wymogów Dyrektywy GPSR?

Nowe wymagania GPSR

Z dniem 13 grudnia 2024 wchodzi w życie unijne rozporządzenie dotyczące ogólnego bezpieczeństwa produktów (General Product Safety Regulation, GPSR), mające na celu zapewnienie sprzedaży bezpiecznych produktów na terenie Unii Europejskiej. W odpowiedzi na te regulacje, wprowadzamy zmiany w integracji z serwisem Ceneo, umożliwiające dostosowanie się do nowych wymogów. Więcej na temat samego rozporządzenia GPSR znajdziesz w naszym artykule Rozporządzenie GPSR.

Zgodnie z nowymi przepisami, sprzedawcy są zobowiązani do dostarczania szczegółowych informacji o bezpieczeństwie produktów. Jeżeli korzystasz z usług Ceneo i udostępniasz oferty produktów, od teraz w pliku XML uwzględnione zostaną dodatkowe dane:

  • producent odpowiedzialny – identyfikacja producenta, który odpowiada za wytworzenie produktu i zapewnienie jego zgodności z wymogami bezpieczeństwa,
  • podmiot odpowiedzialny – dane firmy wprowadzającej produkt na rynek Unii Europejskiej, szczególnie gdy nie jest to bezpośrednio producent,
  • informacja o bezpieczeństwie – opis lub ostrzeżenia dotyczące sposobu użytkowania produktu, potencjalnych zagrożeń oraz wymaganych środków ostrożności.

Jakie zmiany zostały wprowadzone w szablonie porównywarki Ceneo?

W panelu administracyjnym Comarch e-Sklep Integracje > Ceneo > Konfiguracja wprowadzono modyfikacje w sekcjach Atrybuty dla towarów oraz Szablony i usprawnienia pliku.

W sekcji Atrybuty dla towarów uzupełniony został dodatkowy parametr Informacje o bezpieczeństwie wymagany przez serwis, który zostanie powiązany z atrybutem przypisanym do towaru. Możesz zmienić jego nazwę w polu jeżeli twój atrybut w ERP oznaczony jest inaczej.

W Szablonie pliku XML zostały dodane nowe obiekty i fragmenty kodu umożliwiające poprawne utworzenie feedu produktowego zgodnie z wytycznymi. Nowe obiekty to Producent odpowiedzialny i Podmiot odpowiedzialny.

Producent odpowiedzialny

responsibleProducers

  1. p.Id – identyfikator w systemie
  2. p.Name – nazwa producenta odpowiedzialnego
  3. p.CountryCode – kod kraju (dane adresowe)
  4. p.Street – ulica (dane adresowe)
  5. p.HouseNo – numer domu numer lokalu (dane adresowe)
  6. p.PostalCode – kod pocztowy (dane adresowe)
  7. p.City – miasto (dane adresowe)
  8. p.Email – email producenta odpowiedzialnego
Podmiot odpowiedzialny

responsiblePersons

  1. p.Id – identyfikator w systemie
  2. p.Name – nazwa podmiotu odpowiedzialnego
  3. p.CountryCode – kod kraju (dane adresowe)
  4. p.Street – ulica (dane adresowe)
  5. p.HouseNo – numer domu numer lokalu (dane adresowe)
  6. p.PostalCode – kod pocztowy (dane adresowe)
  7. p.City – miasto (dane adresowe)
  8. p.Email – email podmiotu odpowiedzialnego

Nowe fragmenty kodu odpowiedzialne są za poprawne przypisywanie pól w pliku XML. Zmodyfikowane elementy zostały oznaczone na zielono.

<?xml version="1.0" encoding="utf-8"?>
<offers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1">
  <responsibleProducers>
    {% foreach p in responsibleProducers -%}
    <p id="{{ p.Id }}">
      <name>{{p.Name}}</name>
      <address>
        <countryCode>{{p.CountryCode}}</countryCode>
        <street>{{p.Street}} {{p.HouseNo}}</street>
        <postalCode>{{p.PostalCode}}</postalCode>
        <city>{{p.City}}</city>
      </address>
      <contact>
       <email>{{p.Email}}</email>
      </contact>
    </p>
   {% endforeach -%}
  </responsibleProducers>
  <responsiblePersons>
   {% foreach p in responsiblePersons -%}
    <p id="{{ p.Id }}">
      <name>{{p.Name}}</name>
      <address>
        <countryCode>{{p.CountryCode}}</countryCode>
        <street>{{p.Street}} {{p.HouseNo}}</street>
        <postalCode>{{p.PostalCode}}</postalCode>
        <city>{{p.City}}</city>
      </address>
      <contact>
       <email>{{p.Email}}</email>
      </contact>
    </p>
   {% endforeach -%}
  </responsiblePersons>

{% assign pAttrs = "Manufacturer|ManufacturerCode|UPC|ProducerResponsibleId|PersonResponsibleId"|Split:"|" -%}
{% assign pAttrsEl = "Producent|Kod_producenta|EAN|Producent odpowiedzialny|Podmiot odpowiedzialny"|Split:"|" -%}

{% assign AttrsString = "Informacje o bezpieczeństwie" -%}
{% case settings.__type -%}
  {% when "books" -%}
    {% assign AttrsString = AttrsString|Append: "|ISBN" -%}
  {% when "medicines" -%}
    {% assign AttrsString = AttrsString|Append: "|BLOZ_12|BLOZ_7" -%}
{% endcase -%}
{% assign Attrs = AttrsString|Split:"|" -%}

{%- assign Attrs = Attrs | push: "Informacje o bezpieczeństwie" -%}

  <group name="{{ settings.__type }}">
  {% foreach p in products -%}
    <o id="{{ p.Id }}" url="{{ p.Url }}" price="{{ p.TotalPrice }}" avail="{{ p.Availability.ExternalValue }}" {% if p.Weight > 0 -%}weight="{{ p.Weight }}" {% endif -%}{% if p.Attributes["c:basket"].Values[0] == "1" -%}basket="1" {% elsif p.Attributes["c:basket"].Values[0] == "0" -%}basket="0" {% endif -%} {% if p.StockLevel != null -%} stock="{{ p.StockLevel|ToInt }}" {% endif -%}>
      <cat><![CDATA[{{ p.ExternalGroupText }}]]></cat>
      <name><![CDATA[{{ p.NameNoHtml }} {{ p.Attributes["c:name"].Values[0] }}]]></name>
      {% if p.ImageId > 0 -%}
      <imgs>
        <main url="{{ p.ImageUrl }}"/>
        {% for i in p.Images offset:1 -%}
        <i url="{{ i.Url }}"/>
        {% endfor %}
      </imgs>
      {% endif -%}
      {% if p.DescriptionNoHtml != empty -%}<desc><![CDATA[{{ p.DescriptionNoHtml }}]]></desc>{% endif -%}
      <attrs>
        {% for pA in pAttrs -%}
          <a name="{{ pAttrsEl[forloop.index0] }}"><![CDATA[{{ p[pA] }}]]></a>
        {% endfor -%}
        {% for pA in Attrs -%}
          {% assign tmp = p.Attributes[pA] -%}
          {% if tmp != null -%}
          <a name="{{ tmp.ExternalName }}"><![CDATA[{{ tmp.Values|Join:"," }}]]></a>
          {% endif -%}
        {% endfor -%}
      </attrs>
    </o>
  {% endforeach -%}
  </group>
</offers>

Konfiguracja w panelu administracyjnym

Uzupełnij niezbędne dane na towarach w e-Sklepie, a zostaną one automatycznie przypisane na ofercie udostępnianej do Ceneo Kup Teraz.

Jeżeli w Twoim sklepie korzystasz z domyślnego szablonu pliku XML porównywarki Ceneo lub właśnie utworzyłeś nową integrację, zmiany obejmujące nowe obiekty i fragmenty kodu będą widoczne od razu, bez konieczności dodatkowych działań. Jeżeli natomiast wprowadzałeś do szablonu własne modyfikacje przed 09.12.2024 dodatkowo zapoznaj się z instrukcją w zawartą w rozdziale Jak dostosować szablon porównywarki Ceneo, jeżeli posiadam własne modyfikacje? aby dowiedzieć się, jakie dodatkowe kroki powinieneś wykonać.

Jak przygotować asortyment?

Aby przygotować asortyment, wystarczy, że w panelu administracyjnym Comarch e-Sklep poprawnie uzupełnisz dane na towarach odnośnie podmiotu odpowiedzialnego lub/i producenta odpowiedzialnego. Szczegółowa instrukcja znajduje się w artykule Jak dostosować e-Sklep do wymogów Rozporządzenia GPSR?

Ustaw parametr Informacje o bezpieczeństwie na karcie towaru jako atrybut typu tekst w Comarch ERP, a zostanie on przesłany do Comarch e-Sklep. Ważne jest, aby w konfiguracji integracji Ceneo nazwy ustalonych atrybutów były zgodne z aktualnym nazewnictwem. Umożliwi to poprawne połączenie parametrów.

Jak dostosować szablon porównywarki Ceneo, jeżeli posiadam własne modyfikacje?

Jeżeli w Twoim szablonie pliku XML, którym udostępniasz oferty Twojego e-Sklepu do porównywarki cen, posiadasz własne modyfikacje, powinieneś dostosować go pod aktualne zalecenia. Wykonaj poniższe kroki, aby upewnić się, że Twój plik XML zostanie utworzony poprawnie.

Krok 1: Zweryfikuj swoją konfigurację integracji Ceneo. W menu panelu administracyjnego przejdź do Integracje > Ceneo > Konfiguracja i sprawdź w sekcjach Atrybuty dla towarów oraz Szablony i usprawnienia pliku, czy widoczne są najnowsze zmiany odpowiadające nowym wymaganiom. Opis modyfikacji znajduje się w rozdziale Jakie zmiany zostały wprowadzone w szablonie porównywarki Ceneo?

Krok 2: Jeżeli w sekcji Atrybuty dla towarów nie widzisz nowego parametru Informacje o bezpieczeństwie, dodaj go za pomocą przycisku Dodaj kolejny atrybut +. Następnie w polu podaj nazwę atrybutu w ERP i odpowiadający mu atrybut w pliku XML.

Krok 3: Jeżeli w sekcji Szablony i usprawnienia pliku w Twoim szablonie pliku XML brakuje fragmentów kodu oznaczonych na zielono, dodaj je zachowując podaną strukturę.

Pamiętaj, aby zapisać swoje zmiany przyciskiem Zapisz!

Czy ten artykuł był pomocny?