Πρόκειται για μια πρώτη δοκιμαστική έκδοση ενός API. Για την ώρα τα περισσότερα calls αντιστοιχούν επακριβώς στον τρόπο που δουλεύει το skroutz.gr, στο μέλλον όμως θα εμπλουτιστεί με πιο γενικά calls.
Αν θέλετε να πάρετε μια γεύση στείλτε μας ένα email στο admin /at/ skroutz.gr και θα σας στείλουμε ένα api key.
Η πρόσβαση στο API πραγματοποιείται μέσω HTTP και πρέπει να αρχίζει με
http://apiv2.skroutz.gr/:format/
όπου το :format είναι json ή xml, ανάλογα με τον τύπο των
δεδομένων που θα επιστραφούν. Στο εξής αυτό το κομμάτι θα παραλείπεται
αφού παραμένει ίδιο για κάθε API call.
Μια απάντηση API έχει την εξής μορφή:
typeresulterrorΠαράδειγμα XML:
<?xml version="1.0" encoding="UTF-8"?>
<SkroutzApi>
<type>categories</type>
<error nil="true"></error>
<result>
...
</result>
</SkroutzApi>
To πεδίο result είναι το αποτέλεσμα της κλήσης API. Είναι ασφαλές
να προσπελαστεί μόνο στην περίπτωση που το πεδίο error είναι
null. Κάθε σωστή απάντηση έχει ένα κωδικό όνομα που θα περιγράφετε
στην τεκμηρίωση, το όνομα αυτό περιέχεται στο πεδίο type.
Σε περίπτωση λάθους το πεδίο error αποτελείται από τρία στοιχεία
code Κώδικος λάθουςnumber Αριθμός λάθουςtext Σύντομη περιγραφή λάθουςΓια να χρησιμοποιήσετε το API απαιτείται ένα κλειδί συνεργάτη Skroutz api_key που
θα σας δώθεί από το Skroutz.gr
Για να πραγματοποιήσετε κλήσεις στο Skroutz Api χρειάζεται να περιμβάνετε σε κάθε κλήση
ως παράμετρος το access_token σας.
access tokens μπορείτε να πάρετε με το /authenticate api call
Ένα παράδειγμα:
$ curl -F 'access_token=36c57b67...' http://apiv2.skroutz.gr/xml/subcats/769/
<?xml version="1.0" encoding="UTF-8"?>
<SkroutzApi>
<type>categories</type>
<error nil="true"></error>
<result>
<categories>
<category>
<children_count>0</children_count>
<id>290</id>
<name>
<![CDATA[Διάφορα Αξεσουάρ Laptop]]>
</name>
</category>
<category>
<children_count>0</children_count>
<id>712</id>
<name>Docking stations</name>
</category>
<category>
<children_count>0</children_count>
<id>713</id>
<name>
<![CDATA[Βάση Laptop]]>
</name>
</category>
</categories>
</result>
</SkroutzApi>
Υπάρχουν δύο ειδών access tokens, το basic και το full.
Το full είναι ένα token συσχετισμένο με έναν χρήση και επιτρέπει επιπλέον api calls που τον αφορούν. (e.x. bookmarks)
Έκδοση access_token. Μόνο "https"
api_key - Το api_key σαςusername - Όνομα χρήστη, στην περίπτωση full tokenpassword - Κωδικός χρήστη, στην περίπτωση full tokenΠαράδειγμα
# basic token
/authenticate api_key=<your api-key>
# full token
/authenticate api_key=<your api-key> username=skroutz password=donald
Returns:
access_token - Το access token για την χρήση του apiaccess_token_expiry - Πότε λήγει το access_tokenaccess_token_type - basic/fulluser - Εναν χρήστη στην περίπτωση που ζητήθηκε full_tokenErrors:
wrong_auth - Λάθος credentialsaccess_denied - Λάθος api_keyΠαράδειγμα:
$ curl -F 'access_token=36c57b67...' -F username=skroutz -F password=donald \
http://apiv2.skroutz.gr/xml/authenticate/
---
<?xml version="1.0" encoding="UTF-8"?>
<SkroutzApi>
<type>authenticate</type>
<result>
<user>
<username>skroutz</username>
<avatar_url>http://assets5.skroutz.gr/avatars/skroutz.jpg</avatar_url>
</user>
<access_token_expiry>2010-10-12T16:43:08+03:00</access_token_expiry>
<access_token>54c1446bd299ee758956f42241ae18db</access_token>
<access_token_type>full</access_token>
</result>
<error nil="true"></error>
</SkroutzApi>
Αποσύνδεση
Returns:
success - trueΓια την ώρα δεν υπάρχουν περιορισμοί στην χρήση του API εφόσον κινείται σε λογικά πλαίσια.