IOF Extensions - szczegółowe informacje o towarach w ofercie w formacie IOF

IOF Extensions to propozycja IAI skierowana do najbardziej wymagających użytkowników chcących zastosować format IOF z bardzo szczegółowymi danymi o towarach w ofercie.

Co to jest IOF Extensions i do czego można użyć tego formatu?

IOF Extensions jest rozszerzeniem formatu IOF i pozwala na obsługę bardzo szczegółowych danych towarów w ofercie. Format polecamy szczególnie tym użytkownikom IAI-Shop.com, którzy oprócz standardowej funkcjonalności IOF potrzebują gotowego standardu na obsługę szerszego wachlarza danych o towarach.

Chcę używać formatu IOF Extensions. Co mam zrobić?

Jeżeli po raz pierwszy masz styczność z formatem IOF, zalecamy zapoznać się ze specyfikacją funkcjonalną formatu oraz przystosowaniem swojego systemu do formatu IOF. W następnej kolejności, zapoznaj się z poniższymi punktami na tej stronie, które omawiają szczegółowo rozszerzenie pliku formatu IOF full.xml o tagi Extensions.

Przejdź do strony specyfikacji IOF, aby pobrać dokument specyfikacji funkcjonalnej.

Jeżeli znasz i pracujesz z formatem IOF, dodanie obsługi rozszerzonej informacji Extensions nie powinno być dla Ciebie problemem. Dodanie obsługi Extensions wymaga tylko ingerencji w plik full.xml. Przejdź do dalszej części strony, aby dowiedzieć się jak dodać obsługę Extensions w formacie IOF.

Ważne: IOF Extensions to funkcjonalność formatu IOF oficjalnie dostępna od wersji 2.3.

Jakie dodatkowe informacje o towarach obsługuje IOF Extensions?

Poniżej znajduje się lista parametrów dostępna dla każdego towaru w ramach Extensions. Każdy parametr znajduje się w pliku full.xml w /offer/products/product:

  • description/iaiext:auction_name - nazwa towaru dla serwisów aukcyjnych
    • @xml:lang - określa język dla tego elementu
  • description/iaiext:auction_long_desc - opis długi towaru dla serwisów aukcyjnych
    • @xml:lang - określa język dla tego elementu
  • description/iaiext:pricecomparator_name - nazwa towaru dla porównywarek cen
    • @xml:lang - określa język dla tego elementu
  • description/iaiext:meta_title - znacznik meta dla towaru: tytuł
    • @xml:lang - określa język dla tego elementu
  • description/iaiext:meta_description - znacznik meta dla towaru: opis
    • @xml:lang - określa język dla tego elementu
  • description/iaiext:meta_keywords - znacznik meta dla towaru: słowa kluczowe
    • @xml:lang - określa język dla tego elementu
  • iaiext:srp - Sugerowana Cena Detaliczna towaru
    • @gross - wartość brutto
    • @net - wartość netto
    • @vat - stawka VAT
  • iaiext:sizes/iaiext:size - informacje o rozmiarze towaru oraz jego atrybutach
    • @id - ID rozmiaru towaru w IAI-Shop.com
    • @code - kod IAI (złożone zawsze z ID towaru i ID rozmiaru oddzielonych myślnikiem, np. 2321323-32)
    • @code_producer - kod producenta
    • @code_external - kod zewnętrznego systemu
    • @weight - waga towaru w podanym rozmiarze
  • iaiext:sizes/iaiext:price - cena detaliczna rozmiarów towaru (nie obowiązuje dla rozmiarów posiadających w swoich węzłach iaiext:sizes/iaiext:size własny węzeł iaiext:sizes/iaiext:size/iaiext:price)
    • @gross - wartość brutto
    • @net - wartość netto
    • @vat - stawka VAT
  • iaiext:sizes/iaiext:size/iaiext:price - cena detaliczna podanego rozmiaru
    • @gross - wartość brutto
    • @net - wartość netto
    • @vat - stawka VAT
  • iaiext:sizes/iaiext:size/stock - informacja o lokalizacji magazynowej podanego rozmiaru
    • @iaiext:location_id - id magazynu w którym jest zlokalizowany towar
    • @iaiext:location_text_id - nazwa magazynu w którym jest zlokalizowany towar
  • iaiext:sizes/iaiext:srp - Sugerowana Cena Detaliczna rozmiarów towaru (nie obowiązuje dla rozmiarów posiadających w swoich węzłach iaiext:sizes/iaiext:size własny węzeł iaiext:sizes/iaiext:size/iaiext:srp)
    • @gross - wartość brutto
    • @net - wartość netto
    • @vat - stawka VAT
  • iaiext:sizes/iaiext:size/iaiext:srp - Sugerowana Cena Detaliczna podanego rozmiaru
    • @gross - wartość brutto
    • @net - wartość netto
    • @vat - stawka VAT
  • iaiext:sizes/iaiext:size/iaiext:stock - stany magazynowe podanego rozmiaru
    • @id - ID magazynu w IAI-Shop.com
    • @quantity - ilość
  • iaiext:price_retail/iaiext:site - cena detaliczna towaru z możliwością zdefiniowania różnych cen detalicznych dla stron i rozmiarów
    • @id - ID strony w IAI-Shop.com
    • @size_id - ID rozmiaru towaru w IAI-Shop.com
    • @gross - wartość brutto
    • @net - wartość netto
    • @vat - stawka vat
  • iaiext:price_wholesale/iaiext:site - cena hurtowa towaru z możliwością zdefiniowania różnych cen hurtowych dla stron i rozmiarów
    • @id - ID strony w IAI-Shop.com
    • @size_id - ID rozmiaru towaru w IAI-Shop.com
    • @gross - wartość brutto
    • @net - wartość netto
    • @vat - stawka VAT
  • iaiext:price_pos/iaiext:price - cena dla POS z możliwością zdefiniowania różnych cen dla rozmiarów
    • @size_id - ID rozmiaru towaru z IAI-Shop.com
    • @gross - wartość brutto
    • @net - wartość netto
    • @vat - stawka VAT
  • iaiext:price_minimal/iaiext:site - cena minimalna towaru z możliwością zdefiniowania różnych cen minimalnych dla stron i rozmiarów
    • @id - ID strony w IAI-Shop.com
    • @size_id - ID rozmiaru towaru w IAI-Shop.com
    • @gross - wartość brutto
    • @net - wartość netto
    • @vat - stawka VAT
  • iaiext:pricecomparator_price/iaiext:site - cena dla porównywarek cen z możliwością zdefiniowania różnych cen dla stron i poszczególnej porównywarki cen
    • @id - ID strony w IAI-Shop.com
    • @service_id - ID porównywarki cen w IAI-Shop.com
    • @gross - wartość brutto
    • @net - wartość netto
    • @vat - stawka VAT
  • auction_price - cena dla serwisów aukcyjnych z możliwością zdefiniowania różnych typów cen dla stron, rozmiarów i poszczególnego serwisu aukcyjnego
    • @id - ID strony w IAI-Shop.com
    • @service_group_id - ID grupy seriwsów aukcyjnych w IAI-Shop.com (np. Grupa Allegro, eBay)
    • @service_id - ID serwisu aukcyjnego w IAI-Shop.com (np. aukro.cz, ebay.pl)
    • @price_type - typ ceny: Kup Teraz (buy_now), minimalna (minimal) lub wywoławcza (start)
    • @size_id - ID rozmiaru towaru w IAI-Shop.com
    • @gross - wartość brutto
    • @net - wartość netto
    • @vat - stawka VAT
  • iaiext:prices_configuration_for_shops - Ustawienia dotyczące cen dla sklepów
    • @value - określa czy wszystkie ceny oprócz ceny dla POS mają być jednakowe we wszystkich sklepach, czy konkurencyjne przyjmując odpowiednio wartości same_prices lub competitive_prices
  • iaiext:pos_prices_config/iaiext:site - Ustawienia dotyczące cen dla POS
    • @id - ID strony w IAI-Shop.com
    • @type - określa czy dla danej strony cena dla POS ma być taka jak cena detaliczna, czy różna od ceny detalicznej przyjmując odpowiednio wartości pos_equals_retail lub pos_notequals_retail
  • images/iaiext:icons/iaiext:auction_icon - ikona dla serwisów aukcyjnych
    • @url - link do pliku
    • @date_changed - data i godzina ostatniej zmiany
    • @hash - liczba obliczona przez funkcję hashującą
  • images/iaiext:icons/iaiext:group_icon - ikona towaru w grupie
    • @url - link do pliku
    • @date_changed - data i godzina ostatniej zmiany
    • @hash - liczba obliczona przez funkcję hashującą
  • iaiext:associated_products/iaiext:product - towary powiązane z towarem
    • @id - ID towaru z IAI-Shop.com
  • iaiext:hotspots/iaiext:price - zarządzanie promocjami i cenami w promocji
    • @normal_price - cena przekreślona bazowa detaliczna
    • @wholesale_price - cena przekreślona bazowa hurtowa
    • @ending_date - data zakończenia promocji
    • @enabled - określa czy promocja ba być włączona
    • @promotion - promocja ma obowiązywać dla strefy Promocja
    • @discount - promocja ma obowiązywać dla strefy Przecena
    • @distinguished - promocja ma obowiązywać dla strefy Wyróżniony
    • @special - promocja ma obowiązywać dla strefy Specjalny
  • iaiext:hotspots/iaiext:site - zarządzanie strefami promocji dla towaru
    • @id - ID strony w IAI-Shop.com
    • @manual_config - określa czy włączyć ręczną konfigurację stref promocji
  • iaiext:hotspots/iaiext:site/iaiext:promotion - ręczna konfiguracja promocji dla strefy Promocja
    • @visible - określa czy towar ma być pokazywany w strefie Promocja
  • iaiext:hotspots/iaiext:site/iaiext:discount - ręczna konfiguracja promocji dla strefy Przecena
    • @visible - określa czy towar ma być pokazywany w strefie Przecena
  • iaiext:hotspots/iaiext:site/iaiext:distinguished - ręczna konfiguracja promocji dla strefy Wyróżniony
    • @visible - określa czy towar ma być pokazywany w strefie Wyróżniony
  • iaiext:hotspots/iaiext:site/iaiext:special - ręczna konfiguracja promocji dla strefy Specjalny
    • @visible - określa czy towar ma być pokazywany w strefie Specjalny
  • iaiext:enable_in_pos - dostępność towaru dla sprzedaży POS
    • @enabled - określa czy towar jest dostępny - może być sprzedawany
  • iaiext:taxcode - kod PKWiU
  • iaiext:sum_in_basket - sumowanie w koszyku sklepu przy wielokrotnym dodawaniu
    • @value - określa czy towar ma się sumować
  • iaiext:availability_profile - profil dostępności z IAI-Shop.com dla towaru
    • @id - ID profilu dostępności z IAI-Shop.com
  • iaiext:availability_management - typ określania dostępności towaru
    • @value - określa czy dostępność ma być określana za ręcznie (manual) czy na podstawie ilości w magazynach (stock)
  • iaiext:loyalty_program/iaiext:site - parametry programu lojalnościowego dla stron
    • @id - ID strony w IAI-Shop.com
    • @operation - określa dla jakiej opcji ma być wykonana operacja:
      • "clients_cost" - którzy klienci mogą kupować wybrane towary za punkty
      • "clients_award" - klient otrzymuje punkty za zakup towaru pieniędzmi
      • "count_cost" - określenie ilości punktów za jaką sprzedawany będzie towary
      • "count_award" - określenie ilości punktów jaką zostaną nagrodzeni klienci za kupno wybranego towaru
    • @clients - typ klientów:
      • "wholesalers" - hurtownicy
      • "retailers" - detaliści
      • "both" - hurtownicy i detaliści
      • "nobody" - hurtownicy i detaliści (wyłączenie możliwości kupowania i nagradzania punktami)
    • @points - ilość punktów
  • iaiext:advance - zaliczka wymagana przy kupnie towaru przez klienta
    • @rate - wartość zaliczki w procentach
  • iaiext:priority - priorytet towaru
    • @level - wartość priorytetu
  • iaiext:note - adnotacja
  • iaiext:delivery_time/iaiext:mode - sposób określenia czasu dostawy
    • @type - określa czy czas dostawy ma być obliczany na podstawie czasu dostawcy przypisanego do towaru (deliverer) czy indywidualnie dla towaru (product)
  • iaiext:delivery_time/iaiext:time - czas dostawy
    • @days - ilość dni
  • iaiext:sell_by/iaiext:retail - towar sprzedawany po konkretnej ilości dla klientów detalicznych
    • @quantity - ilość
  • iaiext:sell_by/iaiext:wholesale - towar sprzedawany po konkretnej ilości dla klientów hurtowych
    • @quantity - ilość
  • iaiext:inwrapper - określenie ilości sprzedawanej w opakowaniu
    • @quantity - ilość
  • iaiext:deliverer - określenie dostawcy towaru
    • @id - ID dostawcy towaru w IAI-Shop.com
  • iaiext:visibility/iaiext:site - widoczność towaru na stronach
    • @visible - określa czy towar ma być widoczny, czy nie
  • iaiext:visibility/iaiext:price_comparator - widoczność towaru dla porównywarek cen
    • @visible - określa czy towar ma być widoczny, czy nie
  • iaiext:availability/iaiext:site - określenie dostępności towaru z obsługą wielu stron
    • @id - ID strony w IAI-Shop.com
    • @value - określa czy towar ma być dostępny, czy nie
  • iaiext:navigation/iaiext:site - przypisanie do drzew Menu z obsługą wielu stron
    • @id - ID strony w IAI-Shop.com
  • iaiext:navigation/iaiext:site/iaiext:menu - przypisanie do drzewa Menu na stronie
    • @id - ID drzewa Menu w IAI-Shop.com
  • iaiext:navigation/iaiext:site/iaiext:menu/iaiext:item - przypisanie do elementu Menu
    • @textid - ID tekstowe elementu drzewa Menu
  • iaiext:parameters/iaiext:parameter - parametr towaru
    • @textid - ID tekstowe parametru, gdzie ID tekstowe bez znaku "\" oznacza sekcję, a ze znakiem "\" oznacza parametr (nazwa przed znakiem) wraz z jego wartością (nazwa po znaku), np. textid="Obudowa" (oznacza sekcję "Obudowa"), textid="Kolor\czerwony" (oznacza parametr "Kolor" oraz jego wartość "czerwony")
    • @xml:lang - określa język dla parametru
    • @distinction - określa opcję dodatkową parametru - Ustaw jako wyróżniony na karcie towaru, liście towarów i hotspot (wyróżniony) i przyjmuje odpowiednio wartości yes lub no
    • @hide - określa opcję dodatkową parametru - Ustaw jako ukryty na liście parametrów w karcie towaru i przyjmuje odpowiednio wartości yes lub no
    • @group_distinction - określa opcję dodatkową parametru - Ustaw jako parametr rozróżniający towary w grupie i przyjmuje odpowiednio wartości yes lub no
  • iaiext:sizechart - tabela rozmiarów
    • @id - ID tabeli rozmiarów
    • @xml:lang - określa język dla tabeli rozmiarów
    • @name - określa nazwę tabeli rozmiarów
  • parameter - parametry towaru
    • @iaiext:context_id - identyfikator kontekstu np. CONTEXT_AGE_GROUP_ADULT (dla dorosłych), CONTEXT_SEX_WOMAN (kobieta), CONTEXT_SEX (płeć), CONTEXT_WEIGHT_NET (waga)
  • file - plik załącznika do towaru
    • @iaiext:attachment_file_type - typ pliku załącznika np. audio, image, doc, other
    • @iaiext:download_log - logowanie pobrań pliku t/n
    • @aiext:enable - określa kto może pobierać plik np. "all" (wszyscy), "ordered" (po złożeniu zamówienia)

Każdy z wyżej wymienionych tagów jest opcjonalny. Informacje na temat atrybutów oraz ich wymagalności w poszczególnych tagach znajdziesz w pliku XSD.

Jakich zasad muszę się trzymać korzystając z formatu IOF Extensions?

Zalecamy zapoznać się z poniższymi punktami przed przystąpieniem do tworzenia pliku full.xml z uwzględnieniem atrybutów Extensions:

  • w głównym tagu <offer> został wprowadzony dodatkowy atrybut @extensions, za pomocą którego można określić czy dodatkowe atrybuty towarów mają być brane pod uwagę przy odczytywaniu oferty - zalecamy ustawienie wartości atrybutu na yes,

brak zadeklarowanego atrybutu @extensions oznacza domyślną jego wartość na no,

  • wymagane jest zadeklarowanie domyślnego namespace dla formatu IOF za pomocą atrybutu @xmlns w głównym tagu <offer>,
  • wymagane jest zadeklarowanie namespace dla Extensions w tagu <products> jako atrybut @xmlns:nazwa, gdzie nazwa to przyjęte oznaczenie tagów Extensions, np.:

<products language="eng" xmlns:iaiext="http://www.iai-shop.com/developers/iof/extensions.phtml">

  • każdy użyty w pliku full.xml tag Extensions musi być odpowiednio oznaczony za pomocą nazwy namespace, co odpowiada za przyporządkowanie tagu do odpowiedniej namespace, np.:

<iaiext:price_wholesale>
<iaiext:site id="1" gross="14.05" net="12.02" vat="23"/>
<iaiext:site id="1" size_id="23" gross="14.05" net="12.02" vat="23"/>
</iaiext:price_wholesale>

Ważne informacje dla użytkowników IAI-Shop.com i IAI Downloader

  • IAI-Shop.com posiada wbudowany mechanizm eksportu danych towarów do IOF Extensions (dostępny z poziomu listy towarów w IAI-Shop.com),
  • IAI Downloader od wersji 1.0 dla scenariuszy: Import i Aktualizacja posiada obsługę danych o towarach w formacie IOF Extensions,
  • IAI-Shop.com i IAI Downloader od wersji 1.0 jest przystosowany do obsługi formatu IOF Extensions z zadeklarowaną nazwą namespace iaiext:

xmlns:iaiext="http://www.iai-shop.com/developers/iof/extensions.phtml"

Do pobrania

Przykładowy plik eksport.xml do pobrania: