Εισαγωγή
Στο εγχειρίδιο θα βρείτε όλες τις πληροφορίες που χρειάζεστε για να αξιοποιήσετε με επιτυχία τις υπηρεσίες της Χρυσής Ευκαιρίας όσον αφορά στη φόρτωση, αποθήκευση και πολυκαναλική δημοσίευση των αγγελιών των Παρόχων.
Αν το προτιμάτε, μπορείτε να βρείτε τις πληροφορίες αυτές συγκεντρωμένες και σε ένα SDK.
Γενικές πληροφορίες
Περιγραφή
To Bulk Import Tool είναι μια υπηρεσία μαζικής αποστολής - καταχώρησης αγγελιών και των τυχόν ψηφιακών αρχείων που συνδέονται μαζί τους, και δημοσίευσής τους στην πολυκαναλική υποδομή της Χρυσής Ευκαιρίας.
Η υπηρεσία παρέχεται σε επιχειρήσεις και επαγγελματίες οι οποίοι διαθέτουν μεγάλο πλήθος αγγελιών για δημοσίευση και οι ανάγκες αλλαγών, τόσο στο περιεχόμενο των αγγελιών όσο και στις ανανεώσεις δημοσιεύσεων, είναι ιδιαίτερα αυξημένες.
Η υπηρεσία:
- διευκολύνει τις παραπάνω εργασίες επιτρέποντας τη μαζική μεταφορά των αγγελιών σε συμπιεσμένη (zipped) μορφή στους διακομιστές τής Χρυσής Ευκαιρίας. Τα αρχεία περιέχουν αγγελίες οι οποίες ορίζονται από τη δομημένη μορφή Unified Ad format που προτείνεται από τη Χρυσή Ευκαιρία καθώς και τα αντίστοιχα ψηφιακά αρχεία που τις συνοδεύουν.
- ενημερώνει τον Παροχέα για την εξέλιξη της διαδικασίας.
- υποστηρίζει την ανανέωση και διαχείριση αγγελιών franchisee από ένα master franchiser.
Σύνοψη διαδικασίας
Ο Παροχέας μπορεί να χρησιμοποιήσει τη διαδικασία ακολουθώντας τα εξής βήματα:
- Μορφοποιεί τις αγγελίες χρησιμοποιώντας την προδιαγραφή Unified Ad format ορίζοντας ταυτόχρονα τα ψηφιακά αρχεία τα οποία τις συνοδεύουν.
- Δημιουργεί αρχεία σε zipped μορφή που περιέχουν τις αγγελίες και τα συνοδευόμενα ψηφιακά αρχεία.
- Αποστέλλει στους ειδικά διαμορφωμένους Διακομιστές της Χρυσής Ευκαιρίας μέσω HTTP POST request, χρησιμοποιώντας τα διαπιστευτήρια που έλαβε κατά την εγγραφή του στην υπηρεσία.
- Η υπηρεσία τους απαντάει με τα αποτελέσματα της διαδικασίας και τα πιθανά λάθη.
Υποδοχή πακέτων
Παράδειγμα αποστολής:
<html>
<form action="http://import.xe.gr/request/add"
enctype="multipart/form-data" method="POST">
<div>
<strong>Φόρμα δοκιμαστική χρήσης υπηρεσίας μαζικής καταχώρησης</strong>
</div>
<table>
<tr>
<td>Username (Xρήστη υπηρεσίας μαζικής καταχώρησης)</td>
<td><input type="text" name="username" size="30"></td>
</tr>
<tr>
<td>Password (Xρήστη υπηρεσίας μαζικής καταχώρησης)</td>
<td><input type="text" name="password" size="30"></td>
</tr>
<tr>
<td>Αρχείο Αγγελιών</td>
<td><input type="file" name="file" size="40"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Αποστολή αρχείου">
</td>
</tr>
</table>
</form>
</html>
Η υποδοχή αρχείων μαζικής φόρτωσης αγγελιών εξυπηρετείται από 2 διαφορετικά endpoints προσβάσιμα μέσω HTTP (POST request). Συγκεκριμένα:
για add request το endpoint είναι:
http://import.xe.gr/request/add
για delete request το endpoint είναι:
http://import.xe.gr/request/remove
Και στις δύο περιπτώσεις η παράμετροι του POST request είναι τρεις:
Παράμετρος | Description |
---|---|
file | το αρχείο που περιλαμβάνει το xml request καθώς και τις εικόνες |
username | το username χρήσης της υπηρεσίας |
password | το password χρήσης της υπηρεσίας |
Κατά τη διαδικασία παραλαβής του αρχείου γίνεται xsd validation καθώς και έλεγχοι που αφορούν το package id κ.ά.. Η απάντηση του request ενημερώνει αν η παραλαβή ολοκληρώθηκε με επιτυχία και το πακέτο είναι έτοιμο για επεξεργασία ή αν παρουσιάστηκε κάποιο σφάλμα. Η επεξεργασία του πακέτου γίνεται ασύγχρονα. Όταν ολοκληρωθεί η επεξεργασία του πακέτου αποστέλεται ενημερωτικό email που περιγράφει αναλυτικά τα αποτελέσματα επεξεργασίας.
Επεξεργασία πακέτων
Η διαδικασία εξυπηρέτησης των αιτημάτων εκτελείται σε 2 χρόνους και αποτελείται από τα παρακάτω βήματα:
1ος χρόνος
- Έλεγχος διαπιστευτηρίων (username/password) κατά την αποστολή του αιτήματος στο endpoint URL.
- Παραλαβή του αρχείου, εφόσον τα διαπιστευτήρια είναι έγκυρα, και έλεγχος εγκυρότητας του XML request με βάση το XSD αρχείο.
- Έλεγχος εγκυρότητας του κλειδιού που περιέχεται στο XML request σε σχέση με τα διαπιστευτήρια.
- Το πακέτο εισέρχεται σε μια ουρά αιτημάτων τα οποία εξυπηρετούνται ασύγχρονα και σειριακά.
2ος χρόνος
- Ο μηχανισμός επεξεργασίας του πακέτου επεξεργάζεται το πακέτο και αποστέλλει ενημερωτικό email που ενημερώνει σχετικά με το αποτέλεσμα της επεξεργασίας.
- Τα μηνύματα λαθών για το πρώτο σετ ενεργειών επιστρέφονται σαν αποτέλεσμα της κλήσης της υπηρεσίας, ενώ το αποτέλεσμα της επεξεργασίας γνωστοποιείται μέσω email το οποίο αποστέλλεται στο email account που έχει δηλωθεί κατά την εγγραφή στην υπηρεσία.
Εμφάνιση αλλαγών στο site του xe.gr
Οι αγγελίες τις οποίες διαχειρίζεται ο μηχανισμός μαζικής καταχώρησης είναι άμεσα προσβάσιμες, μετά την ολοκλήρωση της επιτυχούς επεξεργασίας, από τη διαχειριστική πλατφόρμα (Pro) που διατίθεται στους επαγγελματίες. Ωστόσο, οι αλλαγές αυτές θα εμφανιστούν στο site του xe.gr μετά από κάποιο χρονικό διάστημα λόγω διαδικασιών συγχρονισμού που επιφέρουν μια μικρή καθυστέρηση.
Πολιτικές δημοσίευσης
Οι πολιτικές δημοσίευσης ορίζουν τον τρόπο και τους κανόνες με βάση τους οποίους γίνεται η ενημέρωση των αγγελιών του Παροχέα στους Διακομιστές της Χρυσής Ευκαιρίας.
Πολιτική “RENEW ALL STOCK”
Για όλες τις αγγελίες του Παροχέα που φορτώνονται:
- Αν η αγγελία υπάρχει ήδη στη Χρυσή Ευκαιρία, γίνεται ενημέρωση.
- Αν η αγγελία δεν υπάρχει στη Χρυσή Ευκαιρία, εισάγεται ως νέα.
- Οι υπόλοιπες αγγελίες τού επαγγελματία στη Χρυσή Ευκαιρία, διαγράφονται.
Πολιτική "INCREMENTAL"
Η πολιτική αυτή:
- Εισάγει τις αγγελίες που δεν υπάρχουν στη Χρυσή Ευκαιρία.
- Ενημερώνει τις αγγελίες που υπάρχουν ήδη στη Χρυσή Ευκαιρία.
Η πολιτική δηλώνεται στο xml element
Package.policy
και μπορεί να πάρει τις τιμές:
- RENEW ALL STOCK
- INCREMENTAL
Η σχέση μετξύ τύπου πακέτου και πολιτικών δημοσίευσης εμφανίζεται στον κάτωθι πίνακα
Πολιτική Δημοσίευσης | Mήνυμα |
---|---|
RENEW ALL STOCK | AddItemsRequest |
INCREMENTAL | AddItemsRequest |
INCREMENTAL | RemoveItemsRequest |
Authentication
Testing
Για να μπορείτε να στέλνετε δοκιμαστικά αγγελίες στα πλαίσια της ανάπτυξης της γέφυρας, χρειάζεστε ένα λογαριασμό μεσίτη.
Ακολουθούν τα στοιχεία ενός τέτοιου αλλά δοκιμαστικού λογαριασμού. Οι αγγελίες που στέλνετε με αυτό το λογαριασμό θα επεξεργάζονται κανονικά αλλά δεν θα δημοσιεύονται.
Τα στοιχεία του λογαριασμού για να στέλνετε δοκιμαστικά τις αγγελίες:
Στοιχείο | Τιμή |
---|---|
Όνομα | TEST ACCOUNT |
Όνομα σύνδεσης | batchImportTest@gmail.com |
Κωδικός | 999999 |
AuthToken | 1C12807239C511E083E1A3E108D089EC |
Agent ID | 10004616 |
Πιστοποιημένοι αριθμοί τηλεφώνων:
- 6947996916
- 2104455667
Στα πακέτα που θα στέλνετε, στον κωδικό του κάθε πακέτου, τοποθετείτε το πρόθεμα <Πρόθεμα που θα σας δώσουμε>-BIT-SANDBOX-
.
Μετά την επεξεργασία των πακέτων, θα λαμβάνετε ένα email με τα αποτελέσματα, πόσες αγγελίες επεξεργάστηκαν, πόσες επιτυχώς, πόσες ανεπιτυχώς και γιατί.
Production
Επικοινωνείστε μαζί μας για να προχωρήσουμε στη δημιουργία του λογαριασμού.
Προδιαγραφές
Unified Ad Format
Το Unified Ad Format είναι η πρόταση της Χρυσής Ευκαιρίας για την προτυποποίηση του ορισμού μιας αγγελίας. Περιέχει επίσης πληροφορίες (metadata) απαραίτητες για τη διαχείριση των ψηφιακών αρχείων που τις συνοδεύει, των δημοσιεύσεων ή των προϊόντων που χρησιμοποιούν για τη δημοσιευσή τους, τα μέσα στα οποία θα δημοσιευτούν καθώς και την πολιτική ενημέρωσης που θα ακολουθήσει το σύστημα.
Το Unified Ad Format είναι ένα έγγραφο XML και μπορεί να περιέχει πάνω από μια αγγελίες.
PackageId
Κάθε τέτοιο έγγραφο αποτελεί ένα πακέτο (Package) και σημαίνεται με το μοναδικό PackageId που είναι ευθύνη του παρόχου. Με το μοναδικό PackageId – άλλο κάθε φορά – ο Παροχέας αλλά και το σύστημα μπορεί να παρακολουθήσει με ευκολία την πορεία επεξεργασίας του πακέτου. Στην απλούστερη μορφή του θα μπορούσε να είναι ένας συνδυασμός κάποιου αναγνωριστικού του παρόχου μαζί με ένα timestamp. Η πληροφορία αυτή θα χρησιμοποιείται στην συνέχεια για τον εντοπισμό του πακέτου και για την παροχή πληροφορίας αναφορικά με το αποτέλεσμα της επεξεργασίας του πακέτου και των περιεχομένων αγγελιών (ποσοστό αγγελιών που καταχωρήθηκαν με επιτυχία, errors και warnings τα οποία παράχθηκαν).
Βασικά τμήματα πακέτου
Το έγγραφο αποτελείται από δυο βασικά τμήματα:
- Μεταδεδομένα που αφορούν το πακέτο στο σύνολό του, τον Παροχέα και το κατάστημα όπου θα δημοσιευτούν οι αγγελίες (σήμερα μόνο το xe.gr) κ.ά..
- Πληροφορία που αφορά τις αγγελίες και μπορεί να υπάρχει πάνω από μια φορές, μία για κάθε αγγελία, τα
Item
.
Η πληροφορία που παρέχεται σε αυτό το επίπεδο αφορά:
- Τα μεταδεδομένα σε επίπεδο αγγελίας
- Την οικονομική πληροφορία της αγγελίας
- Τα γεωγραφικά στοιχεία της αγγελίας
- Την πληροφορία που αφορά τα ψηφιακά αρχεία (εικόνες,video) που σχετίζονται με την αγγελία
XML structure
Η δομή του XML ορίζεται από το root Element με το όνομα AddItemsRequest
(RemoveItemsRequest
για διαγραφή) που ορίζει και το όνομα της υπηρεσίας.
Σε κάθε περίπτωση το root element περιλαμβάνει τα μεταδεδομένα του πακέτου (Package Metadata) και τα Item elements.
Package Metadata
Αίτημα προσθήκης αγγελιών
<?xml version="1.0" encoding="UTF-8"?>
<AddItemsRequest>
<Package.xeAuthToken>YOURTOKENHERE</Package.xeAuthToken>
<Package.schemaVersion>1.0</Package.schemaVersion>
<Package.id>1</Package.id>
<Package.timestamp>2010-11-30T18:33</Package.timestamp>
<Package.storeId>Store 1</Package.storeId>
<Package.trademark>XE</Package.trademark>
<Package.skipAssets>true</Package.skipAssets>
<Package.crmProviderCode>ABCDE</Package.crmProviderCode>
<Package.policy>INCREMENTAL</Package.policy>
<Item>.........</Item>
<Item>.........</Item>
...................
</AddItemsRequest>
Αίτημα διαγραφής αγγελιών
<?xml version="1.0" encoding="UTF-8"?>
<RemoveItemsRequest>
<Package.xeAuthToken>YOURTOKENHERE</Package.xeAuthToken>
<Package.schemaVersion>1.0</Package.schemaVersion>
<Package.id>1</Package.id>
<Package.timestamp>2010-11-30T18:33</Package.timestamp>
<Package.storeId>Store 1</Package.storeId>
<Package.trademark>XE</Package.trademark>
<Item>.........</Item>
<Item>.........</Item>
...................
</RemoveItemsRequest>
Τα μεταδεδομένα του Package είναι της μορφής Package.<πεδίο>
και περιγράφονται στον παρακάτω πίνακα. Είναι όλα τύπου STRING
.
Πεδίο | Υποχρεωτικό | Περιγραφή |
---|---|---|
xeAuthToken | ΝΑΙ | Κωδικός αυθεντικοποίησης - Σε κάθε Παροχέα αποδίδεται από το σύστημα ένας κωδικός ο οποίος πρέπει να χρησιμοποιείται σε κάθε επικοινωνία με αύτη την υπηρεσία |
schemaVersion | NAI | Έκδοση του request που χρησιμοποιείται (παρέχεται από το σύστημα. Σήμερα 1.1) |
id | NAI | Κωδικός πακέτου που παρέχεται από τον πελάτη και οφείλει να είναι μοναδικός για κάθε Παροχέα και πακέτο. |
timestamp | NAI | Ημερομηνία εισαγωγής πακέτου σύμφωνα με το πρότυπο UTC |
storeId | OXI | Αναγνωριστικό καταστήματος (Σήμερα μόνο xe.gr) |
trademark | OXI | Λεκτικό αναγνωριστικό αποστολέα. Το αναγνωριστικό εμφανίζεται στο κείμενο της αγγελίας κατά την δημοσίευσή της στο xe.gr |
skipAssets | OXI | Στέλνονται πακέτα χωρίς να επηρεάζονται κατά την ενημέρωση μιας αγγελίας οι φωτογραφίες που υπάρχουν μέχρι εκείνη την ώρα. Είναι τιμή per package και όχι per αγγελία. Αν είναι true, όλα τα assets αγνοούνται. Η τιμή true ή false είναι case insensitive. |
crmProviderCode | OXI | Αναγνωριστικό παρόχου γεφύρωσης. |
Τα παραπάνω πεδία ορίζονται στο σώμα του request όπως φαίνεται δίπλα και η πληροφορία αυτή προσαρτάται στην πληροφορία που αφορά το κάθε Item.
Item Metadata
Ως μεταδεδομένα αναφέρουμε όλα τα πεδία του item τα οποία δε σχετίζονται με περιγραφικά χαρακτηριστικά και δεν ανήκουν στα elements που περιγράφονται στις επόμενες παραγράφους.
Attributes
<Item type="re_prof" refId="4f4c33f6-d705-43a5-9180-6cdc181bdcf4" publicationType="GOLD">
<Item.ownerId>90</Item.ownerId>
<Item.majorPhone>210/200002047></Item.majorPhone>
<Item.departmentOnCategory>Real Estate</Item.departmentOnCategory>
<Item.otherPhones>
<Item.phone><![CDATA[ 6236/760183]]></Item.phone>
</Item.otherPhones>
<Item.internetText></Item.bodyText>
<Item.addOnText>
<![CDATA[κοντά στο μετρό και σε σχολεία]]>
</Item.internetText>
<Item.bodyText></Item.bodyText>
<Transaction.type>LET.NORMAL</Transaction.type>
.......
</Item>
Κάθε Item έχει τα ακόλουθα δύο υποχρεωτικά attributes:
Πεδίο | Τύπος | Περιγραφή |
---|---|---|
type | LOOKUP | Τύπος αγγελίας. (Οικόπεδο, Κατοικία κ.ά.). |
refId | STRING | Μοναδικός κωδικός αγγελίας που παρέχεται από τον Παροχέα και χρησιμοποιείται στη συνέχεια για τον εντοπισμό της. Χρησιμοποιείται από τον Παροχέα για να συνδέσει την αγγελία του με μοναδικό τρόπο με τη δική του Βάση Δεδομένων. |
Επιπλέον κάθε Item έχει το ακόλουθο προαιρετικό attribute:
Πεδίο | Τύπος | Περιγραφή |
---|---|---|
publicationType | LOOKUP | Τύπος προβολής (Οι αποδεκτές τιμές είναι: BASIC, GOLD). Αν το πεδίο δε συμπληρωθεί, η default τιμή είναι BASIC |
Elements
Κάθε Item έχει τα ακόλουθα elements. Είναι της μορφής Item.<πεδίο>
και είναι όλα τύπου String
.
Πεδίο | Υποχρεωτικό | Περιγραφή |
---|---|---|
ownerId | ΝΑΙ | Κωδικός ιδιοκτήτη της αγγελίας. |
majorPhone | ΝΑΙ | Κύριο τηλέφωνο αγγελίας. (Πιστοποιημένο) |
departmentOnCategory | ΟΧΙ | Κατηγοριοποίηση (Σήμερα έχει μόνο την τιμή ‘Real Estate’) |
otherPhones | ΟΧΙ | Άλλα τηλέφωνα. |
Σημειώσεις
Το Item.ownerID
είναι ο μοναδικός κωδικός που έχει ήδη αποδοθεί από το σύστημα στον ιδιοκτήτη της αγγελίας (μεσίτη). Ένα πακέτο μπορεί να περιέχει αγγελίες διαφορετικών ιδιοκτητών (Franchisees), αρκεί ο αποστολέας (Franchiser) να μπορεί να χρησιμοποιήσει το ownerId του Franchisee με τον οποίο έχει συμφωνία διαχείρισης των αγγελιών του. Το σύστημα ελέγχει για τη σχέση του ownerid (Franchisee) και του Franchiser που αποστέλλει το πακέτο.
<Item.otherPhones>
<Item.phone>2100000000</Item.phone>`
<Item.phone>2100000001</Item.phone>
</Item.otherPhones>
Το πεδίο Item.otherPhones
περιλαμβάνει στοιχεία της μορφής Item.phone
(δείτε δίπλα).
Τα τηλέφωνα αυτά θα πρέπει να είναι πιστοποιημένα για να γίνουν αποδεκτά και να εμφανιστούν στην αγγελία.
Η πιστοποίηση γίνεται ακολουθώντας τις συνήθεις διαδικασίες της Χρυσής Ευκαιρίας κατά τη διαδικασία registration του Παροχέα.
Item Fields
Αν θέλαμε να περιγράψουμε το συνολικό εμβαδόν 100 τετραγωνικών μιας κατοικίας θα έπρεπε στην λίστα πεδίων της αγγελίας να υπάρχει o εξής κώδικας
<Field>
<Name>Item.area</Name>
<Value>100</Value>
</Field>
Όπου Item.area είναι το όνομα του χαρακτηριστικού και το 100 είναι η τιμή του χαρακτηριστικού.
Ο κατάλογος των πεδίων που αφορούν το item παρέχονται με την μορφή ζευγών <όνομα πεδίου, τιμή πεδίου>
.
Τύποι χαρακτηριστικών – δυνατές τιμές
Τα χαρακτηριστικά μπορούν να έχουν έναν από τους παρακάτω τύπους τιμών:
- STRING: Αλφαριθμητικές τιμές
- INTEGER: Ακέραιοι αριθμοί
- FLOAT: Πραγματικοί αριθμοί (Τα δεκαδικά ψηφία σημαίνονται με ‘,’ (comma) π.χ. 2,32
- LOOKUP: Τιμές από λίστα διαθέσιμων τιμών, οι πίνακες τιμών δίνονται για κάθε χαρακτηριστικό
- BOOLEAN (0/1): Τιμές ΟΧΙ/ΝΑΙ
OTHER value
Τα χαρακτηριστικά που έχουν τύπο LOOKUP
παρέχουν ένα σύνολο τιμών από τα οποία ο Παροχέας πρέπει να επιλέξει. Υπάρχει η περίπτωση όμως, για
κάποιο LOOKUP
χαρακτηριστικό, να υποστηρίζεται η δυνατότητα ο Παροχέας να δώσει τη δική του τιμή. Το σύστημα τότε θα επιλέξει κατά την επεξεργασία την τιμή OTHER
. Δεν υπάρχει ιδιαίτερος τρόπος να δώσει ο Παροχέας την τιμή OTHER
. Σε κάποιο LOOKUP
χαρακτηριστικό που υποστηρίζει OTHER
πχ Item.Style
απλά δίνουμε την τιμή, πχ:
<Value>Ιδιοκατασκευή</Value>
Fields
Εισαγωγή
Κατάλογος χαρακτηριστικών (fields) για κάθε τύπο αγγελίας και οι εξαρτήσεις τους
Ακουλουθεί η πλήρης λίστα χαρακτηριστικών (fields) που προσφέρονται για κάθε τύπο αγγελίας. Σε ιδιαίτερη στήλη αναφέρεται ποια από αυτά είναι υποχρεωτικά. Στο τέλος κάθε τύπου αναφέρονται οι εξαρτήσεις των χαρακτηριστικών εφόσον υπάρχουν. Για παράδειγμα – όπως φαίνεται και από τον πίνακα Εξαρτήσεις χαρακτηριστικών - το Item.buildable_area
εξαρτάται από το Item.buildable
. Για να έχουμε δηλαδή Item.buildable_area
πρέπει να υπάρχει το Item.buildable
και να έχει την τιμή true.
Κάποια πεδία μπορούν να πάρουν πολλαπλές τιμές από τις διαθέσιμες οι οποίες δίνονται χωρισμένες με κόμμα π.χ. τοItem.viewType
μπορεί να έχει τις τιμές <Value>MOUNTAIN,FOREST</Value>
.
Τέλος, για τα πεδία που υπόκεινται σε έλεγχο τιμής, πέραν της υποχρεωτικής παρουσίας ή της τιμής από λίστες LOOKUP
, περιγράφεται το είδος του ελέγχου.
Αγγελίες Κατοικίας
Χαρακτηριστικό | Τύπος | Υπ. | Περιγραφή | MC | Σχόλια |
---|---|---|---|---|---|
Item.type | LOOKUP | ΝΑΙ | Είδος | ||
Item.subtype | LOOKUP | Υποείδος | ΝΑΙ | ||
Item.area | FLOAT | ΝΑΙ | Εμβαδόν | ||
Item.level | LOOKUP | ΝΑΙ | Επίπεδο | ΝΑΙ | |
Item.constructionType | LOOKUP | Είδος κατασκευής | ΝΑΙ | ||
Item.conditionSpecific | LOOKUP | Λεπτομερής κατάσταση | |||
Item.constructionYear | INTEGER | ΝΑΙ | Έτος κατασκευής | Μεγαλύτερη του 1900 και μικρότερη ή ίση του τρέχοντος έτους | |
Item.refurbishmentYear | INTEGER | Έτος ανακαίνισης | Μεγαλύτερη του 1900 και μικρότερη ή ίση του τρέχοντος έτους | ||
Item.floors | INTEGER | Όροφοι | |||
Item.floorsArea | FLOAT | Εμβαδόν ορόφων | Πεδίο προς κατάργηση | ||
Item.orientation | LOOKUP | Είδος προσανατολισμού | NAI | ||
Item.bedrooms | INTEGER | Αριθμός υπνοδωματίων | |||
Item.masterBedrooms | INTEGER | Αριθμός κυρίων υπνοδωματίων | Μικρότερη απο την τιμή του πεδίου Item.bedrooms | ||
Item.bathrooms | INTEGER | Μπάνια | |||
Item.wc | INTEGER | Πλήθος WC | Επιπλέον των Item.bathrooms | ||
Item.hasParking | 0/1 | Διαθέτει parking | |||
Item.parkingType | LOOKUP | Είδος parking | NAI | ||
Item.hasStorage | 0/1 | Διαθέτει αποθήκη | |||
Item.storageArea | FLOAT | Εμβαδόν αποθήκης | |||
Item.hasAircondition | 0/1 | Διαθέτει aircondition | |||
Item.hasSecureDoor | 0/1 | Διαθέτει πόρτα ασφαλείας | |||
Item.viewType | LOOKUP | Τύπος θέας | NAI | ||
Item.hasFireplace | 0/1 | Διαθέτει τζάκι | |||
Item.hasSolarBoiler | 0/1 | Διαθέτει ηλιακό θερμοσίφωνα | |||
Item.withoutElevator | 0/1 | Χωρίς ανελκυστήρα | |||
Item.hasGarden | 0/1 | Διαθέτει κήπο | |||
Item.gardenArea | FLOAT | Εμβαδόν κήπου | |||
Item.location | STRING | Περιοχή | |||
Item.land | FLOAT | Εμβαδόν οικοπέδου | Δεκαδικός με ακρίβεια 1 ψηφίου. | ||
Item.availabilityType | LOOKUP | Τύπος διαθεσιμότητας | |||
Item.hasPrivateTerrace | 0/1 | Διαθέτει ιδιόκτητη ταράτσα | |||
Item.terraceArea | FLOAT | Εμβαδόν ταράτσας | |||
Item.hasPool | 0/1 | Διαθέτει πισίνα | |||
Item.hasTents | 0/1 | Διαθέτει τέντες | |||
Item.isWithoutCommunalCharge | 0/1 | Χωρίς κοινόχρηστα | |||
Item.isSuitableForProfessionalUse | 0/1 | Κατάλληλο για επαγγελματική χρήση | |||
Item.isFurnished | 0/1 | Είναι επιπλωμένο | |||
Item.availableFrom | STRING | Διαθέσιμο από | |||
Item.spacesPlan | STRING | Διαμόρφωση χώρων | |||
Item.isSuitableForStudents | 0/1 | Κατάλληλο για φοιτητές | |||
Item.isAgentAccepted | 0/1 | Δεκτοί μεσίτες | |||
Item.hasSemiOpenSpaces | 0/1 | Διαθέτει ημιυπαίθριους χώρους | |||
Item.semiOpenSpacesArea | FLOAT | Εμβαδόν ημιυπαίθριων χώρων | |||
Item.energy_class | LOOKUP | ΝΑΙ | Ενεργειακή κλάση | A A_PLUS B B_PLUS C D E Z H NOT_APPLICABLE PENDING | |
Item.isSuitableForHolidayResidence | 0/1 | Κατάλληλο για εξοχική κατοικία | |||
Item.isSuitableForInvestment | 0/1 | Κατάλληλο για επένδυση | |||
Item.isAvailableForShortTimeRent | 0/1 | Διαθέσιμο και για μίσθωση μικρής διάρκειας | Εφαρμόζεται μόνο για τις ενοικιάσεις ακινήτων | ||
Item.hasAluminiumFrames | 0/1 | Κουφώματα αλουμινίου | |||
Item.hasInsectScreens | 0/1 | Σίτες | |||
Item.hasNightTimeElectricityDiscounts | 0/1 | Νυχτερινό ρεύμα | |||
Item.hasPlayroom | 0/1 | Playroom | |||
Item.petsAllowed | 0/1 | Επιτρέπονται κατοικίδια | |||
Item.floorType | LOOKUP | Δάπεδα | ΝΑΙ | ||
Item.utilitiesIncludedInRent | LOOKUP | Ενοίκιο περιλαμβάνει | ΝΑΙ | Εφαρμόζεται μόνο για τις ενοικιάσεις ακινήτων | |
Item.propertyZone | LOOKUP | Ζώνη | ΝΑΙ | ||
Item.heating | LOOKUP | Θέρμανση | ΝΑΙ | ||
Item.heatingMedium | LOOKUP | Μέσο θέρμανσης | ΝΑΙ |
Εξαρτώμενο χαρακτηριστικό | Πρωτεύον χαρακτηριστικό |
---|---|
Item.storageArea | Item.hasStorage |
Item.semiOpenSpacesArea | Item.hasSemiOpenSpaces |
Item.garden_area | Item.hasGarden |
Item.terraceArea | Item.hasPrivateTerrace |
Item.floors | Item.floorsArea |
Item.parkingType | Item.hasParking |
Αγγελίες Επαγγελματικής Στέγης
Χαρακτηριστικό | Τύπος | Υπ. | Περιγραφή | MC | Σχόλια |
---|---|---|---|---|---|
Item.type | LOOKUP | ΝΑΙ | Είδος | ||
Item.constructionType | LOOKUP | Είδος κατασκευής | ΝΑΙ | ||
Item.totalArea | FLOAT | ΝΑΙ | Συνολικό εμβαδόν | ||
Item.level | LOOKUP | ΝΑΙ | Επίπεδο | ΝΑΙ | |
Item.floorsArea | FLOAT | Εμβαδόν ορόφων | Πεδίο προς κατάργηση | ||
Item.conditionSpecific | LOOKUP | Λεπτομερής κατάσταση | |||
Item.constructionYear | INTEGER | ΝΑΙ | Έτος κατασκευής | Μεγαλύτερη του 1900 και μικρότερη ή ίση του τρέχοντος έτους | |
Item.refurbishmentYear | INTEGER | Έτος ανακαίνισης | Μεγαλύτερη του 1900 και μικρότερη ή ίση του τρέχοντος έτους | ||
Item.spacesLayout | STRING | Διαμόρφωση χώρων | Πεδίο προς κατάργηση | ||
Item.hasWC | 0/1 | Διαθέτει WC | |||
Item.hasLoadingRamp | 0/1 | Διαθέτει ράμπα φορτοεκφόρτωσης | |||
Item.hasLoft | 0/1 | Διαθέτει πατάρι | |||
Item.loftArea | FLOAT | Εμβαδόν παταριού | |||
Item.height | FLOAT | Ύψος | |||
Item.hasStorage | 0/1 | Διαθέτει αποθήκη | |||
Item.storageArea | FLOAT | Εμβαδόν αποθήκης | |||
Item.hasParking | 0/1 | Διαθέτει parking | |||
Item.parkingType | LOOKUP | Τύπος parking | |||
Item.parkingArea | FLOAT | Εμβαδόν parking | |||
Item.parkingSlots | INTEGER | Θέσεις parking | |||
Item.hasAircondition | 0/1 | Διαθέτει aircondition | |||
Item.hasElevator | 0/1 | Διαθέτει ανελκυστήρα | |||
Item.elevatorPayload | INTEGER | Βάρος ανύψωσης ανελκυστήρα | |||
Item.electricityType | LOOKUP | Τύπος ρεύματος | ΝΑΙ | ||
Item.location | STRING | Τοποθεσία | |||
Item.isWithInLand | 0/1 | Σε οικόπεδο | Προειδοποίηση για τιμές μικρότερες του 50 και μεγαλύτερες του 50000 | ||
Item.availabilityType | LOOKUP | Τύπος διαθεσιμότητας | |||
Item.isWithoutCommunalCharge | 0/1 | Χωρίς κοινόχρηστα | |||
Item.availableFrom | STRING | Διαθέσιμο από | |||
Item.isAgentAccepted | 0/1 | Δεκτοί μεσίτες | |||
Item.hasStructuredCabling | 0/1 | Διαθέτει δομημένη καλωδίωση | |||
Item.isSingleSpace | 0/1 | Είναι ενιαίος χώρος | Πεδίο προς κατάργηση | ||
Item.isFurnished | 0/1 | Είναι επιπλωμένο | |||
Item.isEquiped | 0/1 | Είναι εξοπλισμένο | |||
Item.orientation | LOOKUP | Τύπος προσανατολισμού | ΝΑΙ | ||
Item.energy_class | LOOKUP | ΝΑΙ | Ενεργειακή κλάση | A A_PLUS B B_PLUS C D E Z H NOT_APPLICABLE PENDING | |
Item.isSuitableForInvestment | 0/1 | Κατάλληλο για επένδυση | |||
Item.hasAluminiumFrames | 0/1 | Κουφώματα αλουμινίου | |||
Item.hasWheelchairAccessibility | 0/1 | Πρόσβαση ΑΜΕΑ | |||
Item.hasVentilation | 0/1 | Εξαερισμός | |||
Item.hasFalseFloor | 0/1 | Ψευδοπάτωμα | |||
Item.hasFalseCeiling | 0/1 | Ψευδοροφές | |||
Item.hasGoodsElevator | 0/1 | Ανελκυστήρας φορτίων | |||
Item.hasSewage | 0/1 | Αποχέτευση | |||
Item.alarm | 0/1 | Συναγερμός | |||
Item.hasFireDetection | 0/1 | Πυρανίχνευση | |||
Item.propertyZone | LOOKUP | Ζώνη | ΝΑΙ | ||
Item.heating | LOOKUP | Θέρμανση | ΝΑΙ | ||
Item.heatingMedium | LOOKUP | Μέσο θέρμανσης | ΝΑΙ |
Υπόμνημα: Υπ. = Υποχρεωτικό MC = Πολλαπλές τιμές
Εξαρτώμενο χαρακτηριστικό | Πρωτεύον χαρακτηριστικό |
---|---|
Item.storageArea | Item.hasStorage |
Item.elevatorPayload | Item.hasElevator |
Item.parkingType | Item.hasParking |
Item.parkingArea | Item.hasParking |
Item.parkingSlots | Item.hasParking |
Item.loftArea | Item.hasLoft |
Αγγελίες Parking
Χαρακτηριστικό | Τύπος | Υπ. | Περιγραφή | MC | Σχόλια |
---|---|---|---|---|---|
Item.type | LOOKUP | ΝΑΙ | Είδος | ||
Item.area | FLOAT | ΝΑΙ | Εμβαδόν | ||
Item.usage | LOOKUP | Είδος χρήσης | ΝΑΙ | ||
Item.slots | INTEGER | Θέσεις | |||
Item.level | LOOKUP | ΝΑΙ | Επίπεδο | ||
Item.hasElectricDoor | 0/1 | Διαθέτει ηλεκτρική πόρτα | |||
Item.hasAlarm | 0/1 | Διαθέτει συναγερμό | |||
Item.isAgentAccepted | 0/1 | Δεκτοί μεσίτες | |||
Item.hasFireExtinguishingSystem | 0/1 | Πυρόσβεση | |||
Item.hasVehicleElevator | 0/1 | Ασανσέρ αυτοκινήτου |
Υπόμνημα: Υπ. = Υποχρεωτικό MC = Πολλαπλές τιμές
Αγγελίες Γης
Χαρακτηριστικό | Τύπος | Υπ. | Περιγραφή | MC | Σχόλια |
---|---|---|---|---|---|
Item.type | LOOKUP | ΝΑΙ | Είδος | ||
Item.contains | STRING | Περιέχει | Πεδίο προς κατάργηση | ||
Item.area | FLOAT | ΝΑΙ | Εμβαδόν | ||
Item.buildFactor | FLOAT | Συντελεστής δόμησης | Δεκαδικός με ακρίβεια 2 ψηφίων. Προειδοποίηση για τιμές μεγαλύτερες του 3. | ||
Item.coverFactor | FLOAT | Συντελεστής κάλυψης | Δεκαδικός με ακρίβεια 2 ψηφίων και τιμή μικρότερη ή ίση με 1 | ||
Item.cityPlanType | LOOKUP | Σχέδιο πόλης | |||
Item.dimensions | STRING | Διαστάσεις | |||
Item.facadeDimension | FLOAT | Πρόσοψη | |||
Item.isWhole | 0/1 | Άρτιο | |||
Item.isBuildable | 0/1 | Οικοδομήσιμο | |||
Item.buildableArea | FLOAT | Οικοδομήσιμο εμβαδόν | |||
Item.containsBuilding | 0/1 | Περιέχει κτίσμα | |||
Item.buildingArea | FLOAT | Εμβαδόν κτίσματος | |||
Item.viewType | LOOKUP | Τύπος θέας | NAI | ||
Item.utilities | STRING | Παροχές | Πεδίο προς κατάργηση | ||
Item.availabilityType | LOOKUP | Τύπος διαθεσιμότητας | |||
Item.availableFrom | STRING | Διαθέσιμο από | |||
Item.isProfessional | 0/1 | Κατάλληλο για επαγγελματική χρήση | Πεδίο προς κατάργηση | ||
Item.location | STRING | Τοποθεσία | |||
Item.AntiparoxiAccepted | 0/1 | Δεκτή αντιπαροχή | |||
Item.hasBuildLicense | 0/1 | Διαθέσιμη άδεια χρήσης | |||
Item.sides | INTEGER | Αριθμός όψεων | |||
Item.isAgentAccepted | 0/1 | Δεκτοί μεσίτες | |||
Item.isCorner | 0/1 | Γωνιακό | |||
Item.isSeeThrough | 0/1 | Διαμπερές | |||
Item.distanceToShore | INTEGER | Απόσταση από θάλασσα | |||
Item.tilt | LOOKUP | Τύπος κλίσης | ΝΑΙ | ||
Item.canDrill | 0/1 | Γεώτρηση | |||
Item.isFenced | 0/1 | Περιφραγμένο | |||
Item.isSuitableForInvestment | 0/1 | Κατάλληλο για επένδυση | |||
Item.propertyZone | LOOKUP | Ζώνη | ΝΑΙ |
Υπόμνημα: Υπ. = Υποχρεωτικό MC = Πολλαπλές τιμές
Εξαρτώμενο χαρακτηριστικό | Πρωτεύον χαρακτηριστικό |
---|---|
Item.buildableArea | Item.buildable |
Item.buildingArea | Item.containsBuilding |
Αγγελίες Εξοχικής Κατοικίας
Αγγελίες Διάφορων Ακινήτων
Χαρακτηριστικό | Τύπος | Υπ. | Περιγραφή | MC | Σχόλια |
---|---|---|---|---|---|
Item.ad_title | STRING | ΝΑΙ | Τίτλος αγγελίας | ||
Item.type | LOOKUP | ΝΑΙ | Είδος | ||
Item.availabiltyType | LOOKUP | Τύπος διαθεσιμότητας | |||
Item.availableFrom | STRING | Διαθέσιμο | |||
Item.isAgentAccepted | 0/1 | Δεκτοί μεσίτες | |||
Item.isSuitableForInvestment | 0/1 | Κατάλληλο για επένδυση |
Οικονομικά στοιχεία
Παράδειγμα οικονομικών πληροφοριών
<Item type="..." refId="...">
...
<Transaction.price>10.000</Transaction.price>
<Transaction.currency>EUR</Transaction.currency>
<Transaction.frequency>ONCE</Transaction.frequency>
<Transaction.type>SELL.NORMAL</Transaction.type>
<Transaction.isOffer>0</Transaction.isOffer>
<Transaction.isPromo>1</Transaction.isPromo>
<Transaction.isNegotiable>0</Transaction.isNegotiable>
</Item>
Τα οικονομικά στοιχεία της αγγελίας περιλαμβάνουν τα παρακάτω πεδία:
Πεδίο | Τύπος | Υποχρεωτικό | Περιγραφή |
---|---|---|---|
Transaction.price | FLOAT | Τιμή | |
Transaction.currency | LOOKUP | Νόμισμα με βάση τη διεθνή γραφή | |
Transaction.frequency | LOOKUP | Συχνότητα καταβολής | |
Transaction.type | LOOKUP | ΝΑΙ | Τύπος |
Transaction.isOffer | 0/1 | Ένδειξη προσφοράς | |
Transaction.isPromo | 0/1 | Ένδειξης προώθησης | |
Transaction.isNegotiable | 0/1 | Ένδειξη διαπραγματεύσιμης τιμής |
Τα πεδία αυτά περιγράφονται στο σώμα κάθε Item στο XML document και όχι στην λίστα των χαρακτηριστικών της. Δίπλα παρουσιάζεται ένα παράδειγμα χρήσης των παραπάνω πεδίων στο σώμα ενός Item/Αγγελίας.
Η τιμή του Transaction.currency
είναι προκαθορισμένη σε ευρώ (EUR) αν δεν συμπεριληφθεί αυτό το πεδίο στο request. Η κωδικοποίηση των νομισμάτων θα ακολουθεί τα διεθνές πρότυπο ISO 4217 που χρησιμοποιεί κωδικούς τριών γραμμάτων για να περιγράψει τα ονόματα των νομισμάτων.
Η τιμές που μπορούν να πάρουν τα LOOKUP
πεδία παρουσιάζονται στο παράρτημα Α.
Γεωγραφική πληροφορία
Παράδειγμα γεωγραφικών πληροφοριών
<AddItemsRequest>
<Item>
<Fields>
<Field>
<Name>Geo.streetName</Name>
<Value>Κασομούλη</Value>
</Field>
<Field>
<Name>Geo.streetNumber</Name>
<Value>100</Value>
</Field>
<Field>
<Name>Geo.longitude</Name>
<Value>13.222</Value>
</Field>
<Field>
<Name>Geo.latitude</Name>
<Value>1.567</Value>
</Field>
<Field>
<Name>Geo.postcode</Name>
<Value>11740</Value>
</Field>
<Field>
<Name>Geo.hideExactAddress</Name>
<Value>1</Value>
</Field>
</Fields>
</Item>
</AddItemsRequest>
Η γεωγραφική πληροφορία κάθε αγγελίας περιγράφεται από τα παρακάτω πεδία τα οποία αποστέλλονται ως ζεύγη <κλειδί,τιμή> στην λίστα χαρακτηριστικών της αγγελίας.
Πεδίο | Τύπος | Υποχρεωτικό | Περιγραφή |
---|---|---|---|
Geo.streetName | STRING | Όνομα οδού | |
Geo.streetNumber | STRING | Αριθμός οδού | |
Geo.longitude | FLOAT | Γεωγραφικό μήκος | |
Geo.latitude | FLOAT | Γεωγραφικό πλάτος | |
Geo.postcode | STRING | Ταχυδρομικός κώδικας | |
Geo.hideExactAddress | 0/1 | Ένδειξη απόκρυψης της ακριβούς διεύθυνσης |
Συνημμένα ψηφιακά αρχεία
Περιγραφή assets (μιας εικόνας και ενός βίντεο)
<Item>
........
<Asset>
<Asset.type>IMAGE</Asset.type>
<Asset.id>filename.jpg</Asset.id>
<Asset.fileType>jpg</Asset.fileType>
<Asset.status>ACTIVE</Asset.status>
<Asset.isPrimary>0</Asset.isPrimary>
<Asset.caption>Main image</Asset.caption>
<Asset.order>1</Asset.order>
<Asset.uri>filename.jpg</Asset.uri>
<Asset.properties key="something">100</Asset.properties>
</Asset>
........
<Asset>
<Asset.type>VIDEO</Asset.type>
<Asset.id>v1</Asset.id>
<Asset.isPrimary>0</Asset.isPrimary>
<Asset.order>1</Asset.order>
<Asset.caption>Ermis Bronze στη Χρυσή Ευκαιρία</Asset.caption>
<Asset.uri><![CDATA[http://www.youtube.com/watch?v=NebuqG1OFXM]]></Asset.uri>
</Asset>
........
</Item>
Ο μηχανισμός εισαγωγής αγγελιών στο σύστημα της Χρυσής Ευκαιρίας επιτρέπει κάθε αγγελία να συνοδεύεται από εικόνες ή video τα οποία δεν θα είναι πάνω από 30 φωτογραφίες + 1 video. Η πληροφορία που αφορά κάθε αρχείο περιγράφεται σε ένα στοιχείο Asset
το οποίο περιλαμβάνεται στο σώμα του στοιχείου Item
. Τα πεδία που χρησιμοποιούνται για την περιγραφή της εικόνας περιγράφονται στον παρακάτω πίνακα:
Πεδίο | Τύπος | Υποχρεωτικό | Περιγραφή |
---|---|---|---|
Asset.type | LOOKUP | ΝΑΙ | Τύπος Αρχείου (IMAGE ή VIDEO) |
Asset.id | STRING | ΝΑΙ | Κωδικός |
Asset.fileType | LOOKUP | Ο τύπος της εικόνας. Αν δεν υπάρχει θεωρείται jpg | |
Asset.status | LOOKUP | Κατάσταση εικόνας (για μελλοντική χρήση - στην τρέχουσα έκδοση πάντα ACTIVE) | |
Asset.isPrimary | 0/1 | ΝΑΙ | Ένδειξη κύριας εικόνας ή βίντεο |
Asset.caption | FLOAT | Λεκτικό περιγραφής (για μελλοντική χρήση) | |
Asset.order | FLOAT | ΝΑΙ | Σειρά εμφάνισης |
Asset.uri | STRING | ΝΑΙ | Το όνομα του αρχείου τής εικόνας ως ή το URL τού Video (το url τού video μέσα σε <![CDATA[]]>) |
Asset.properties | KEY / VALUE(STRING) | Placeholder για έξτρα πληροφορία |
Σειρά εμφάνισης των εικόνων στο xe.gr
Για τον καθορισμό της σειράς εμφάνισης των εικόνων στο xe.gr χρησιμοποιούνται τα πεδία Asset.isPrimary
και Asset.order
:
- Σαν κύρια εικόνα της αγγελίας ορίζεται αυτή που έχει τιμή 1 στο πεδίο
Asset.isPrimary
, αν είναι παραπάνω από μία τότε ως κύρια ορίζεται η πρώτη στο xml. - Αν δεν έχει οριστεί καμία εικόνα ως κύρια τότε ορίζεται σαν κύρια η εικόνα με τη μικρότερη τιμή στο πεδίο
Asset.order
.
Παρατηρήσεις:
- Τελικά στο σύστημα της ΧΕ καταχωρούνται όσα αρχεία βρέθηκαν επιτυχώς στο zip αρχείο με βάση το όνομα που είχε καταχωρηθεί στην παράμετρο
Asset.uri
. - Kατά την ενημέρωση μιας αγγελίας ενός πακέτου (που στο πεδίο
skipAssets
έχει την τιμήfalse
) διαγράφονται ΟΛΕΣ οι προηγούμενες εικόνες και εισάγονται στο συστημά της ΧΕ οι νέες, συνεπώς σε κάθε ενημέρωση θα πρέπει η αγγελία να περιέχει και όλη την πληροφορία σχετικά με τις εικόνες που την συνοδεύουν. - Στο ενημερωτικό email που αποστέλλεται αναφορικά με το αποτέλεσμα της επεξεργασίας αναφέρονται και πιθανά σφάλματα που αφορούν εικόνες που δεν εντοπίστηκαν.
Σύνοψη
Στην παρακάτω εικόνα φαίνεται η σύνοψη της δομής μίας αγγελίας.
Παραρτήματα
Lookup values
A. Πίνακες LOOKUP των χαρακτηριστικών
Είδος -Υποείδος (Item.type - Item.subtype)
Item.type | Τιμή | Περιγραφή | Τιμή Item.subtype | Περιγραφή |
---|---|---|---|---|
re_land | AGROTEMAXIO | Αγροτεμάχιο | ||
EKTASH | Έκταση | |||
OIKOPEDO | Οικόπεδο | |||
re_parking | CLOSED | Κλειστό | ||
OPEN | Ανοιχτό | |||
YPOGEIO | Υπόγειο | |||
PILOTIS | Πιλοτής | |||
re_prof | BIOTEXNIA | Βιοτεχνικός Χώρος | ||
EXHIBITION | Εκθεσιακός Χώρος | |||
INDUSTRIAL | Βιομηχανικός Χώρος | |||
KTIRIO | Κτίριο | |||
OFFICE | Γραφείο | |||
RETAIL | Κατάστημα | |||
ROOM | Αίθουσα | |||
STORAGE | Αποθηκευτικός Χώρος | |||
re_residence | APARTMENT | Διαμέρισμα | FLOORFLAT | Οροφοδιαμέρισμα |
LOFT | Δώμα (τιμή προς κατάργηση) | |||
PENTHOUSE | Ρετιρέ | |||
SINGLEROOM | Γκαρσονιέρα | |||
BUILDING | Κτήριο | |||
HOUSE | Μονοκατοικία | |||
SPLIT_LEVEL | Μεζονέτα | |||
re_misc | AERAS | Αέρας Κατοικίας | ||
LYOMENO | Λυόμενο | |||
MULTIPLE | Πολλαπλά Ακίνητα | |||
OTHER | Άλλο | |||
PROKAT | Προκατασκευασμένο |
Τύπος προβολής (Item.publicationType)
Τιμή | Περιγραφή |
---|---|
BASIC | Τύπος προβολής ΑΠΛΗ |
GOLD | Τύπος προβολής GOLD |
Σχέδιο πόλης (Item.cityPlanType)
Τιμή | Περιγραφή |
---|---|
IN | Εντός σχεδίου πόλης |
OUT | Εκτός σχεδίου πόλης |
TOBE | Υπό ένταξη |
Τύπος Θέας (Item.viewType)
Τιμή | Περιγραφή |
---|---|
FOREST | Θέα δάσος |
MOUNTAIN | Θέα βουνό |
SEA | Θέα Θάλασσα |
UNLIMITED | Απεριόριστη θέα |
Διαθεσιμότητα(Item.availabilityType)
Τιμή | Περιγραφή |
---|---|
AVAILABLE | Ελεύθερο |
OCCUPATED | Μισθωμένο |
Κλίση (Item.tilt)
Τιμή | Περιγραφή |
---|---|
AMFITHEATRIKO | Αμφιθεατρικό |
LEVEL | Επίπεδο |
TILTED | Επικλινές |
Χρήση parking (Item.usage)
Τιμή | Περιγραφή |
---|---|
BIKE | Μοτοσικλέτας |
BOAT | Σκάφους |
CAR | Αυτοκινήτου |
CARAVAN | Τροχόσπιτου |
Επίπεδο(Item.level)
Είδος Αγγελίας | Τιμή | Περιγραφή |
---|---|---|
re_parking | GROUND | Ισόγειο |
LEV_1 | 1 | |
LEV_2 | 2 | |
LEV_3 | 3 | |
LEV_4 | 4 | |
SUB_1 | -1 | |
SUB_2 | -2 | |
SUB_3 | -3 | |
SUB_4 | -4 | |
re_prof - re_residence | L0 | Ισόγειο |
L1 | 1 | |
L2 | 2 | |
L3 | 3 | |
L4 | 4 | |
L5 | 5 | |
L6 | 6 | |
L7 | 7 | |
L8 | 8 | |
LH | Ημιόροφος | |
LHH | Υπερυψωμένο | |
S1 | Υπόγειο | |
SH | Ημιυπόγειο |
Λεπτομερής κατάσταση (Item.conditionSpecific)
Τιμή | Περιγραφή |
---|---|
NEWBUILT | Νεόδμητο |
UNDER_CONSTRUCTION | Υπό κατασκευή |
UNFINISHED | Ημιτελές |
REFURBISHED | Ανακαινισμένο |
GOOD | Καλή Κατάσταση |
NEEDS_REPAIR | Χρήζει ανακαίνισης |
Είδος parking(Item.parkingType)
Τιμή | Περιγραφή |
---|---|
CLOSED | Κλειστό |
OPEN | Ανοιχτό |
YPOGEIO | Υπόγειο |
PILOTIS | Πιλοτής |
Τύπος ρεύματος (Item.electricityType)
Τιμή | Περιγραφή |
---|---|
INDUSTRIAL | Βιομηχανικό |
SINGLE_PHASED | Μονοφασικό |
TRI_PHASED | Τριφασικό |
Τύπος προσανατολισμού (Item.orientation)
Τιμή | Περιγραφή |
---|---|
DIAMPERES | Διαμπερές |
ESWTERIKO | Εσωτερικό |
GONIAKO | Γωνιακό |
PROSOPSEOS | Προσόψεως |
Είδος κατασκευής (Item.constructionType)
Τιμή | Περιγραφή |
---|---|
LOFT | Loft |
LYOMENO | Λυόμενο |
NEOKLASIKO | Νεοκλασικό |
PRESERVED | Διατηρητέο |
PROKAT | Προκατασκευή |
ROCK | Πέτρινο |
STUDIO | Στούντιο |
TRADITIONAL | Παραδοσιακό |
VILA | Βίλα |
Δάπεδα (Item.floorType)
Τιμή | Περιγραφή |
---|---|
PARQUET | Παρκέ |
LAMINATE | Laminate |
TILES | Πλακάκι |
MARBLE | Μάρμαρο |
MOSAIC | Μωσαϊκό |
Ενοίκιο περιλαμβάνει (Item.utilitiesIncludedInRent)
Τιμή | Περιγραφή |
---|---|
ELECTRICITY | Ρεύμα |
WATER | Νερό |
INTERNET | Ίντερνετ |
COMMUNAL_FEES | Κοινόχρηστα |
Ζώνη (Item.propertyZone)
Τιμή | Περιγραφή |
---|---|
RESIDENTIAL | Οικιστική |
COMMERCIAL | Εμπορική |
INDUSTRIAL | Βιομηχανική |
Είδος θέρμανσης (Item.heating)
Τιμή | Περιγραφή |
---|---|
AUTONOMOUS_CENTRAL | Αυτόνομη θέρμανση με κεντρική εγκατάσταση |
FULLY_AUTONOMOUS | Αυτόνομη θέρμανση με ατομική εγκατάσταση |
CENTRAL | Κεντρική θέρμανση |
NO_HEATING | Δεν έχει θέρμανση |
Τρόποι θέρμανσης (Item.heatingMedium)
Τιμή | Περιγραφή |
---|---|
NATURAL_GAS | Φυσικό αέριο |
OIL | Πετρέλαιο |
ELECTRICITY | Ρεύμα |
PELLET | Pellet |
Οικονομικά Στοιχεία
Μονάδα (Item.Transaction.currency)
Τιμή | Περιγραφή |
---|---|
EUR | Ευρώ |
Συχνότητα(Transaction.frequency)
Τιμή | Περιγραφή |
---|---|
ANNUALY | Ετήσια |
DAILY | Ημερήσια |
HOURLY | Ωριαία |
MONTHLY | Μηνιαία |
ONCE | Εφ'άπαξ |
QUARTERLY | Τετραμηνιαία |
WEEKLY | Εβδομαδιαία |
Τύπος Συναλλαγής (Transaction.Type)
Τιμή | Περιγραφή |
---|---|
SELL.NORMAL | Πώληση |
SELL.EXCHANGE | Ανταλλαγή |
SELL.AUCTION | Πλειστηριασμός |
SELL.GIFT | Δωρεά |
SELL.ANTIPAROXI | Αντιπαροχή |
LET.NORMAL | Ενοικίαση |
Ψηφιακά αρχεία
Τύπος (Asset.type)
Τιμή | Περιγραφή |
---|---|
IMAGE | Εικόνα |
Τύπος αρχείου (Asset.fileType)
Τιμή | Περιγραφή |
---|---|
jpeg | Εικόνα JPEG |
jpg | Εικόνα JPEG |
pjpeg | Εικόνα JPEG |
jfif | Εικόνα JPEG |
pjp | Εικόνα JPEG |
png | Εικόνα PNG |
bmp | Εικόνα BMP |
Κατάσταση(Asset.status)
Τιμή | Περιγραφή |
---|---|
ACTIVE | Ενεργή |
INACTIVE | Μή ενεργή |
XSD (Schemata) Ver 1.0
AddItemsRequest
Το σχήμα της έκδοσης 1.1 αντιμετωπίζει τα metadata του πακέτου και των χαρακτηριστικών καθώς και τα Items που αφορούν αντικείμενα του Real Estate
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.xe.gr"
xmlns="http://www.xe.gr"
elementFormDefault="qualified">
<xs:simpleType name="transCurrency">
<xs:restriction base="xs:string">
<xs:enumeration value="EUR" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="transFrequency">
<xs:restriction base="xs:string">
<xs:enumeration value="ANNUALY" />
<xs:enumeration value="DAILY" />
<xs:enumeration value="HOURLY" />
<xs:enumeration value="MONTHLY" />
<xs:enumeration value="ONCE" />
<xs:enumeration value="QUARTERLY" />
<xs:enumeration value="WEEKLY" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="transType">
<xs:restriction base="xs:string">
<xs:enumeration value="SELL.NORMAL"/>
<xs:enumeration value="SELL.GIFT"/>
<xs:enumeration value="SELL.EXCHANGE"/>
<xs:enumeration value="SELL.ANTIPAROXI"/>
<xs:enumeration value="SELL.AUCTION"/>
<xs:enumeration value="LET.NORMAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="itemType">
<xs:restriction base="xs:string">
<xs:enumeration value="re_land" />
<xs:enumeration value="re_misc" />
<xs:enumeration value="re_parking" />
<xs:enumeration value="re_prof" />
<xs:enumeration value="re_residence" />
<xs:enumeration value="re_residence_hol" />
<xs:enumeration value="auto" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="pubType">
<xs:restriction base="xs:string">
<xs:enumeration value="GOLD" />
<xs:enumeration value="BASIC" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="xeBoolean">
<xs:restriction base="xs:string">
<xs:enumeration value="0" />
<xs:enumeration value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="assetType">
<xs:restriction base="xs:string">
<xs:enumeration value="IMAGE" />
<xs:enumeration value="VIDEO" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="assetFileType">
<xs:restriction base="xs:string">
<!-- DO NOT re-format the pattern, it messes with the regex validation-->
<xs:pattern value="(([Jj])([Pp])([Gg]))|(([Pp])([Jj])([Pp]))|(([Jj])([Ff])([Ii])([Ff]))|(([Jj])([Pp])([Ee])([Gg]))|(([Pp])([Jj])([Pp])([Ee])([Gg]))|(([Pp])([Nn])([Gg]))|(([Bb])([Mm])([Pp]))|(([Hh])([Ee])([Ii])([Cc]))|(([Hh])([Ee])([Ii])([Ff]))"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="assetUriValidation">
<xs:restriction base="xs:string">
<xs:pattern value="(\s*(http(s)?://)?(www\.)?(m\.)?youtu(\.)?be(\.com)?/(embed/)?(watch\?v=)?.*\s*)|(.)+\.((([Jj])([Pp])([Gg]))|(([Pp])([Jj])([Pp]))|(([Jj])([Ff])([Ii])([Ff]))|(([Jj])([Pp])([Ee])([Gg]))|(([Pp])([Jj])([Pp])([Ee])([Gg]))|(([Pp])([Nn])([Gg]))|(([Bb])([Mm])([Pp]))|(([Hh])([Ee])([Ii])([Cc]))|(([Hh])([Ee])([Ii])([Ff])))"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="assetStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="ACTIVE" />
<xs:enumeration value="INACTIVE" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="assetProperty">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="key" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="otherPhones">
<xs:sequence>
<xs:element name="Item.phone" type="xs:string" minOccurs="1" maxOccurs="5"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="field">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Value" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="asset">
<xs:sequence>
<xs:element name="Asset.type" type="assetType"/>
<xs:element name="Asset.id" type="xs:string"/>
<xs:element name="Asset.fileType" type="assetFileType" minOccurs="0"/>
<xs:element name="Asset.status" type="assetStatus" minOccurs="0"/>
<xs:element name="Asset.isPrimary" type="xeBoolean"/>
<xs:element name="Asset.caption" type="xs:string" minOccurs="0"/>
<xs:element name="Asset.order" type="xs:integer" minOccurs="0"/>
<xs:element name="Asset.uri" type="assetUriValidation"/>
<xs:element name="Asset.properties" type="assetProperty" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="item">
<xs:sequence>
<xs:element name="Item.ownerId" type="xs:string"/>
<xs:element name="Item.majorPhone" type="xs:string"/>
<xs:element name="Item.departmentOnCategory" type="xs:string" minOccurs="0"/>
<xs:element name="Item.otherPhones" type="otherPhones" minOccurs="0"/>
<xs:element name="Item.internetText" type="xs:string" minOccurs="0"/>
<xs:element name="Item.addOnText" type="xs:string" minOccurs="0"/>
<xs:element name="Item.bodyText" type="xs:string" minOccurs="0"/>
<xs:element name="Transaction.price" type="xs:string" minOccurs="0"/>
<xs:element name="Transaction.currency" type="transCurrency" minOccurs="0"/>
<xs:element name="Transaction.frequency" type="transFrequency" minOccurs="0"/>
<xs:element name="Transaction.type" type="transType"/>
<xs:element name="Transaction.isOffer" type="xs:string" minOccurs="0"/>
<xs:element name="Transaction.isPromo" type="xs:string" minOccurs="0"/>
<xs:element name="Transaction.isNegotiable" type="xs:string" minOccurs="0"/>
<xs:element name="Field" type="field" minOccurs="1" maxOccurs="100"/>
<xs:element name="Asset" type="asset" minOccurs="0" maxOccurs="31"/>
</xs:sequence>
<xs:attribute name="type" type="itemType" use="required"/>
<xs:attribute name="refId" type="xs:string" use="required"/>
<xs:attribute name="publicationType" type="pubType" default="BASIC"/>
</xs:complexType>
<xs:element name="AddItemsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="Package.xeAuthToken" type="xs:string"/>
<xs:element name="Package.schemaVersion" type="xs:string"/>
<xs:element name="Package.id" type="xs:string"/>
<xs:element name="Package.timestamp" type="xs:string"/>
<xs:element name="Package.storeId" type="xs:string" minOccurs="0"/>
<xs:element name="Package.trademark" type="xs:string" minOccurs="0"/>
<xs:element name="Package.skipAssets" type="xs:string" minOccurs="0"/>
<xs:element name="Package.crmProviderCode" type="xs:string" minOccurs="0"/>
<xs:element name="Package.policy" type="xs:string"/>
<xs:element name="Item" type="item" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Μηνύματα Σφάλματος
Αποστολή πακέτου
Μήνυμα Λάθους | Επεξήγηση |
---|---|
CREDENTIALS DO NOT MATCH WITH AUTH TOKEN | Τα στοιχεία αυθεντικοποίησης (username,password) δεν αντιστοιχούν στο κλειδί αυθεντικοποίησης (authtoken) |
FILE HANDLING ERROR | Σφάλμα κατά τον χειρισμό του zip αρχείου, πρόβλημα με την δομή του |
FAILED XSD VALIDATION | Μη έγκυρο XML αρχείο, απέτυχε το XSD validation |
Επεξεργασία πακέτου
Σε επίπεδο πακέτου:
Μήνυμα Λάθους | Επεξήγηση |
---|---|
DUPLICATE ID | Ο κωδικός πακέτου έχει χρησιμοποιηθεί ήδη ) |
XML PARSING ERROR | Σφάλμα κατα την ανάγνωση του αρχείου xml) |
NO MATCHING POLICY FOUND | Μη έγκυρη πολιτική χρήσης, αναντιστοιχία ανάμεσα στην επιλεγμένη πολιτική χρήσης (INCREMENTAL/RENEW_ALL_STOCK) και σε αυτή που αναφέρεται στο πακέτο του request ) |
REQUEST TYPE NOT ALLOWED BY POLICY | Μη αποδεκτός τύπος αιτήματος , ο τύπος αιτήματος/πολιτικής δεν είναι κάποιος απο τους επιτρεπτούς (INCREMENTAL/RENEW_ALL_STOCK) ) |
Σε επίπεδο αγγελίας:
Μήνυμα Λάθους | Επεξήγηση |
---|---|
INVALID AGENT | Μή έγκυρος agent |
ΙNVALID CONTACT PHONE | Μή πιστοποιημένος αριθμός τηλεφώνου επικοινωνίας |
UPDATE NOT ALLOWED BY POLICY | Η ενημέρωση της αγγελλίας δεν επιτρέπεται απο την πολιτική |
DELETION NOT ALLOWED BY POLICY | Η διαγραφή δεν επιτρέπεται απο την πολιτική |
ITEM NOT FOUND | Ο κωδικός αναφοράς δεν βρέθηκε |
IMAGE MANIPULATION FAILED | Σφάλμα κατα την επεξεργασία εικόνων |
INVALID AGENT MODERATION POLICY | Λάθος πολιτική τροποποίσης για τον agent (moderation/no moderation) |
SYSTEM ERROR | Σφάλμα συστήματος, οφείλεται σε εσωτερικό σφάλμα στους servers του xe.gr |
INVALID UPDATE TYPE CHANGED | Αδυναμία ενημέρωσης της αγγελίας καθώς αλλάζει ο τύπος της |
Καθώς και άλλα σφάλματα validation της αγγελίας τα οποία είναι περιγραφικά σε κάθε περίπτωση.