Podręcznik integracji - specyfikacja formatu eksportu ofert do serwisu OnetZakupy

Podobne dokumenty
MANUAL OF INTEGRATION THE SPECIFICATION OF OFFERS EXPORT FORMAT TO ONET ZAKUPY (version )

INFORMACJE NA TEMAT STRUKTURY PLIKU XML

Dokumentacja Użytkownika Systemu. Integracja z Okazje.info, Skąpiec, Sklepy24

Podręcznik Integracji

Elementy struktur MiCOMP_VAT

Dokumentacja Użytkownika Systemu

Dokumentacja Użytkownika Systemu

Dokumentacja Użytkownika Systemu

Dokumentacja Użytkownika Systemu

Dokumentacja Użytkownika Systemu

Warszawa, dnia 2 marca 2017 r. Poz. 461 ROZPORZĄDZENIE MINISTRA ROZWOJU I FINANSÓW 1) z dnia 27 lutego 2017 r.

Dokumentacja Użytkownika Systemu

Zarządzanie ofertą sklepu w nowym Centrum Sprzedawcy - instrukcja

Dokumentacja Użytkownika Systemu

Specyfikacja techniczna pliku wymiany danych

Przewodnik po konfiguracji Comarch ERP e-sklep z wszystko.pl

Dokumentacja Użytkownika Systemu

LAB 7. XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML

1. Logowanie się do panelu Adminitracyjnego

XML INFORMACJE NA TEMAT STRUKTURY ( )

Instrukcja obsługi Multiconverter 2.0

Instrukcja obsługi DHL KONWERTER 1.6

Instrukcja użytkownika Porównywarki cen Liquid

INSTRUKCJA IMPORTU PRODUKTÓW DO SKLEPU

Uradni list Republike Slovenije

Dokumentacja techniczna RockPay

XML Schema. Bartłomiej Świercz. Łódź, 19 listopada 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz XML Schema

Dokumentacja Użytkownika Systemu

Profil pracy wariant konfiguracji programu obejmujący m.in język, walutę, konto allegro, szablon aukcji, zdefiniowane koszty wysyłki itp.

Integracja sklepu internetowego z serwisem aukcyjnym Swistak.pl

XML Schema. Motywacja, struktura schematu, typy złożone. Patryk Czarnik. Instytut Informatyki UW

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Podręcznik użytkownika serwisu internetowego Co to jest promoterka? Dodawanie wizytówek... 3 Dodawanie kuponów...

ShopGold Integrator by CTI. Instrukcja

Kurs walut. Specyfikacja projektu. Marek Zając

XML extensible Markup Language. część 4

Struktura pliku wejściowego ippk Plik Składkowy

Dictionaries. <?xml version="1.0" encoding="utf-8"?> <xs:schema attributeformdefault="unqualified" elementformdefault="unqualified"

Instrukcja Integracja z istore. Wersja z 07/02/2015. Copyright Zakupteraz.pl

Oprogramowanie ILUO Biznes pozwala na jednoczesne zarządzanie wieloma sklepami Internetowymi zbudowanymi na oprogramowaniu różnych producentów.

INFORMACJE NA TEMAT STRUKTURY PLIKÓW XML

Instrukcja korzystania z modułu Onet Export (wtyczka oscommerce) (wersja )

SCHEMAT DOKUMENTÓW OTRZYMYWANYCH Z ZUS ZAWIERAJĄCYCH INFORMACJE ZGROMADZONE W SYSTEMIE INFORMATYCZNYM ZUS

Specyfikacja HTTP API. Wersja 1.6

Wprowadzenie do XML schema

Podręcznik użytkownika serwisu internetowego

Struktura pliku wejściowego ippk Plik Korekt Składek

Instrukcja obsługi integracji

WooCommerce (WordPress) Integrator by CTI. Instrukcja

XML extensible Markup Language. część 2

Import zleceń / Integracja klienta K-Ex

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŚLĄSKIEGO

kdpw_stream Data utworzenia: r.

WYKŁAD 2 DTD DOCUMENT TYPE DEFINITION CZĘŚĆ 1

Profil pracy wariant konfiguracji programu obejmujący m.in język, walutę, konto allegro, szablon aukcji, zdefiniowane koszty wysyłki itp.

Instrukcja użytkownika. Eksport dokumentów do systemu Comarch EDI Wersja

INFORMACJE NA TEMAT STRUKTURY PLIKU XML

OPIEKUN DORADCY: KONTO FIRMY DODAWANIE KLIENTÓW

Dokumentacja SMS przez FTP

MAGENTO INTEGRATOR XL BY CTI INSTRUKCJA

Instrukcja Integracja z Shoper. Wersja z 18/01/2015. Copyright Zakupteraz.pl

INSTRUKCJA INTEGRACJI Z BRANŻOWYMI PORÓWNYWARKAMI CEN SZOKER.PL

Ceneo. (Moduł Magento) v.1.5.0

wfirma (Moduł Magento) v Strona 1 z 12

29. Poprawność składniowa i strukturalna dokumentu XML

Załącznik nr 2 do Umowy Nr. o korzystanie z usługi Identyfikacji Przychodzących Płatności Masowych z dnia.

Zalogowanie generuje nowe menu: okno do wysyłania plików oraz dodatkowe menu Pomoc

kdpw_stream Struktura komunikatu: Informacja o raportowaniu transakcji (secl.str ) Data utworzenia: r.

kdpw_stream Struktura komunikatu: Informacja o aktualizacji funduszu rozliczeniowego (colr.sgf ) Data utworzenia: r.

UCHWAŁA NR XXXVI/284/2018 RADY GMINY BESTWINA. z dnia 19 marca 2018 r.

UCHWAŁA NR XVII RADY MIASTA MIŃSK MAZOWIECKI. z dnia 27 czerwca 2016 r.

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Konfiguracja pierwszej kampanii.

Nowa Netia administrator firmy Nagrywanie połączeń-zarządzanie

VIRTUEMART INTEGRATOR BY CTI INSTRUKCJA

Podstawy technologii WWW

Instrukcja integracji z portalem ogłoszeń praca.24portal.pl

Wprowadzenie do technologii XML

Struktura pliku wejściowego ippk Plik Rejestracyjny

Elektroniczna Skrzynka Podawcza

Struktura pliku wejściowego ippk Plik Dyspozycje

Dokumentacja smsapi wersja 1.4

Struktura pliku wejściowego ippk Plik Dyspozycje

Instrukcja obsługi aplikacji Karty Pojazdów dla Dealerów Samochodowych

Opis protokołu komunikacji programu mpensjonat z systemami zewnętrznymi (np. rezerwacji online)

Rekomendacja Związku Banków Polskich dotycząca kodu dwuwymiarowego ( 2D ), umożliwiającego realizację polecenia przelewu oraz aktywację usług

kdpw_stream Struktura komunikatu: Zestawienie stanów posiadania (semt.smh ) Data utworzenia: r.

Podręcznik użytkownika programu. Ceremonia 3.1

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

PL URZĄD MIASTA SZCZECIN N NOF WPiOL/1111/W/123456/2013 KOWALSKI JAN, FELCZAKA 1A SZCZECIN PLN

Specyfikacja plików eksportu danych na portal (serwis WWW) - wersja II

Instrukcja użytkownika

kdpw_stream Struktura komunikatu: System rekompensat - deklaracja wpłat (cpss.dcl ) Data utworzenia: r.

MODUŁ INTEGRUJĄCY ELEKTRONICZNEGO NADAWCĘ Z WF-MAG SPIS TREŚCI

Instrukcja obsługi programu

Zmiana logo. Dziękujemy za wybór naszych rozwiązań. apjoo od Apláuz. Wspólnie przebrniemy przez proces konfiguracji strony www i wstawiania treści.

WellCommerce Poradnik: Dodawanie języka i waluty. autor: Adrian Potępa (biuro@eclairsoaware.pl)

MAGENTO INTEGRATOR BY CTI INSTRUKCJA

kdpw_stream Struktura komunikatu: Płatności z tytułu depozytów zabezpieczających (colr.mrg ) Data utworzenia: r.

Transkrypt:

Podręcznik integracji - specyfikacja formatu eksportu ofert do serwisu OnetZakupy (wersja 29.07.08)

Spis treści Spis treści... 2 1. Metody dostarczania danych i mapowanie kategorii... 5 1.1 Pierwsza metoda dostarczania danych metoda pasywna... 5 1.2 Druga metoda dostarczania danych metoda aktywna... 5 1.3 Trzecia metoda dostarczania danych... 5 1.4 Mapowanie kategorii... 5 2. Wymagania... 6 2.1 Kodowanie... 6 2.2 Znaki specjalne... 6 2.3 Kolejność elementów... 6 2.4 Przestrzeń nazw (namespace)... 6 3. Rodzaje wrzutów... 6 3.1. Usuwanie ofert... 7 3.2. Opis struktury wrzutu... 7 3.2.1. Wstęp... 7 3.2.2 elementy wrzutu... 8 3.2.2.1 <oferty> (wymagany)... 8 3.2.2.1.1 aktualizacja (atrybut wymagany)... 8 3.2.2.1.2 przestrzeń nazw (atrybut wymagany)... 8 3.2.2.2<oferta> (opcjonalny)... 8 3.2.2.3 <identyfikator> (wymagany)... 8 3.2.2.4 <usun> (wymagany w przypadku usuwania oferty)... 8 3.2.2.5 <nazwa> (wymagany w przypadku dodawania lub aktualizowania oferty)... 9 3.2.2.6 <url> (wymagany)... 9 3.2.2.7 <cena> (wymagany)... 9 3.2.2.8 <sciezka_kategorii> (wymagany)... 9 3.2.2.9 Identyfikator kategorii (wymagany)... 9 3.2.2.10 <marka_producent> (wymagany)... 10 3.2.3 Elementy opcjonalne... 10 3.2.3.1 <produkt>... 11 3.2.3.2 <opis>... 11 3.2.3.3 <SOP_id skad="bdk">... 11 3.2.3.4 <kody_kreskowe>... 11 3.2.3.5 <kod> (podrzędny, wymagany co najmniej jeden)... 11 3.2.3.6 <zdjecie>... 11 3.2.3.7 <autorzy>... 12 3.2.3.8 <wykonawcy>... 12 3.2.3.9 <rezyserzy>... 12 2

3.2.3.10 <aktorzy>... 12 3.2.3.11 <nosniki>... 12 3.2.3.12 <gatunek>... 13 3.2.3.13 <rok_wydania>... 13 3.2.3.14 <wydawnictwo>... 13 3.2.3.15 <ISBN>... 13 3.2.3.16 <rozmiar>... 13 3.2.3.17 <plec>... 13 3.2.3.18 <kolory>... 13 3.2.3.19 <darmowa_dostawa>... 14 3.2.3.20 <oferta_specjalna>... 14 3.2.3.21 <promocyjna_cena> (podrzędny dla <oferta_specjalna>)... 14 3.2.3.22 <znizka> (podrzędny dla <oferta_specjalna>)... 14 3.2.3.23 <kategoria_wiekowa>... 14 3.2.3.24 <przedzial_wiekowy>... 14 3.2.3.25 <prezenty_na>... 14 3.2.3.26 <prezent_dla>... 15 3.2.3.27 <dodatkowe>... 15 4. Przypisywanie (mapowanie) kategorii...16 4.1 Mapowanie za pośrednictwem pliku xml z mapą kategorii.16 4.2 Ręczne mapowanie karegorii..16 5. Schemat... 17 6. Inne informacje... 18 6.1. Oprogramowanie do sprawdzania poprawności plików xml... 18 6.2. Przykładowy plik XML... 18 6.3. Dokument xmlschema definiujący postać pliku xml... 19 3

Słownik: 1. Wzorzec Strukturalny Opis Produktu (SOP) - oferta wzorcowa zawierająca zdjęcie lub zdjęcia produktu, nazwę produktu, szczegółowe parametry w postaci atrybutów, opis i opinie o produkcie, do której poszczególne sklepy internetowe przypisują swoje oferty 2. Mapowanie kategorii to przypisywanie kategorii dostawcy (sklepu) do kategorii serwisu OnetZakupy zobacz pkt 1.4 Mapowanie kategorii i pkt i pkt 4. Przypisywanie (mapowanie) kategorii 3. Liść kategoria, która nie posiada żadnych podkategorii 4. <id_kategorii_pm> - identyfikator kategorii liścia serwisu OnetZakupy (w xml zastępczo nazwany identyfikatorem kategorii Platformy Marketplace) 4

1. Metody dostarczania danych i mapowanie kategorii Partner ma do dyspozycji 3 metody dostarczenia danych. 1.1 Pierwsza metoda dostarczania danych - metoda pasywna polega na wystawieniu na stronie www sklepu lub na serwer ftp sklepu pliku xml (w określonym przez Onet.pl formacie w dalszej części dokumentu) z danymi do importu. Następnie Partner definiuje w panelu sklepu w pasażu adres do zaciągania pliku przez nasz system i ma możliwości zdefiniowania cyklu w jakim Onet.pl będzie pobierał plik. Plik może być zzipowany, pod warunkiem zawierania tylko jednego pliku z wrzutem w archiwum. Archiwum nie może zawierać katalogów. Ma być to sam zzipowany plik. 1.2 Druga metoda dostarczania danych - metoda aktywna polega na wrzuceniu pliku xml (w określonym przez Onet.pl formacie w dalszej części dokumentu) (zzipowanego lub nie, ograniczenie jak wyżej.) poprzez panel administratora. Uwaga: w tej metodzie maksymalny rozmiar przesyłanego pliku to 25MB, dlatego sugerujemy zzipowanie pliku xml. 1.3 Trzecia metoda dostarczania danych - polega na dodawaniu pojedynczych ofert poprzez interfejs panelu administracyjnego sklepu. W tym przypadku nie jest wymagane mapowanie kategorii kategorie wybiera się z listy 1.4 Mapowanie kategorii Metody 1 i 2 wymagają od sklepu stworzenia mapy kategorii sklepu na kategorieserwisu OnetZakupy. Co to oznacza? Przykładowo sklep posiada oferty w kategorii (sklepowej) RTV,AGD > Telewizory > LCD > 29"; o identyfikatorze kategorii w sklepie=5, RTV,AGD > Telewizory > LCD > 32"; o identyfikatorze kategorii w sklepie=10 RTV,AGD > Telewizory > LCD > 42"; o identyfikatorze kategorii w sklepie=13 a w Serwisie Zakupowym jest kategoria-liść (kategoria, która nie ma żadnej podkategorii): ->Katalog->RTV->Telewizory->LCD; o identyfikatorze kategorii 2170 Aby było możliwe zaimportowanie ofert sklepu z jego kategorii należy wskazać do jakiej kategorii Serwisu Zakupowego powinny trafić oferty sklepu. W panelu administracyjnym sklepu wskazujemy że kategorie sklepowe o identyfikatorze 5, 10 i 13 są odpowiednikiem kategorii Serwisu Zakupowego o identyfikatorze 2170. Można również przesłać do nas plik xml zawierający mapowanie kategorii. Więcej patrz 4. Przypisywanie (mapowanie) kategorii Plik może być zzipowany, pod warunkiem zawierania tylko jednego pliku z wrzutem w archiwum. Archiwum nie może zawierać katalogów. Ma to być sam zzipowany plik. 5

2. Wymagania 2.1 Kodowanie Obowiązującym kodowaniem znaków we wrzutach jest utf-8. <?xml version="1.0" encoding="utf-8"?> 2.2 Znaki specjalne Niektóre znaki w formacie XML mają specjalne znaczenie, aby z nich skorzystać należy zapisać je za pomocą zamienników ujętych w tabelce poniżej. Znak < < Zamiennik > > & & " " ' &apos; Przykłady: <marka_producent>johnson & Johnson</marka_producent> - źle <marka_producent>johnson & Johnson</marka_producent> - dobrze 2.3 Kolejność elementów Kolejność elementów podana w szablonie xsd musi być zachowana (patrz 5. Schemat). Dodatkowo, dla ofert usuwanych nie należy podawać żadnych elementów opisu (patrz 3.1. Usuwanie ofert) 2.4 Przestrzeń nazw (namespace) Obowiązującą przestrzenią nazw dla wrzutów ofert jest: http://www.zakupy.onet.pl/walidacja/oferty-partnerzy.xsd Należy ją zdefiniować jako atrybut elementu oferty w następujący sposób: <oferty aktualizacja="t" xmlns="http://www.zakupy.onet.pl/walidacja/ofertypartnerzy.xsd"> UWAGA: Przestrzeni nazw nie wolno pominąć. Wrzut nie posiadający zdefiniowanej przestrzeni nazw lub nieprawidłową przestrzeń nazw będzie w całości odrzucany jako błędny. 3. Rodzaje wrzutów Rozróżniamy dwa rodzaje wrzutów: Całościowy - oferta sklepu zostaje w całości skasowana i zastąpiona ofertami znajdującymi się we wrzucie. Jeśli we wrzucie całościowym nie zostanie podana żadna oferta oznacza to usuniecie wszystkich ofert sklepu z naszej bazy. Rozwiązanie to pozwala np. na wygodną wymianę całości oferty. Różnicowy (aktualizacyjny) - oferta sklepu zostaje zaktualizowana ofertami znajdującymi się we wrzucie: nowe oferty są dodawane, istniejące aktualizowane, oferty przeznaczone do usunięcia usuwane. Ten rodzaj wrzutu pozwala na ograniczenie ilości danych wysyłanych przez sklep wyłącznie do nowych rekordów (dodawanie nowych ofert), aktualizacji istniejących oraz usuwania nieaktualnych poprzez użycie elementu <usun>. 6

O rodzaju wrzutu decyduje atrybut "aktualizacja" elementu <oferty>. Jeśli wartość tego atrybutu będzie ustawiona na "N" uzyskamy wrzut całościowy, jeśli na "T" uzyskamy wrzut różnicowy. 3.1. Usuwanie ofert Ofertę usuwamy poprzez podanie w ofercie jej identyfikatora w sklepie oraz tagu <usun />: <oferta> <identyfikator>3465385693485aaa-423984##@@</identyfikator> <usun /> </oferta> Wskazówka: Przy całościowym rodzaju wrzutu nie ma potrzeby używania elementu <usun>, gdyż wszelkie oferty nie znajdujące się we wrzucie zostaną usunięte automatycznie. Uwaga: Po podaniu elementu <usun>, nie wolno już podawać żadnych innych elementów takich jak nazwa, url, cena, białe znaki itd. Zalecamy używanie formy zapisu z przykładu (pusty tag). Wewnątrz elementu usuń nie może znaleźć się żadna zawartość (np. znak końca linii). Przykład nieprawidłowego użycia: <oferta id="938498"> <usun> </usun> </oferta> 3.2. Opis struktury wrzutu 3.2.1. Wstęp Elementy wrzutu można podzielić na wymagane i opcjonalne. Elementy wymagane niezbędne dane, bez uzupełnienia których wrzut będzie odrzucony. UWAGA: Każdy element obowiązkowy (z wyjątkiem elementu <marka_producent>) musi zawierać jakąś wartość. Brak wartości w elemencie obowiązkowym będzie skutkował odrzuceniem rekordu jako błędnego. Elementy opcjonalne dane wymagane, które są jednak niezwykle ważne, ponieważ pozwolą Państwu na pełną prezentację oferty. Co zyskują Państwo wpisując możliwie najwięcej danych opcjonalnych? lepsze przypisanie Państwa ofert do SOPów (wzorców produktowych), co wiąże się dodatkowo z możliwością porównywania cen i parametrów technicznych produktów, szybsze dotarcie klienta do Państwa oferty, większą szansę wykorzystania ofert w miejscach redakcyjnych Galerii Handlowej, wykorzystanie w przyszłości w dodatkowych funkcjonalnościach Galerii Handlowej OnetZakupy, takich jak: strony eventowe, serwis prezentowy, newsletter oraz innych. Niewypełnienie informacji w elementach opcjonalnych spowoduje brak wyświetlenia oferty sklepu w serwisie prezentowym, na stronach eventowych czy też w newsletterach. Jeśli Dostawca nie posiada informacji którą opisuje element opcjonalny, wtedy nie należy umieszczać tego elementu w opisie pojedynczej oferty. Niektóre elementy posiadają elementy podrzędne. Nie należy umieszczać elementów podrzędnych samodzielnie, a jedynie wewnątrz elementu nadrzędnego. Hierarchię elementów można zobaczyć w punkcie 5. Schemat. 7

3.2.2 elementy wrzutu 3.2.2.1 <oferty> (wymagany) Każdy wrzut musi zawierać element <oferty>. Element ten jest elementem zbiorczym, zawiera w sobie wszystkie oferty w danym wrzucie. Posiada również dwa atrybuty - rodzaj aktualizacji oraz definicję przestrzeni nazw: <oferty aktualizacja="t" xmlns="http://www.zakupy.onet.pl/walidacja/ofertypartnerzy.xsd"> 3.2.2.1.1 aktualizacja (atrybut wymagany) Atrybut ten wskazuje na rodzaj wrzutu (patrz pkt. 3. Rodzaje wrzutów). Jeśli wartość tego atrybutu będzie ustawiona na "N" uzyskamy wrzut całościowy, jeśli na "T" uzyskamy wrzut różnicowy. Wskazówka: Aktualizacja całościowa pozwala na wygodną wymianę całości oferty. Istniejąca baza ofert dostawcy zostaje skasowana i zastąpiona ofertami znajdującymi się we wrzucie. Natomiast aktualizacja różnicowa pozwala na zmniejszenie ilości danych wysyłanych przez sklep wyłącznie do nowych rekordów (dodawanie nowych ofert), aktualizacji istniejących oraz usuwania nieaktualnych poprzez użycie elementu <usun>. Wartości dopuszczalne: tak, nie, TAK, NIE, T, N, Y, Tak, Nie, t, n 3.2.2.1.2 przestrzeń nazw (atrybut wymagany) Przestrzeń nazw jest ustalona jak w pkt. 2.4 Przestrzeń nazw (namespace). Wrzuty bez przestrzeni nazw lub ze zmienioną przestrzenią nazw będą traktowane jako nieprawidłowe. 3.2.2.2<oferta> (opcjonalny) Jest to element zawierający opis pojedynczej oferty, lub dyspozycję jej usunięcia. Jeśli wybierzemy usunięcie oferty, nie podajemy żadnych elementów poza identyfikatorem (patrz 3.1. Usuwanie ofert). UWAGA: Jeśli nie podamy żadnego elementu <oferta> przy całościowym rodzaju wrzutu, będzie to oznaczało skasowanie całej bazy ofert. 3.2.2.3 <identyfikator> (wymagany) Oferta musi zawierać unikatowy identyfikator jednoznacznie identyfikujący daną ofertę w bazie sklepu. Identyfikatorem będzie trzeba się posłużyć chcąc później zaktualizować lub usunąć ofertę. Identyfikator ten jest nadawany przez sklep. <oferta> <identyfikator>1abf345c2456aaaff9abc24a-444</identyfikator> <!-- tutaj dalsze elementy opisu oferty --> </oferta> 3.2.2.4 <usun> (wymagany w przypadku usuwania oferty) Jeśli zamierzamy usunąć ofertę, należy podać w tym miejscu element <usun> (patrz 3.1. Usuwanie ofert). Po elemencie <usun> może wystąpić jedynie zamknięcie opisu oferty. <oferta> <identyfikator>3465385693485aaa-423984##@@</identyfikator> <usun /> </oferta> UWAGA: Element ten występuje zamiennie z elementem <nazwa>. 8

3.2.2.5 <nazwa> (wymagany w przypadku dodawania lub aktualizowania oferty) Element ten zawiera nazwę oferty w Państwa sklepie. Minimalna długość nazwy to 1 znak. <nazwa>coolpix L15</nazwa> 3.2.2.6 <url> (wymagany) Element <url> zawiera bezwzględny (pełna ścieżka łącznie z http://) adres oferty w Państwa sklepie. Po kliknięciu w ofertę Klient zostanie przekierowany na ten adres. <url>http://www.zakupy.onet.pl/kosiarka-spalinowa.html</url> 3.2.2.7 <cena> (wymagany) Cena produktu w zł. Obowiązującym separatorem dziesiętnym jest kropka, dopuszczalne jest podanie jednego lub dwóch miejsc po przecinku. Proszę nie stosować separatorów tysięcy. UWAGA: Cena musi być większa od zera. Podanie ceny zerowej jest traktowane jako błąd. Przykłady: <!-- Dobrze: --> <cena>123.00</cena> <cena>123</cena> <cena>123.5</cena> <!-- Źle: --> <cena>1 023</cena> <cena>1,023.00</cena> <cena>123,5</cena> <cena>1 023</cena> 3.2.2.8 <sciezka_kategorii> (wymagany) Element ten zawiera ścieżkę kategorii, w której znajduje się produkt w Państwa sklepie, np. RTV > Telewizory > Plazma > 42". Wpisanie pełnej ścieżki Państwa kategorii w tym polu umożliwia przypisywanie do kategorii serwisu OnetZakupy. Podanie wartości w tym elemencie powoduje że Państwa kategoria będzie się przedstawiać tą wartością podaną w interfejsie mapowania/przypisania kategorii, co znacznie uprości proces mapowania/przypisania. <sciezka_kategorii>rtv > Telewizory > Plazma > 42"</sciezka_kategorii> 3.2.2.9 Identyfikator kategorii (wymagany) W tym miejscu podajemy kategorię w której znajduje się produkt. Sklep ma dwie możliwości: podać identyfikator kategorii w której oferta znajduje się w sklepie <id_kategorii_sklepu>. Będzie to wymagało przypisania temu identyfikatorowi odpowiadającej mu kategorii serwisu OnetZakupy w interfejsie administratora sklepu (patrz pkt 4. Przypisywanie (mapowanie) kategorii). Podać id kategorii-liść serwisu OnetZakupy, w której ma znaleźć się oferta - <id_kategorii_pm>. To rozwiązanie nie wymaga przypisania (mapowania). Wskazówka: Zachęcamy Państwa do przedstawiania się identyfikatorami kategorii naszego serwisu. Przyspieszy to proces wrzutu ofert poprzez uniknięcie procedury mapowania/przypisywania kategorii. Drzewo kategorii z identyfikatorami kategorii i liści, znajduje się w panelu administracyjnym sklepu. Uwaga: Elementów <id_kategorii_pm> i <id_kategorii_sklepu> nie należy stosować razem w opisie pojedynczej oferty, gdyż spowoduje to odrzucenie rekordu jako błędnego podczas walidacji. 9

<id_kategorii_sklepu> Tutaj podajemy identyfikator kategorii sklepu w której znajduje się oferta <id_kategorii_sklepu>2345aaa-333</id_kategorii_sklepu> lub: <id_kategorii_pm> Tutaj podajemy kategorię-liść serwisu OnetZakupy. <id_kategorii_pm>4962</id_kategorii_pm> UWAGA: Można przypisywać oferty wyłącznie do kategorii liści serwisu OnetZakupy. Identyfikator kategorii pm jest liczbą całkowitą większą od 1. 3.2.2.10 <marka_producent> (wymagany) Marka produktu. W przypadku braku możliwości podania marki, proszę podać producenta. Jeśli żadna z tych informacji nie może być uzupełniona należy wstawić ten element jako pusty. Oprócz elementu usuń jest to jedyny element który dopuszcza wstawienie pustej wartości. Przykłady: <marka_producent>vizir</marka_producent> lub: <marka_producent>henkel</marka_producent> lub, w przypadku braku wymaganych informacji: <marka_producent /> 3.2.3 Elementy opcjonalne Elementy opcjonalne dane nieobowiązkowe, które są jednak niezwykle ważne, ponieważ pozwolą Państwu na pełną prezentację oferty. Co zyskują Państwo wpisując możliwie najwięcej danych opcjonalnych? lepsze przypisanie Państwa ofert do SOPów (wzorców produktowych), co wiąże się dodatkowo z możliwością porównywania cen i parametrów technicznych produktów, szybsze dotarcie klienta do Państwa oferty, większą szansę wykorzystania ofert w miejscach redakcyjnych Galerii Handlowej, wykorzystanie w przyszłości w dodatkowych funkcjonalnościach Galerii Handlowej OnetZakupy, takich jak: strony eventowe, serwis prezentowy, newsletter oraz innych. Niewypełnienie informacji w elementach opcjonalnych spowoduje brak wyświetlenia oferty sklepu w serwisie prezentowym, na stronach eventowych czy też w newsletterach. UWAGA: Jeśli element opcjonalny zawiera elementy podrzędne (dzieci), podanie elementu podrzędnego jest obowiązkowe w wypadku użycia elementu nadrzędnego (rodzica). Wskazówka: Jeśli Dostawca nie posiada informacji którą opisuje element opcjonalny, wtedy nie należy umieszczać tego elementu w opisie pojedynczej oferty. 10

3.2.3.1 <produkt> Rodzaj produktu (N - nowy, U - używany) <produkt>n</produkt> 3.2.3.2 <opis> Opis produktu. Minimalna długość - 5 znaków. Opis należy umieścić w znacznikach CDATA: <opis><![cdata[ tu opis produktu w cdata który nie będzie parsowany jako xml ]]></opis> 3.2.3.3 <SOP_id skad="bdk"> Identyfikator strukturalnego opisu produktu (SOPu wzorca produktowego). Podanie tego elementu oznacza, że oferta ma zostać przypisana do SOPu o podanym identyfikatorze. W atrybucie skąd należy obowiązkowo podać od jakiego dostawcy SOP pochodzi ten identyfikator. W tej chwili możliwe jest podanie identyfikatora f-my BDK. <SOP_id skad="bdk">29384-23-234/55</sop_id> Identyfikatory BDK można znaleźć na stronie www.kupic.pl. Będzie możliwośc podawania innych id. 3.2.3.4 <kody_kreskowe> Element zawierający wszystkie posiadane przez Państwa kody EAN opisujące daną ofertę. Występuje w parze z elementem podrzędnym <kod>. 3.2.3.5 <kod> (podrzędny, wymagany co najmniej jeden) Element podrzędny dla <kody_kreskowe>. Jeśli został użyty opcjonalny element <kody_kreskowe>, należy podać co najmniej jeden kod EAN za pomocą elementu <kod> <kody_kreskowe> <kod>2332534535</kod> <kod>2334534523</kod> </kody_kreskowe> 3.2.3.6 <zdjecie> Element <zdjecie> zawiera bezwzględny (pełna ścieżka łącznie z http://) adres URL do zdjęcia produktu. Akceptowane są wyłącznie formaty: gif, jpg. Należy umieszczać adresy do zdjęć produktów w maksymalnej dostępnej na stronie rozdzielczości (tzn. np. zdjęć które pokazują się klientowi Państwa sklepu po kliknięciu przycisku powiększ zdjęcie ) nie większej jednak niż 1280x1024 px.. Zapewni to prawidłową prezentację zdjęć produktu przez nasz system skalujący i umożliwi większą elastyczność w prezentacji produktu. Zdjęcia nie powinny mieć wagi większej niż 1MB. Prosimy nie dodawać miniaturek zdjęć. Zdjęcie zostanie automatycznie pobrane przez nasz system. Jeżeli nie uda się pobrać zdjęcia po 3 próbach (poprzedzonych 15-sekundowym odstępem czasowym), oferta zostaje uznana za niekompletną i odrzucona. UWAGA: Proszę nie podawać adresów do miniaturek! Podanie miniaturki może spowodować zniekształcenie zdjęcia w przypadku konieczności prezentacji powiększonego zdjęcia produktu. 11

<zdjecie>http://www.zakupy.onet.pl/kosiarka.jpg</zdjecie> 3.2.3.7 <autorzy> Element pozwalający podać autora lub autorów danej książki. Należy podać co najmniej jednego autora poprzez użycie elementu podrzędnego <autor>. <autorzy> <autor>adam Mickiewicz</autor> <autor>juliusz Słowacki</autor> </autorzy> lub: <autorzy> <autor>juliusz Słowacki</autor> </autorzy> 3.2.3.8 <wykonawcy> Wykonawcy danego utworu/albumu (dla muzyki). Należy podać co najmniej jednego wykonawcę poprzez użycie elementu podrzędnego <wykonawca> <wykonawcy> <wykonawca>feel</wykonawca> </wykonawcy> 3.2.3.9 <rezyserzy> Reżyser lub reżyserzy filmu. Należy podać maksymalnie dwóch reżyserów poprzez użycie elementu podrzędnego <rezyser>. <rezyserzy> <rezyser>steven Spielberg</rezyser> </rezyserzy> 3.2.3.10 <aktorzy> Aktorzy grający w filmie. Należy podać co najmniej jednego aktora poprzez użycie elementu podrzędnego <aktor> <aktorzy> <aktor>cezary Pazura</aktor> <aktor>marek Kondrat</aktor> </aktorzy> 3.2.3.11 <nosniki> Nośniki na których zapisany jest produkt. Należy podać maksymalnie dwa za pomocą elementu podrzędnego <nosnik>. Dopuszczalne wartości: DVD, CD, MD, MMC, VHS, VCD, UMD, inne. <nosniki> <nosnik>dvd</nosnik> </nosniki> 12

3.2.3.12 <gatunek> Gatunek literacki książki, gatunek muzyki itp. <gatunek>ambient</gatunek> lub: <gatunek>thriller</gatunek> 3.2.3.13 <rok_wydania> Rok wydania książki <rok_wydania>98</rok_wydania> Dopuszczalny jest zarówno zapis: 98 jak i 1998. 3.2.3.14 <wydawnictwo> Wydawnictwo nazwa instytucji wydającej książki, czasopisma i gazety <wydawnictwo>helion</wydawnictwo> 3.2.3.15 <ISBN> ISBN - niepowtarzalny 13-cyfrowy identyfikator książki <ISBN>234253465</ISBN> 3.2.3.16 <rozmiar> Rozmiar odzieży i obuwia. Maksymalna długość wartości: 15 znaków. <rozmiar>xl</rozmiar> <rozmiar>38</rozmiar> <rozmiar>52</rozmiar> <rozmiar>80c</rozmiar> <rozmiar>42/176</rozmiar> <rozmiar>27,5</rozmiar> <rozmiar>116</rozmiar> 3.2.3.17 <plec> Dopuszczalne wartości: K - kobieta, M - mężczyzna, U unisex. <plec>m</plec> 3.2.3.18 <kolory> Należy podać co najmniej jeden kolor używając elementu podrzędnego <kolor> <kolory> <kolor>bahama yellow palony</kolor> <kolor>czerwony</kolor> </kolory> 13

3.2.3.19 <darmowa_dostawa> Darmowa dostawa oznacza, że klient zamawiający ten produkt otrzyma go nie ponosząc kosztów transportu. Możliwe wartości: tak, nie, TAK, NIE, T, N, Y, Tak, Nie, t, n <darmowa_dostawa>n</darmowa_dostawa> 3.2.3.20 <oferta_specjalna> Określa czy produkt jest objęty promocją (atrybut "typ": P - promocja, W - wyprzedaż). W przypadku umieszczenia tego elementu musimy podać cenę promocyjną lub zniżkę w procentach. Jest elementem nadrzędnym dla elementów <promocyjna_cena> oraz <zniżka>. typ= P" lub W (atrybut wymagany) Określa typ oferty specjalnej (promocja lub wyprzedaż). W zależności od podanej wartości atrybutu typ podajemy cenę promocyjną lub zniżkę w procentach. 3.2.3.21 <promocyjna_cena> (podrzędny dla <oferta_specjalna>) Promocyjna cena. Obowiązują takie same zasady jak w przypadku elementu 3.2.2.7 <cena> (wymagany). 3.2.3.22 <znizka> (podrzędny dla <oferta_specjalna>) Zniżka w procentach. Nie należy podawać znaku %. Obowiązują takie same zasady jak w przypadku elementu 3.2.2.7 <cena> (wymagany). <oferta_specjalna typ="p"> <promocyjna_cena>15.45</promocyjna_cena> </oferta_specjalna> lub: <oferta_specjalna typ="w"> <znizka>23.5</znizka> </oferta_specjalna> 3.2.3.23 <kategoria_wiekowa> Kategoria wiekowa, do której jest skierowany produkt: dla dziecka, dla młodzieży, dla dorosłych. Dopuszczalne wartości: dzieci, mlodziez, dorosli. <kategoria_wiekowa>dzieci</kategoria_wiekowa> 3.2.3.24 <przedzial_wiekowy> Przedział wiekowy, do którego skierowany jest produkt. Możliwość umieszczenia do dwóch wartości z listy za pomocą elementu podrzędnego <wiek>. Lista wartości: 0-3, 4-7, 8-10, 11-15, 16-20, 21-30, 31-50, powyzej 50, 18+ <przedzial_wiekowy> <wiek>0-3</wiek> <wiek>4-7</wiek> <przedzial_wiekowy> 3.2.3.25 <prezenty_na> Produkt może być prezentem na jedną z poniższych okazji. Możliwość umieszczenia do trzech wartości z listy (poniżej) za pomocą elementu podrzędnego <prezent_na>. 14

urodziny imieniny chrzest narodziny dziecka komunia slub walentynki gwiazdka mikolaj nowe mieszkanie wieczor panienski wieczor kawalerski zgoda podziekowanie zarty osiemnastka <prezenty_na> <prezent_na>zarty</prezent_na> <prezent_na>osiemnastka</prezent_na> <prezent_na>wieczor kawalerski</prezent_na> </prezenty_na> Uwaga: wartości <prezenty_na> muszą być zapisane dokładnie tak samo jak na przykładzie powyżej. 3.2.3.26 <prezent_dla> Produkt może być prezentem dla (patrz lista osób poniżej). Możliwość umieszczenia do trzech wartości z listy (poniżej) za pomocą elementu podrzędnego <prezent_dla>. Lista wartości: niej niego pary dziecka nastolatka mamy taty babci dziadka pani(a) domu dzialkowicza majsterkowicza kolekcjonera gadzeciarza aktywnych domatorow <prezenty_dla> <prezent_dla>niej</prezent_dla> <prezent_dla>nastolatka</prezent_dla> </prezenty_dla> 3.2.3.27 <dodatkowe> tutaj będą umieszczane nowe elementy o znaczeniu specjalnym, jak np. eksport oferty do toolboxa Tradedoublera. Element musi zawierać poprawnie sformatowany XML. O możliwości zamieszczania nowych znaczników będziemy informowali w miarę włączania nowych funkcjonalności. 15

4. Przypisywanie (mapowanie) kategorii Przypisywanie (mapowanie) kategorii. Mapowanie kategorii to przypisywanie kategorii sklepu do kategorii serwisu. Jeśli w pliku xml zawierającym wrzut ofert przedstawiacie się Państwo kategoriami sklepu (<id_kategorii_sklepu>), wówczas przeprowadzenie mapowania jest konieczne, aby oferty mogły wyświetlić się w serwisie OnetZakupy. Mapowania można dokonać na dwa sposoby. 4.1 Mapowanie za pośrednictwem pliku xml z mapą kategorii. Aby przygotować plik xml z mapą kategorii sklepu należy pobrać plik xml z kategoriami OnetZakupy (plik zawiera identyfikatory wszystkich kategorii-liści) oraz przykładowy plik xml pokazujący jak wykonać mapowanie. Na podstawie wzoru należy sporządzić odpowiedni plik xml, obejmujący wszystkie kategorie, w których Sklep zamierza umieszczać oferty. <kategoria> <!-- ścieżka kategorii w sklepie --> <sciezka_kategorii>agd > Do zabudowy > Ekspresy do kawy</sciezka_kategorii> <!-- Identyfikator kategorii sklepu --> <id_kategorii_sklepu>1</id_kategorii_sklepu> <!-- Identyfikator kategorii Platformy Marketplace --> <id_kategorii_pm>2786</id_kategorii_pm> </kategoria> Tak przygotowany plik należy załadować w panelu administracyjnym sklepu (zakładka Mapa kategorii). Po każdorazowym eksporcie ofert nastąpi ich automatyczne przypisanie do odpowiednich kategorii serwisu OnetZakupy, zgodnie z uprzednio wgraną mapą. 4.2 Ręczne mapowanie karegorii. Aby móc ręcznie zmapować (przypisać) kategorie, należy dokonać wrzutu ofert, w którym przedstawiacie się Państwo kategoriami sklepu. Wszystkie oferty z tego wrzutu zostaną odrzucone, natomiast wszystkie kategorie sklepu zawarte w tym wrzucie, zostaną zaciągnięte i pojawią się w zakładce Do zmapowania/ przypisania w panelu sklepu. Dzięki temu będzie możliwe ich ręczne przypisanie do kategorii serwisu OnetZakupy. Po dokonaniu przypisania należy ponownie dokonać eksportu ofert (czyli powtórnie wrzucić ten sam plik xml z ofertami). Oferty te zostaną automatycznie przypisane, zgodnie z dokonanym mapowaniem i pojawią się w serwisie OnetZakupy. Dokonane mapowanie będzie działało także przy kolejnych wrzutach. Uwaga: W przypadku pojawienia się nowych kategorii (dotąd nie zmapowanych) oferty w nich zamieszczone będą odrzucane. Każda nowa kategoria sklepu wymaga przypisania, a odrzucone oferty należy ponownie eksportować. 16

5. Schemat 17

6. Inne informacje 6.1. Oprogramowanie do sprawdzania poprawności plików xml Poprawność wygenerowanego z Państwa systemu pliku xml można zweryfikować samodzielnie za pomocą dowolnego narzędzia do edycji plików xml umożliwiającego sprawdzenie poprawności przy użyciu pliku schematu (xmlschema). Jednym z darmowych programów umożliwiających walidację jest Liquid XML Studio 2008, które można pobrać ze strony firmy Liquid Technologies. 6.2. Przykładowy plik XML <?xml version="1.0" encoding="utf-8"?> <!-- Created with Liquid XML Studio 1.0.8.0 (http://www.liquid-technologies.com) --> <oferty aktualizacja="t" xmlns="http://www.zakupy.onet.pl/walidacja/ofertypartnerzy.xsd"> <oferta> <!-- Unikalny identyfikator produktu w sklepie --> <identyfikator>1abf345c2456aaaff9abc24a-444</identyfikator> <!-- nazwa produktu --> <nazwa>produkt 123</nazwa> <!-- Adres produktu w sklepie --> <url>http://a.pl/a.html</url> <!-- Cena produktu --> <cena>123.00</cena> <!-- ścieżka kategorii w sklepie --> <sciezka_kategorii>rtv > Telewizory > Plazma > 42"</sciezka_kategorii> <!-- Identyfikator kategorii sklepu w której znajduje się produkt --> <id_kategorii_sklepu>2345aaa-333</id_kategorii_sklepu> <!-- Marka produktu lub producent--> <marka_producent>venom Inc.</marka_producent> <!-- Nowy (N)/Używany (U) --> <produkt>n</produkt> <!-- opis produktu --> <opis><![cdata[ tu opis produktu w cdata który nie będzie parsowany jako xml ]]></opis> <!-- identyfikator SOPu - pozwala przypisać produkt do SOPu --> <SOP_id skad="bdk">29384-23-234/55</sop_id> <!-- kody kreskowe (EAN) produktu --> <kody_kreskowe> <kod>23424234234556</kod> <kod>2342434654654556</kod> </kody_kreskowe> <zdjecie>http://www.zakupy.onet.pl/obrazek.jpg</zdjecie> <!-- autorzy lub autor --> <autorzy> <autor>adam Mickiewicz</autor> <autor>juliusz Słowacki</autor> </autorzy> <!-- wykonawcy lub wykonawca --> <wykonawcy> <wykonawca>britney Spears</wykonawca> </wykonawcy> <!-- reżyserzy lub reżyser --> <rezyserzy> <rezyser>steven Spielberg</rezyser> </rezyserzy> 18

<!-- aktorzy lub aktor --> <aktorzy> <aktor>john Wayne</aktor> <aktor>marek Kondrat</aktor> </aktorzy> <!-- nośniki lub nośnik --> <nosniki> <nosnik>dvd</nosnik> </nosniki> <!-- gatunek --> <gatunek> </gatunek> <!-- rok wydania --> <rok_wydania>98</rok_wydania> <!-- wydawnictwo --> <wydawnictwo>bullseye Lib.</wydawnictwo> <!-- ISBN --> <ISBN> </ISBN> <!-- rozmiar (do 15 znaków) --> <rozmiar>xl</rozmiar> <plec>m</plec> <!-- dostępne kolory lub kolor produktu --> <kolory> <kolor>bahama yellow palony</kolor> <kolor>czerwony</kolor> </kolory> <darmowa_dostawa>n</darmowa_dostawa> <oferta_specjalna typ="p"> <promocyjna_cena>1</promocyjna_cena> </oferta_specjalna> <przedzial_wiekowy> <wiek>0-3</wiek> <wiek>4-7</wiek> </przedzial_wiekowy> <prezenty_na> <prezent_na>zarty</prezent_na> <prezent_na>osiemnastka</prezent_na> <prezent_na>wieczor kawalerski</prezent_na> </prezenty_na> <prezenty_dla> <prezent_dla>niej</prezent_dla> </prezenty_dla> </oferta> <oferta> <identyfikator>3465385693485aaa-423984##@@</identyfikator> <usun /> </oferta> </oferty> 6.3. Dokument xmlschema definiujący postać pliku xml <?xml version="1.0" encoding="utf-8"?> <!-- Created with Liquid XML Studio 1.0.8.0 (http://www.liquid-technologies.com) --> <xs:schema xmlns:tns="http://www.zakupy.onet.pl/walidacja/oferty-partnerzy.xsd" attributeformdefault="unqualified" blockdefault="" finaldefault="" elementformdefault="qualified" targetnamespace="http://www.zakupy.onet.pl/walidacja/oferty-partnerzy.xsd" version="2.7-18.07.2008" xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="oferty"> 19

<xs:documentation>element zawierający zero lub więcej ofert, posiada rodzaj aktualizacji jako atrybut</xs:documentation> <xs:complextype> <xs:sequence> <xs:documentation>0 lub więcej ofert</xs:documentation> <xs:element minoccurs="0" maxoccurs="unbounded" name="oferta"> <xs:documentation>[element opcjonalny] Opisuje pojedynczą ofertę</xs:documentation> <xs:complextype> <xs:sequence> <xs:element name="identyfikator"> <xs:documentation>[element wymagany] Unikalny identyfikator produktu w Państwa sklepie.</xs:documentation> <xs:minlength value="1" /> <xs:choice> <xs:documentation>należy wybrać czy usuwamy ofertę (poprzez dodanie elementu usuń) czy też dodajemy / aktualizujemy ofertę (zachowanie domyślne kiedy brak elementu usuń).</xs:documentation> <xs:element block="" name="usun"> <xs:documentation>podanie tego elementu oznacza usunięcie oferty o podanym identyfikatorze. Jeśli element został podany, w tej ofercie nie można już podać żadnych innych elementów.</xs:documentation> <xs:restriction base="xs:token"> <xs:enumeration value="" /> <xs:sequence> <xs:documentation>elementy opisujące ofertę. Należy zachować kolejność elementów.</xs:documentation> <xs:element name="nazwa"> <xs:documentation>[element wymagany]: Nazwa produktu w sklepie. Minimalna długość nazwy - 1 znak</xs:documentation> <xs:minlength value="1" /> <xs:element name="url"> 20

<xs:documentation>[element wymagany] Adres produktu w sklepie. Po kliknięciu produktu Klient zostanie przekierowany na ten adres.</xs:documentation> <xs:restriction base="xs:anyuri"> <xs:pattern value="(http https ftp)://(.*(:.*)?@)?\s+\.\s+.*/.*" /> <xs:minlength value="10" /> <xs:element name="cena"> <xs:documentation>[element wymagany] Cena produktu. Obowiązującym separatorem dziesiętnym jest kropka. Proszę nie stosować separatorów tysięcy.</xs:documentation> <xs:restriction base="xs:float"> <xs:minexclusive value="0" /> <xs:pattern value="\d*(\.\d\d?)?" /> <xs:element name="sciezka_kategorii"> <xs:documentation>[element wymagany] Ścieżka kategorii w której znajduje się produkt w Państwa sklepie, np. RTV &gt; Telewizory &gt; Plazma &gt; 42". Dodanie wartości w tym polu powoduje że Państwa kategoria będzie się przedstawiać wartością podaną tutaj w interfejsie mapowania kategorii.</xs:documentation> <xs:minlength value="1" /> <xs:choice minoccurs="1"> <xs:documentation>[element wymagany] Należy wybrać jeden z elementów: kategoria_pm lub kategoria_sklepu</xs:documentation> <xs:element name="id_kategorii_pm"> <xs:documentation>identyfikator kategorii Platformy Marketplace w której ma znaleźć się produkt. Produkty można umieszczać tylko w kategoriach-liściach, tzn. takich które nie mają już żadnych podkategorii.</xs:documentation> <xs:restriction base="xs:integer"> <xs:minexclusive value="1" /> <xs:element name="id_kategorii_sklepu"> <xs:documentation>identyfikator kategorii w której znajduje się produkt w Państwa sklepie.</xs:documentation> 21

<xs:minlength value="1" /> </xs:choice> <xs:element name="marka_producent" type="xs:string"> <xs:documentation>[element wymagany] Marka produktu. W przypadku braku możliwości podania marki, proszę podać producenta. Jeśli żadna z tych informacji nie może być uzupełniona należy wstawić ten element jako pusty.</xs:documentation> <xs:element minoccurs="0" name="produkt"> <xs:documentation>[element opcjonalny] Rodzaj produktu (N - nowy, U - używany)</xs:documentation> <xs:enumeration value="n" /> <xs:enumeration value="u" /> <xs:element minoccurs="0" name="opis"> <xs:documentation>[element opcjonalny] Opis produktu. Minimalna długość - 5 znaków.</xs:documentation> <xs:minlength value="5" /> <xs:element minoccurs="0" name="sop_id"> <xs:documentation>[element opcjonalny] Zewnętrzny identyfikator SOPu, wymagane podanie atrybutu skad, identyfikującego dostawcę. </xs:documentation> <xs:complextype> <xs:simplecontent> <xs:extension base="xs:string"> <xs:attribute name="skad" use="required"> <xs:documentation>[atrybut wymagany] dostawca od którego pochodzi identyfikator. Możliwe wartości: BDK - identyfikator z bazy firmy BDK (cokupic.pl).</xs:documentation> <xs:restriction base="xs:nmtoken"> <xs:enumeration value="bdk" /> <xs:enumeration value="bdk" /> </xs:attribute> </xs:extension> </xs:simplecontent> </xs:complextype> <xs:element minoccurs="0" name="kody_kreskowe"> 22

<xs:documentation>[element opcjonalny] Kody EAN produktu. Podanie EAN zapewnia bezbłędne przypisanie produktu do SOPu (pod warunkiem że SOP opisujący Państwa produkt znajduje się w naszej bazie). Proszę podać wszystkie posiadane kody kreskowe dotyczące tego produktu. </xs:documentation> <xs:complextype> <xs:sequence> <xs:documentation>zawiera 1..n kodów kreskowych opisujących produkt.</xs:documentation> <xs:element maxoccurs="unbounded" name="kod"> <xs:documentation>kod kreskowy produktu (EAN)</xs:documentation> <xs:minlength value="1" /> </xs:sequence> </xs:complextype> <xs:element minoccurs="0" name="zdjecie"> <xs:documentation>[element opcjonalny] Adres URL do zdjęcia produktu. Akceptowane formaty: gif, jpg.</xs:documentation> <xs:restriction base="xs:anyuri"> <xs:pattern value="(http https ftp)://(.*(:.*)?@)?\s+\.\s+.*/.*" /> <xs:minlength value="10" /> <xs:element minoccurs="0" name="autorzy"> <xs:documentation>[element opcjonalny] Autorzy (dla książek). Należy podać co najmniej jednego autora.</xs:documentation> <xs:complextype> <xs:sequence> <xs:element maxoccurs="unbounded" name="autor"> <xs:documentation>[element opcjonalny] Autor (dla książek)</xs:documentation> <xs:minlength value="1" /> </xs:sequence> </xs:complextype> <xs:element minoccurs="0" name="wykonawcy"> 23

<xs:documentation>[element opcjonalny] Wykonawcy danego utworu (dla muzyki). Należy podać co najmniej jednego wykonawcę.</xs:documentation> <xs:complextype> <xs:sequence> <xs:element maxoccurs="unbounded" name="wykonawca"> <xs:documentation>[element opcjonalny] Wykonawca (dla muzyki)</xs:documentation> <xs:minlength value="1" /> </xs:sequence> </xs:complextype> <xs:element minoccurs="0" name="rezyserzy"> <xs:documentation>[element opcjonalny] Reżyser (dla filmów). Należy podać maksymalnie dwóch reżyserów.</xs:documentation> <xs:complextype> <xs:sequence> <xs:element minoccurs="1" maxoccurs="2" name="rezyser"> <xs:documentation>[element opcjonalny] Reżyser (dla filmów)</xs:documentation> <xs:minlength value="1" /> </xs:sequence> </xs:complextype> <xs:element minoccurs="0" name="aktorzy"> <xs:documentation>[element opcjonalny] aktorzy grający w filmie. Należy podać co najmniej jednego aktora.</xs:documentation> <xs:complextype> <xs:sequence> <xs:element maxoccurs="unbounded" name="aktor"> <xs:documentation>[element opcjonalny] aktor (dla filmów)</xs:documentation> <xs:minlength value="1" /> </xs:sequence> </xs:complextype> 24

<xs:element minoccurs="0" name="nosniki"> <xs:documentation>[element opcjonalny] Rodzaj nośnika (można podać maksymalnie dwa).</xs:documentation> <xs:complextype> <xs:sequence> <xs:element minoccurs="1" maxoccurs="2" name="nosnik"> <xs:documentation>[element opcjonalny] Rodzaj nośnika. Możliwe wartości: DVD, CD, MD, MMC, VHS, VCD, UMD, inne</xs:documentation> <xs:restriction base="xs:nmtoken"> <xs:enumeration value="dvd" /> <xs:enumeration value="cd" /> <xs:enumeration value="md" /> <xs:enumeration value="mmc" /> <xs:enumeration value="vhs" /> <xs:enumeration value="vcd" /> <xs:enumeration value="umd" /> <xs:enumeration value="inne" /> </xs:sequence> </xs:complextype> <xs:element minoccurs="0" name="gatunek"> <xs:documentation>[element opcjonalny] Gatunek</xs:documentation> <xs:minlength value="1" /> <xs:element minoccurs="0" name="rok_wydania"> <xs:documentation>[element opcjonalny] Rok wydania</xs:documentation> <xs:pattern value="\d\d(\d\d)?" /> <xs:element minoccurs="0" name="wydawnictwo"> <xs:documentation>[element opcjonalny] Wydawnictwo</xs:documentation> <xs:minlength value="1" /> <xs:element minoccurs="0" name="isbn"> 25

<xs:documentation>[element opcjonalny] ISBN</xs:documentation> <xs:minlength value="1" /> <xs:element minoccurs="0" name="rozmiar"> <xs:documentation>[element opcjonalny] Rozmiar. Maksymalna długość wartości: 15 znaków.</xs:documentation> <xs:maxlength value="15" /> <xs:minlength value="1" /> <xs:element minoccurs="0" name="plec"> <xs:documentation>[element opcjonalny] (K, M, U - unisex)</xs:documentation> <xs:restriction base="xs:nmtoken"> <xs:enumeration value="k" /> <xs:enumeration value="m" /> <xs:enumeration value="u" /> <xs:element minoccurs="0" name="kolory"> <xs:documentation>[element opcjonalny] Kolory produktu. Należy podać co najmniej jeden kolor.</xs:documentation> <xs:complextype> <xs:sequence> <xs:element maxoccurs="unbounded" name="kolor"> <xs:documentation>[element opcjonalny] Kolor produktu</xs:documentation> <xs:minlength value="1" /> </xs:sequence> </xs:complextype> <xs:element minoccurs="0" name="darmowa_dostawa"> <xs:documentation>[element opcjonalny] Możliwe wartości:tak, nie, TAK, NIE, T, N, Y, Tak, Nie, t, n</xs:documentation> <xs:restriction base="xs:token"> 26

<xs:enumeration value="tak" /> <xs:enumeration value="nie" /> <xs:enumeration value="tak" /> <xs:enumeration value="nie" /> <xs:enumeration value="t" /> <xs:enumeration value="n" /> <xs:enumeration value="y" /> <xs:enumeration value="tak" /> <xs:enumeration value="nie" /> <xs:enumeration value="t" /> <xs:enumeration value="n" /> <xs:element minoccurs="0" name="oferta_specjalna"> <xs:documentation>[element opcjonalny] Określa czy produkt jest objęty promocją (atrybut "typ": P - promocja, W - wyprzedaż). W przypadku umieszczenia tego elementu musimy podać cenę promocyjną lub zniżkę w procentach</xs:documentation> <xs:complextype> <xs:choice> <xs:documentation>w przypadku oferty specjalnej mamy możliwość wyboru ceny promocyjnej lub zniżki.</xs:documentation> <xs:element name="promocyjna_cena"> <xs:documentation>promocyjna cena (powinna być niższa od normalnej ceny produktu podanej powyżej).</xs:documentation> <xs:restriction base="xs:float"> <xs:minexclusive value="0" /> <xs:pattern value="\d*(\.\d\d?)?" /> <xs:element name="znizka"> <xs:documentation>zniżka w %</xs:documentation> <xs:restriction base="xs:float"> <xs:pattern value="\d*(\.\d\d?)?" /> <xs:minexclusive value="0" /> </xs:choice> <xs:attribute name="typ" use="required"> <xs:documentation>[atrybut wymagany] Rodzaj oferty specjalnej: P-promocja, W-wyprzedaż</xs:documentation> <xs:restriction base="xs:nmtoken"> <xs:enumeration value="p" /> <xs:enumeration value="w" /> </xs:attribute> 27

</xs:complextype> <xs:element minoccurs="0" name="kategoria_wiekowa"> <xs:documentation>[element opcjonalny] kategoria wiekowa (dla dziecka, dla młodzieży, dla dorosłych)</xs:documentation> <xs:restriction base="xs:nmtoken"> <xs:enumeration value="dzieci" /> <xs:enumeration value="mlodziez" /> <xs:enumeration value="dorosli" /> <xs:element minoccurs="0" name="przedzial_wiekowy"> <xs:documentation>[element opcjonalny] Przedział wiekowy do którego skierowany jest produkt. Możliwość umieszczenia do dwóch wartości z listy.</xs:documentation> <xs:complextype> <xs:choice> <xs:documentation>[element opcjonalny] Przedział wiekowy, możliwość wyboru dwóch elementów.</xs:documentation> <xs:element minoccurs="1" maxoccurs="2" name="wiek"> <xs:documentation>[element wymagany] Przedział wiekowy do którego skierowany jest produkt. Lista wartości: 0-3, 4-7, 8-10, 11-15, 16-20, 21-30, 31-50, powyżej 50, 18+</xs:documentation> <xs:restriction base="xs:token"> <xs:enumeration value="0-3" /> <xs:enumeration value="4-7" /> <xs:enumeration value="8-10" /> <xs:enumeration value="11-15" /> <xs:enumeration value="16-20" /> <xs:enumeration value="21-30" /> <xs:enumeration value="31-50" /> <xs:enumeration value="powyzej 50" /> <xs:enumeration value="18+" /> </xs:choice> </xs:complextype> <xs:element minoccurs="0" name="prezenty_na"> <xs:documentation>[element opcjonalny] Produkt może być prezentem na... Możliwość umieszczenia do trzech wartości z listy.</xs:documentation> <xs:complextype> <xs:choice> <xs:documentation>[element opcjonalny] Prezent z okazji... Możliwość wyboru 3 elementów.</xs:documentation> <xs:element minoccurs="1" maxoccurs="3" name="prezent_na"> 28

<xs:documentation>[element wymagany] Prezent na okazję z listy:urodziny imieniny, chrzest narodziny dziecka, komunia, slub, walentynki, gwiazdka mikolaj, nowe mieszkanie, wieczor panienski, wieczor kawalerski, zgoda, podziekowanie, zarty, osiemnastka</xs:documentation> <xs:restriction base="xs:token"> <xs:enumeration value="urodziny imieniny " /> <xs:enumeration value="chrzest narodziny dziecka " /> <xs:enumeration value="komunia " /> <xs:enumeration value="slub " /> <xs:enumeration value="walentynki " /> <xs:enumeration value="gwiazdka mikolaj " /> <xs:enumeration value="nowe mieszkanie " /> <xs:enumeration value="wieczor panienski " /> <xs:enumeration value="wieczor kawalerski " /> <xs:enumeration value="zgoda " /> <xs:enumeration value="podziekowanie " /> <xs:enumeration value="zarty " /> <xs:enumeration value="osiemnastka" /> </xs:choice> </xs:complextype> <xs:element minoccurs="0" name="prezenty_dla"> <xs:documentation>[element opcjonalny] Prezent dla... Możliwość umieszczenia do trzech wartości z listy.</xs:documentation> <xs:complextype> <xs:choice> <xs:documentation>[element opcjonalny] Prezent dla... Możliwość wyboru trzech elementów.</xs:documentation> <xs:element minoccurs="1" maxoccurs="3" name="prezent_dla"> <xs:documentation>[element wymagany] Prezent (z listy) dla: niej, niego, pary, dziecka, nastolatka, mamy, taty, babci, dziadka, pani(a) domu, dzialkowicza, majsterkowicza, kolekcjonera, gadzeciarza, aktywnych, domatorow</xs:documentation> <xs:restriction base="xs:token"> <xs:enumeration value="niej" /> <xs:enumeration value="niego" /> <xs:enumeration value="pary" /> <xs:enumeration value="dziecka" /> <xs:enumeration value="nastolatka" /> <xs:enumeration value="mamy" /> <xs:enumeration value="taty" /> <xs:enumeration value="babci" /> <xs:enumeration value="dziadka" /> <xs:enumeration value="pani(a) domu" /> <xs:enumeration value="dzialkowicza" /> <xs:enumeration value="majsterkowicza" /> <xs:enumeration value="kolekcjonera" /> <xs:enumeration value="gadzeciarza" /> 29

<xs:enumeration value="aktywnych" /> <xs:enumeration value="domatorow" /> </xs:choice> </xs:complextype> <xs:element minoccurs="0" name="dodatkowe"> <xs:documentation>[element opcjonalny] Inne informacje.</xs:documentation> <xs:complextype> <xs:sequence> <xs:any processcontents="skip" /> </xs:sequence> </xs:complextype> </xs:sequence> </xs:choice> </xs:sequence> </xs:complextype> </xs:sequence> <xs:attribute name="aktualizacja" use="required"> <xs:documentation>[atrybut wymagany] Atrybut ten wskazuje czy plik zawiera tylko oferty do zaktualizowania (wartość "tak"), czy też całą ofertę sklepu (wartość "nie").</xs:documentation> <xs:restriction base="xs:token"> <xs:enumeration value="tak" /> <xs:enumeration value="nie" /> <xs:enumeration value="tak" /> <xs:enumeration value="nie" /> <xs:enumeration value="t" /> <xs:enumeration value="n" /> <xs:enumeration value="y" /> <xs:enumeration value="tak" /> <xs:enumeration value="nie" /> <xs:enumeration value="t" /> <xs:enumeration value="n" /> </xs:attribute> </xs:complextype> </xs:schema> 30