psarema-xml

Προδιαγραφές XML

To παρόν έχει σαν σκοπό να περιγράψει την δομή και την λειτουργικότητα που πρέπει να έχει το XML που παρέχει ένα ηλεκτρονικό κατάστημα στο Skroutz. Η δομή του XML δεν χρειάζεται να είναι συγκεκριμένη αρκεί να περιέχονται τουλάχιστον τα απαραίτητα πεδία όπως αυτά περιγράφονται στην αντίστοιχη ενότητα.

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Απαιτήσεις

Σε γενικές γραμμές το XML αρχείο είναι απαραίτητο να πληροί τις εξής προδιαγραφές:

  • Να καθορίζει το encoding.
  • Να παρέχει πληροφορία την ώρα που δημιουργήθηκε.
  • Να είναι valid (μπορείτε να το ελέγξετε εδώ).
  • Να είναι σε συμπιεσμένη μορφή (zip ή gzip) αν το μέγεθος του υπερβαίνει τα 10MB.
  • Να μην επαναλαμβάνει τα ίδια προϊόντα (δείτε περισσότερα εδώ).
  • Να περιλαμβάνει τον Φ.Π.Α στις τιμές.

Εδώ μπορείτε να δείτε παράδειγμα ενός XML και εδώ μπορείτε να βρείτε το XSD για λόγους validation του παραγόμενου XML.

Εναλλακτικά, μπορείτε να ελέγξετε το XML σας με βάση τις προδιαγραφές του Skroutz.

Τεχνικά Χαρακτηριστικά

Για να μπορεί να γίνει δεκτό το Data Feed θα πρέπει να περιέχει όλα τα υποχρεωτικά πεδία που πληρούν τις προδιαγραφές όπως αυτές ορίζονται παρακάτω.

XML Declaration

Το XML θα πρέπει να περιλαμβάνει οπωσδήποτε το encoding του αρχείου και την ημερομηνία δημιουργίας. Η ημερομηνία δημιουργίας χρησιμοποιείται για να εξακριβώσουμε αν κάποιο αρχείο περιέχει ενημερωμένα δεδομένα ή όχι.

ΠΑΡΑΔΕΙΓΜΑ
<?xml version="1.0" encoding="UTF-8"?>
<mywebstore>
   <created_at>2010-04-08 12:32</created_at>
   ...
</mywebstore>
ΣΗΜΕΙΩΣΗ

To encoding που δηλώνετε στο declaration πρέπει να είναι το πραγματικό. Αν π.χ. δηλώνετε ISO-8859-7, το αρχείο δεν μπορεί να περιέχει χαρακτήρες από άλλο character set γιατί υπάρχει ενδεχόμενο να μην είναι έγκυρο, με αποτέλεσμα τη μη ανανέωση των προϊόντων.

ΣΗΜΕΙΩΣΗ

Αν τα αρχεία δεν παράγονται σε πραγματικό χρόνο, θα πρέπει να φροντίσετε η διαδικασία αυτή να γίνεται τουλάχιστον μία φορά την ημέρα.

Πεδία

Στον παρακάτω πίνακα μπορείτε να δείτε περιληπτικά τα πεδία που αναγνωρίζονται από το Skroutz:

Η HTML δεν επιτρέπεται σε κανένα από τα πεδία του XML.

ΌνομαΤύποςΜέγιστο ΜήκοςΥποχρεωτικόΠαράδειγμα
Unique ID String 200 Ναι 322
Name String 300 Ναι Samsung Galaxy S4 16GB
Product Link String 1000 Ναι http://www.someurl.com/products/322.html
Image Link String 400 Ναι http://www.someurl.com/images/322.jpg
Category Name String 250 Ναι Κινητά τηλέφωνα
Price Decimal - Ναι 23.22
InStock List - Ναι Y
Availability String 60 Ναι Σε 2 μέρες
Manufacturer String 100 Ναι Samsung
MPN / ISBN String 80 Ναι GF322234
Size String 500 Όχι* 36,37,38 1/2,40,44
Shipping Costs Decimal - Όχι 3.22
Color String 100 Όχι Μαύρο

* Υποχρεωτικό για τις κατηγορίες μόδας όπου υπάρχουν νούμερα

Unique ID

To πεδίο αυτό είναι το μοναδικό αναγνωριστικό του προϊόντος στο κατάστημά σας. Η τιμή του πεδίου αυτού είναι υποχρεωτικό να παραμείνει ίδια καθ' όλη τη διάρκεια "ζωής" του προϊόντος.

Αν αλλάξει o τίτλος ενός προϊόντος ώστε να αφορά διαφορετικό μοντέλο (π.χ. από Sony LDF700, γίνει Sony LDF800), το προϊόν θα απενεργοποιηθεί. Τα Unique ID πρέπει πάντα να αφορούν το ίδιο προϊόν.

Το Unique ID δεν μπορεί να υπάρχει σε παραπάνω από ένα προϊόν. Αν υπάρχει παραπάνω από μία φορά μέσα στο feed, τότε το προϊόν θα αποθηκευθεί με τα στοιχεία της τελευταίας σε σειρά εμφάνισης.

Σε περίπτωση που το commerce engine σας υποστηρίζει παραπάνω από μία γλώσσες, τα προϊόντα θα πρέπει να περιλαμβάνονται ΜΟΝΟ μία φορά και κατά προτίμηση στα Ελληνικά.

ΠΑΡΑΔΕΙΓΜΑ
<UniqueID>32</UniqueID>
<product id="44">...</product>
<PRODUCTID>232AD</PRODUCTID>

Name

Είναι ο τίτλος του προϊόντος. Στον τίτλο είναι απαραίτητο να περιλαμβάνονται όλα τα χαρακτηριστικά που αφορούν το προϊόν όπως π.χ. κατασκευαστής, μοντέλο, χρώμα, έκδοση, κατάσταση. Όσο πιο ακριβής είναι ο τίτλος του προϊόντος, τόσο πιο γρήγορα θα γίνει η ταξινόμησή του.

Ο τίτλος των προϊόντων που δεν είναι καινούρια θα πρέπει οπωσδήποτε να αναφέρει την κατάστασή τους (ανακατασκευασμένα, μεταχειρισμένα, εκθεσιακά κτλ), διαφορετικά θα απενεργοποιούνται από την ομάδα περιεχομένου.

ΠΑΡΑΔΕΙΓΜΑ
<Name>Nokia 5800 XpressMusic</Name>
<title>Nokia 5800 XpressMusic</title>

Στον τίτλο των προϊόντων δεν επιτρέπεται η αναφορά σε πληροφορίες που αφορούν στην εγγύηση του προϊόντος, στο κόστος των μεταφορικών εξόδων ή του τρόπου πληρωμής του, σε ασαφή δώρα / γενικές προσφορές που έχει επιλέξει το κατάστημα για να ενισχύσει την πώληση του προϊόντος και σε κάθε είδους προωθητική (marketing) ενέργεια.

Είναι ο σύνδεσμος που οδηγεί στη σελίδα του καταστήματός σας για το συγκεκριμένο προϊόν. Θα πρέπει να είναι έγκυρος σύνδεσμος και να ξεκινάει με http ή https.

Τα links ΔΕΝ πρέπει να είναι URL-encoded.

O σύνδεσμος αυτός είναι απαραίτητο να οδηγεί σε σελίδα προϊόντος και όχι σε κατηγορία ή συλλογή προϊόντων.

Στο σύνδεσμο του εκάστοτε προϊόντος δεν χρειάζεται να περιέχεται το session id της σύνδεσης.

Λάθος (περιέχει session id)
<url>http://www.mydomain.com/products/product.php?itemid=1&amp;osCsid=77777d01474f6df1e9d0775900409ddd&amp;page=1</url>
Σωστό (το session id έχει αφαιρεθεί)
<url>http://www.mydomain.com/products/product.php?itemid=1&amp;page=1</url>
ΠΑΡΑΔΕΙΓΜΑ
<link>http://www.mydomain.com/products/1</link>
<url>http://www.mydomain.com/products/product.php?itemid=1</url>
<url><![CDATA[http://www.mydomain.com/products/product.php?itemid=1&amp;somevar=3]]></url>
<url>http://www.mydomain.com/products/product.php?itemid=1&amp;amp;somevar=3</url>

Είναι η εικόνα (φωτογραφία) του προϊόντος. Πρέπει να είναι σύνδεσμος σε εικόνα και να ξεκινάει με http. Scripts που παράγουν εικόνες υπάρχει πιθανότητα να μη λειτουργούν σωστά, γι' αυτό και είναι προτιμητέο ο σύνδεσμος να οδηγεί στο πραγματικό αρχείο.

Όσο πιο μεγάλη είναι η εικόνα, τόσο το καλύτερο. Οι εικόνες αποθηκεύονται από το Skroutz και δημιουργείται ένα κατάλληλου μεγέθους thumbnail.

Η αποστολή φωτογραφιών με ενσωματωμένο το λογότυπο του καταστήματος ή οποιοδήποτε υδατογράφημα δεν επιτρέπεται.

Τα links ΔΕΝ πρέπει να είναι URL-encoded.

Αποφύγετε να βάζετε "Νο Image" εικόνες γιατί αν αργότερα την αλλάξετε, το Skroutz δεν θα την ανανεώσει. Αν κάποιο προϊόν σας δεν έχει φωτογραφία, στείλτε ως σύνδεσμο το κενό string. Όταν αργότερα προστεθεί η εικόνα, το σύστημα θα καταλάβει τη διαφορά και θα την ανανεώσει.

ΠΑΡΑΔΕΙΓΜΑ
<image>http://www.mydomain.com/photos/1.jpg</image>
<imageurl>http://www.mydomain.com/photos/b&amp;amp;b.jpg</imageurl>
<url><![CDATA[http://www.mydomain.com/photos/b&amp;b.jpg]]></url>

Category Name

Είναι η κατηγορία του προϊόντος. Είναι απαραίτητο να περιλαμβάνει όλη τη διαδρομή μέχρι την κατηγορία του προϊόντος. Π.χ. αν το προϊόν ανήκει στην κατηγορία Εσωτερικός Σκληρός Δίσκος, το πεδίο θα έχει τιμή Ηλεκτρονικοί Υπολογιστές > Hardware > Εσωτερικοί Σκληροί Δίσκοι.

Αποφύγετε διφορούμενες κατηγορίες που περιλαμβάνουν διαφορετικά προϊόντα μεταξύ τους (π.χ. "Εκτυπωτές & Scanner"), όπου η ταξινόμηση θα καθυστερεί λόγω των επιπλέον ελέγχων που χρειάζεται να γίνουν για να τοποθετηθούν τα προϊόντα στις σωστές κατηγορίες.

ΠΑΡΑΔΕΙΓΜΑ
<category>Κινητή Τηλεφωνία > Bluetooth</category>
<category_path>Ηλεκτρονικοί Υπολογιστές - Hardware - Επεξεργαστές</category_path>

Price

Είναι η τιμή του προϊόντος με Φ.Π.Α.. Αν η τιμή δεν περιλαμβάνει Φ.Π.Α., θα προστεθεί το ανώτατο ποσοστό για όλα τα είδη των προϊόντων.

Η τιμή θα πρέπει να είναι ίδια για όλους και να μην έχει προϋποθέσεις εφαρμογής.

InStock

Η κατάσταση του αποθέματος (stock) του προϊόντος.

Y
σημαίνει ότι το προϊόν υπάρχει σε stock, δηλαδή είναι ετοιμοπαράδοτο και υπάρχει στην αποθήκη σας ή στο κατάστημά σας.
N
σημαίνει ότι το προϊόν δεν υπάρχει σε stock.

Όταν δεν υπάρχει πληροφορία από το κατάστημα, το πεδίο αυτό θεωρείται ότι έχει την τιμή N.

Availability

Το πεδίο αυτό πρέπει να αναφέρει την έκφραση διαθεσιμότητας που χρησιμοποιείτε και στο site σας.

To Skroutz χρησιμοποιεί ένα προκαθορισμένο σύνολο από εκφράσεις διαθεσιμότητας, οι οποίες διασταυρώνονται με αυτές που περιλαμβάνονται στο XML σας.

Σε απόθεμα
αφορά ετοιμοπαράδοτα προϊόντα τα οποία υπάρχουν στο κατάστημα
1 έως 3 ημέρες
αφορά προϊόντα τα οποία υπάρχουν στην αποθήκη και αποστέλλονται στον χρήστη σε 1 έως 3 ημέρες
4 έως 7 ημέρες
αφορά προϊόντα τα οποία υπάρχουν στην αποθήκη και αποστέλλονται στον χρήστη σε 4 έως 7 ημέρες
7+ ημέρες
αφορά προϊόντα τα οποία υπάρχουν στην αποθήκη και αποστέλλονται στον χρήστη σε περισσότερες από 7 ημέρες
Κατόπιν Παραγγελίας
αφορά προϊόντα τα οποία δεν υπάρχουν σε απόθεμα και παραδίδονται μόνο κατόπιν παραγγελίας
Προ-παραγγελία
αφορά προϊόντα τα οποία αναμένονται και μπορούν να παραγγελθούν 15 μέρες πριν την άφιξη του προϊόντος

Manufacturer

Ο κατασκευαστής του προϊόντος.

Ο κατασκευαστής θα πρέπει να περιλαμβάνεται και στον τίτλο, ανεξάρτητα από το αν περιλαμβάνεται και στο πεδίο κατασκευαστή.

Ο κατασκευαστής θα πρέπει να αναφέρεται στον πραγματικό κατασκευαστή του προϊόντος και όχι για τον κατασκευαστή για τον οποίο προορίζεται. Για παράδειγμα μια θήκη κινητού τηλεφώνου για το Apple iPhone που κατασκευάζεται από τον κατασκευαστή Belkin, χρειάζεται να αναφέρει τον Belkin ως κατασκευαστή και όχι την Apple.

MPN/ ISBN

Είναι ο μοναδικός κωδικός που δίνει ο κατασκευαστής στα προϊόντα του. Χρησιμοποιείται για την ταυτοποίηση των προϊόντων σε περίπτωση που αυτό δεν είναι εμφανές από το μοντέλο.

Το πεδίο αυτό είναι υποχρεωτικό για τις κατηγορίες όπου ο κωδικός του κατασκευαστή είναι σημαντικός για την αναγνώριση και ταξινόμηση του προϊόντος (π.χ. Τηλεοράσεις, Κινητά τηλέφωνα, Ρολόγια Χειρός, Αθλητικά Παπούτσια κτλ)

Αν το προϊόν είναι βιβλίο, το πεδίο αυτό είναι υποχρεωτικό και πρέπει να περιέχει τον αριθμό ISBN του βιβλίου.

Βιβλία που δεν περιέχουν ISBN δεν θα ταξινομούνται.

Size

Αν το προϊόν έχει μεγέθη, εδώ χρειάζεται να περιλαμβάνονται όλα τα μεγέθη για τα οποία υπάρχει διαθεσιμότητα χωρισμένα μεταξύ τους με κόμμα.

Π.χ. ένα αθλητικό παπούτσι που υπάρχει στα μεγέθη 38, 39, και 39.5 χρειάζεται να έχει στο XML την παρακάτω εγγραφή:

<size>36,37,38,39.5</size>

Τα μισά μπορούν να δηλώνονται και ως 1/2, π.χ.

<size>36,37,38,39 1/2</size>

Επίσης σε περίπτωση ρούχων τα μεγέθη μπορεί να έχουν ένα από τα παρακάτω format:

<size>XXS, XS, S, M, L, XL, XXL, XXXL</size>
<size>Extra Small, Small, Medium, Large, Extra Large</size>
<size>00, 0, 2, 4, 6, 8, 10, 12, 14, 16</size>

Αν ένα προϊόν σας κάνει για παραπάνω από ένα μεγέθη (π.χ. κάλτσες), τότε μπορείτε να το δηλώσετε ως range χρησιμοποιώντας την παύλα (-). Παράδειγμα:

<size>37-39,42-45</size>

Τέλος, αν ένα προϊόν έχει παραπάνω από ένα μεγέθη (π.χ. παντελόνια) τότε μπορούν να δηλωθούν και τα δύο με την χρήση της καθέτου (/). Παράδειγμα:

<size>37/42,37/45</size>

Προϊόντα όπου το μέγεθος είναι απαραίτητο και δεν το περιλαμβάνουν (όπως π.χ. υποδήματα, πουκάμισα, κτλ) δεν θα ταξινομούνται.

Shipping Costs

Αν γνωρίζετε το ακριβές κόστος παράδοσης (π.χ. έχετε σταθερά μεταφορικά 5 ευρώ), μπορείτε να το βάλετε εδώ. Για δωρεάν μεταφορικά, η τιμή του πεδίου πρέπει να είναι 0.

Το κόστος αυτό είναι ΑΝΕΞΑΡΤΗΤΟ του βάρους και της τοποθεσίας αποστολής. Αν τα μεταφορικά σας έχουν προϋποθέσεις, αυτό το πεδίο είναι υποχρεωτικό να είναι κενό.

Αν τα μεταφορικά δεν ισχύουν έστω και για ένα προϊόν, θα απενεργοποιηθούν για όλα τα προϊόντα του XML.

Color

To χρώμα του προϊόντος. Το πεδίο χρώματος λειτουργεί ως χαρακτηριστικό του συγκεκριμένου προϊόντος και δεν μπορεί να περιλαμβάνει διαφορετικές καταχωρίσεις προϊόντων.

Οφείλει να περιέχει το χρώμα του προϊόντος που αποτυπώνεται στην εικόνα που το συνοδεύει.

Εφόσον για κάποιο μοντέλο υπάρχουν περισσότερα του ενός χρώματα, αυτά πρέπει να στέλνονται ως διαφορετικά προϊόντα με ξεχωριστό Unique ID.

ΠΑΡΑΔΕΙΓΜΑ
<color>Black</color>
<color>μαύρο</color>

Data Feed Validator

Μπορείτε να χρησιμοποιήσετε τον Data Feed Validator για να ελέγξετε το XML Feed σας ως προς τη συμβατότητά του με τις προδιαγραφές του Skroutz.

Mπορείτε να ανεβάσετε το XML σας και ο validator θα επιβεβαιώσει ότι είναι καλά ορισμένο, σύμφωνα με το πρωτόκολλο XML, θα προσπαθήσει να εντοπίσει το στοιχείο του XML που αντιστοιχεί σε κάθε ένα από τα προϊόντα σας και στη συνέχεια θα σαρώσει τα πεδία των προϊόντων για να εξακριβώσει ότι τηρούν τις προδιαγραφές του Skroutz.

Παράδειγμα XML

Το παρακάτω είναι ένα τμήμα ενός ενδεικτικού XML όπως αναγνωρίζεται από το Skroutz

<?xml version="1.0" encoding="UTF-8"?>
<mywebstore>
   <created_at>2010-04-08 12:32</created_at>
   <products>
      <product>
        <id>322233</id>
        <name><![CDATA[MadBiker 600]]></name>
        <link><![CDATA[http://www.mywebstore.gr/product/322233]]></link>
        <image><![CDATA[http://www.mywebstore.gr/product/322233.jpg]]></image>
        <category><![CDATA[Αθλητικά > Extreme Sports]]></category>
        <price_with_vat>322.33</price_with_vat>
        <manufacturer><![CDATA[SuperGlasses]]></manufacturer>
        <mpn>ZHD332</mpn>
        <instock>N</instock>
        <availability>Κατόπιν Παραγγελίας</availability>
        <size>38,39</size>
        <color>Μαύρο</color>
      </product>
      ...
      ...
      ...
   </products>
</mywebstore>

Μπορείτε επίσης να βρείτε ένα ολοκληρωμένο δείγμα στο http://demo.skroutzstore.gr/feed.xml.

Ενδεικτικό XSD

<?xml version="2.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <!-- required elements -->
  <!-- created at -->
  <xs:element name="created_at" type="xs:dateTime" />

  <!-- unique id -->
  <xs:element name="uid">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="200" />
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <!-- name -->
  <xs:element name="name">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="300" />
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <!-- link -->
  <xs:element name="link">

© 2004 - 2019 All Rights Reserved. | Φιλοξενία & Κατασκευή HostPlus LTD

hostplus 35

No Internet Connection