Quantcast
Channel: SBZ Systems
Viewing all articles
Browse latest Browse all 1957

E-shop API 3.1 –Σύνδεση της EMDI με e-shop

$
0
0

Η EMDI συνδέεται με οποιοδήποτε e-shop ή εξωτερική βάση δεδομένων με λήψη αρχείων απλού κειμένου χωρισμένου με ερωτηματικά (csv).
Να σημειωθεί ότι η παρακάτω διαδικασία δεν είναι απαραίτητη γιατί υπάρχουν έτοιμες γέφυρες σε php για e-shop αρκετών εταιριών. Μπορείς να κατεβάσεις τις έτοιμες γέφυρες e-shop εδώ.

Γέφυρα για σύνδεση με e-shop

Τα αρχεία που πρέπει να παράγει το e-shop σου είναι τα παρακάτω: (ενδεικτικά)

orderlist: http://www.domain.com/neworders.asp
selectedorder: http://www.domain.com/neworder.asp?id=
confirmorder: http://www.domain.com/orderok.asp?docid=#docid&shipcomp=#shipcomp&voucherno=#voucherno&id=
cancelorder: http://www.domain.com/cancelorder.asp?orderid=
modifiedcustomers: http://www.domain.com/newclients.asp
customersconfirm: http://www.domain.com/allclientsok.asp
modifiedproducts: http://www.domain.com/newproducts.asp
productsconfirm: http://www.domain.com/allproductsok.asp
productavailability: http://www.domain.com/changequantity.asp?id=
quantityvariable: &quantity=
resetdates
uploadproduct
uploadcustomer
redirect

 

orderlist

Ο σύνδεσμος αναπαράγει μια λίστα csv που περιέχει τις παραγγελίες. Η κάθε γραμμή είναι μια παραγγελία.

Μορφή λίστας παραγγελιών (η σειρά των πεδίων δεν πρέπει να αλλάξει. Η πρώτη γραμμή αγνοείται.):

ΚΩΔΙΚΟΣ ΠΑΡΑΓΓΕΛΙΑΣ;ΚΩΔΙΚΟΣ ΠΕΛΑΤΗ;ΚΟΣΤΟΣ ΜΕΤΑΦΟΡΙΚΩΝ;ΚΟΣΤΟΣ ΑΝΤΙΚΑΤΑΒΟΛΗΣ;ΕΚΠΤΩΣΗ;ΗΜΕΡΟΜΗΝΙΑ;ΣΧΟΛΙΟ;ΧΡΗΣΤΗΣ;VOUCHER;ΚΑΤΑΣΤΑΣΗ;ΚΩΔΙΚΟΣ ΠΕΛΑΤΗ ΑΠΟΣΤΟΛΗΣ;<br>\n

παράδειγμα:

ΚΩΔΙΚΟΣ ΠΑΡΑΓΓΕΛΙΑΣ;ΚΩΔΙΚΟΣ ΠΕΛΑΤΗ;ΚΟΣΤΟΣ ΜΕΤΑΦΟΡΙΚΩΝ;ΚΟΣΤΟΣ ΑΝΤΙΚΑΤΑΒΟΛΗΣ;ΕΚΠΤΩΣΗ;ΗΜΕΡΟΜΗΝΙΑ;ΣΧΟΛΙΟ;ΧΡΗΣΤΗΣ;VOUCHER;ΚΑΤΑΣΤΑΣΗ;ΚΩΔΙΚΟΣ ΠΕΛΑΤΗ ΑΠΟΣΤΟΛΗΣ;<br>\n
405;C209;0;0;0;01/12/2011 21:40:20;;;;<br>\n
407;C215;0;0;0;02/12/2011 23:18:35;;;;<br>\n
416;C209;0;0;0;06/12/2011 20:50:32;;;;<br>\n

Αν ο «ΚΩΔΙΚΟΣ ΠΕΛΑΤΗ» δεν συσχετίζεται με τη λίστα πελατών της EMDI τότε ο συσχετισμός γίνεται με βάση το ΑΦΜ που το αναζητά μέσα από το πεδίο «ΣΧΟΛΙΟ». Επίσης από το πεδίο «ΧΡΗΣΤΗΣ» ορίζεται αυτόματα και ο χρήστης της EMDI.
Επίσης αν το «ΚΟΣΤΟΣ ΑΝΤΙΚΑΤΑΒΟΛΗΣ» είναι 0.01 τότε στην EMDI εισάγεται κανονικά γραμμή κόστους αντικαταβολής αλλά με μηδενική αξία.
Το νέο πεδίο Κατάσταση ορίζεις το που θα αποθηκεύεται στις ρυθμίσεις->Σύνδεση e-shop->Πεδίο κατάστασης σε πεδίο.

confirmorder

Ενημερώνει το e-shop για τη πραγματοποίηση της παραγγελίας. Έτσι στη λίστα παραγγελιών της EMDI φαίνονται μόνο όσες εκκρεμούν. Η EMDI στέλνει τον αριθμό παραγγελίας.
Επίσης αποστέλλονται στις μεταβλητές:
#shipcomp     Τρόπος αποστολής
#voucherno    Αριθμός αποστολής (voucher)
#docid             Αριθμός γραμμής παραστατικού. Αποστέλλεται από την EMDI ο αριθμός γραμμής παραστατικού. Έτσι σε οποιαδήποτε γέφυρα μπορούμε να πάρουμε τη τιμή:

$docid = $_REQUEST['docid'];
if ($docid == 95) {
    ...
}

 

cancelorder

Ενημερώνει το e-shop για την ακύρωση της παραγγελίας. Έτσι στη λίστα παραγγελιών της EMDI φαίνονται μόνο όσες εκκρεμούν. Η EMDI στέλνει τον αριθμό παραγγελίας.

selectedorder

Μορφή αρχείου προϊόντων παραγγελίας (η σειρά των πεδίων δεν πρέπει να αλλάξει. Η πρώτη γραμμή αγνοείται.):

ΚΩΔΙΚΟΣ;ΠΕΡΙΓΡΑΦΗ1;ΠΕΡΙΓΡΑΦΗ2;ΠΕΡΙΓΡΑΦΗ3;ΠΟΣΟΤΗΤΑ;ΜΟΝΑΔΑ;ΤΙΜΗ;ΦΠΑ;ΕΚΠΤΩΣΗ;ΕΝΑΡΞΗ;ΛΗΞΗ;ΘΕΣΗ;ΚΩΔΙΚΟΣ ΠΑΡΑΓΓΕΛΙΑΣ;<br>\n

παράδειγμα:

ΚΩΔΙΚΟΣ;ΠΕΡΙΓΡΑΦΗ1;ΠΕΡΙΓΡΑΦΗ2;ΠΕΡΙΓΡΑΦΗ3;ΠΟΣΟΤΗΤΑ;ΜΟΝΑΔΑ;ΤΙΜΗ;ΦΠΑ;ΕΚΠΤΩΣΗ;ΕΝΑΡΞΗ;ΛΗΞΗ;ΘΕΣΗ;ΚΩΔΙΚΟΣ ΠΑΡΑΓΓΕΛΙΑΣ;<br>\n
6314;ΚΟΥΠΑ;ΛΕΥΚΗ;12,5hx19,5d;1;ΤΕΜΑΧΙΑ;9,50;19;0;<br>\n
6307;ΚΟΥΠΑ;ΜΠΛΕ;Μεγάλο;1;ΤΕΜΑΧΙΑ;15,00;19;0;<br>\n
6231;ΠΙΑΤΟ;ΠΟΡΤΟΚΑΛΙ;15hx15d;2;ΤΕΜΑΧΙΟ;8,00;19;0;<br>\n

Αν στο τέλος του συνδέσμου υπάρχει «=» τότε η EMDI διαβάζει όλο το αρχείο. Σε αντίθετη περίπτωση διαβάζει μόνο τις γραμμές της επιλεγμένης παραγγελίας.

modifiedcustomers

Μορφή αρχείου πελατών (η σειρά των πεδίων δεν πρέπει να αλλάξει. Η πρώτη γραμμή αγνοείται.):

ΚΩΔΙΚΟΣ;ΟΝΟΜΑ;ΕΠΙΘΕΤΟ;ΔΙΕΥΘΥΝΣΗ;ΤΚ;ΧΩΡΑ;ΠΟΛΗ/ΝΟΜΟΣ;ΠΕΡΙΟΧΗ;ΤΗΛΕΦΩΝΟ ;ΚΙΝΗΤΟ ;EMAIL ;ΑΦΜ ;ΔΟΥ ;ΕΠΩΝΥΜΙΑ;ΕΠΑΓΓΕΛΜΑ;ΓΛΩΣΣΑ;ΤΘ<br>\n

παράδειγμα:

ΚΩΔΙΚΟΣ;ΟΝΟΜΑ;ΕΠΙΘΕΤΟ;ΔΙΕΥΘΥΝΣΗ;ΤΚ;ΧΩΡΑ;ΠΟΛΗ/ΝΟΜΟΣ;ΠΕΡΙΟΧΗ;ΤΗΛΕΦΩΝΟ ;ΚΙΝΗΤΟ ;EMAIL ;ΑΦΜ ;ΔΟΥ ;ΕΠΩΝΥΜΙΑ;ΕΠΑΓΓΕΛΜΑ;ΓΛΩΣΣΑ;ΤΘ<br>\n
C62;ΣΟΛΩΝ;ΖΕΝΕΤΖΗΣ;ΠΛΑΠΟΥΤΑ 10 ;16777 ;ΕΛΛΑΔΑ ;ΑΤΤΙΚΗ ;ΕΛΛΗΝΙΚΟ ;2109648161 ;6944777777;host/@sound.gr ;045313872 ;ΑΡΓΥΡΟΥΠΟΛΗΣ ;ΣΟΛΩΝ ΖΕΝΕΤΖΗΣ ;ΥΠΗΡΕΣΙΕΣ ΛΟΓΙΣΜΙΚΟΥ ;GR;;<br>\n
C77;ΚΩΣΤΑΣ;ΠΑΠΑΔΟΠΟΥΛΟΣ;ΠΑΡΑΣΚΕΥΟΠΟΥΛΟΥ 38 ;16777 ;ΕΛΛΑΔΑ ;ΑΤΤΙΚΗ ;ΑΡΓΥΡΟΥΠΟΛΗ ;2109648161 ;6944777777;sound/@sound.gr ;045313872 ;ΓΛΥΦΑΔΑ ;ΚΩΣΤΑΣ ΠΑΠΑΔΟΠΟΥΛΟΣ ;ΕΜΠΟΡΙΟ ;GR;;<br>\n

 

modifiedproducts

Μορφή αρχείου προϊόντων (η σειρά των πεδίων δεν πρέπει να αλλάξει. Η πρώτη γραμμή αγνοείται.):

ΚΩΔΙΚΟΣ;ΠΕΡΙΓΡΑΦΗ1;ΠΕΡΙΓΡΑΦΗ2;ΦΠΑ;ΤΙΜΗ ΠΩΛΗΣΗΣ;ΤΙΜΗ ΑΓΟΡΑΣ;ΔΙΑΘΕΣΙΜΟΤΗΤΑ;ΜΟΝΑΔΑ;ΚΑΤΗΓΟΡΙΑ;ΦΩΤΟΓΡΑΦΙΑ;URL;ΣΕΙΡΑ ΚΑΤΗΓΟΡΙΑΣ;ΒΑΡΟΣ;ΕΝΕΡΓΟ;<br>\n

παράδειγμα:

ΚΩΔΙΚΟΣ;ΠΕΡΙΓΡΑΦΗ1;ΠΕΡΙΓΡΑΦΗ2;ΦΠΑ;ΤΙΜΗ ΠΩΛΗΣΗΣ;ΤΙΜΗ ΑΓΟΡΑΣ;ΔΙΑΘΕΣΙΜΟΤΗΤΑ;ΜΟΝΑΔΑ;ΚΑΤΗΓΟΡΙΑ;ΦΩΤΟΓΡΑΦΙΑ;URL;ΣΕΙΡΑ ΚΑΤΗΓΟΡΙΑΣ;ΒΑΡΟΣ;ΕΝΕΡΓΟ;<br>\n
P1;Πίτα γύρο χοιρινό;;23,00;1,80;;;Τεμάχιο;Σουβλάκια με πίτα;;;1;<br>\n
P2;Πίτα γύρο κοτόπουλο;;23,00;2,00;;;Τεμάχιο;Σουβλάκια με πίτα;;;1;<br>\n
P3;Πίτα καλαμάκι χοιρινό;;23,00;1,80;;;Τεμάχιο;Σουβλάκια με πίτα;;;1;<br>\n
P4;Πίτα καλαμάκι κοτόπουλο;;23,00;2,00;;;Τεμάχιο;Σουβλάκια με πίτα;;;1;<br>\n

 

Στη TIMH1 μπορείς να συμπληρώσεις άλλες 4 τιμές τιμοκαταλόγου:

|Αριθμός γραμμής τιμοκαταλόγου 1:Αξία 1|Αριθμός γραμμής τιμοκαταλόγου 2:Αξία 2|Αριθμός γραμμής τιμοκαταλόγου 3:Αξία 3|Αριθμός γραμμής τιμοκαταλόγου 4 :Αξία 4

Οπότε στη περίπτωση που θέλεις να συμπεριλάβεις και 1 ακόμα τιμή το παραπάνω παράδειγμα διαμορφώνεται ως εξής:

ΚΩΔΙΚΟΣ;ΠΕΡΙΓΡΑΦΗ1;ΠΕΡΙΓΡΑΦΗ2;ΦΠΑ;ΤΙΜΗ1;ΤΙΜΗ2;ΔΙΑΘΕΣΙΜΟΤΗΤΑ;ΜΟΝΑΔΑ;ΚΑΤΗΓΟΡΙΑ;ΦΩΤΟΓΡΑΦΙΑ;URL;;<br>\n
P1;Πίτα γύρο χοιρινό;;23,00;1,80|2:2,00;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n
P2;Πίτα γύρο κοτόπουλο;;23,00;2,00|2:1,20;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n
P3;Πίτα καλαμάκι χοιρινό;;23,00;1,80|4:3,50;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n
P4;Πίτα καλαμάκι κοτόπουλο;;23,00;2,00|2:2,00;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n

Πατώντας στις πωλήσεις της EMDI το πλήκτρο INS ανοίγει το παράθυρο με τις παραγγελίες.

Ανοίγοντας το παράθυρο καλούνται οι σύνδεσμοι «modifiedcustomers» και «modifiedproducts» και αυτόματα εισάγεται η λίστα πελατών και προϊόντων. Αν υπάρχουν αλλαγές καλούνται αντίστοιχα οι σύνδεσμοι «customersconfirm» και «productsconfirm» ώστε να ενημερωθεί το e-shop για τη λήψη τους.

Καλό είναι το e-shop να στέλνει πάντα τους νέους πελάτες και προϊόντα και όχι όλη τη λίστα. Παρόλα αυτά σε όλες τις περιπτώσεις εισάγονται μόνο οι διαφοροποιήσεις.

Μετά καλείται ο σύνδεσμος «orderlist» που φέρνει τη λίστα παραγγελιών.
Κάθε φορά που επιλέγεις παραγγελία στην αριστερή στήλη καλείται ο σύνδεσμος «selectedorder» ώστε να εμφανίσει τα προϊόντα της επιλεγμένης παραγγελίας.

Στη συνέχεια αφού επιλέξεις τη παραγγελία και κλείσεις το παράθυρο αυτόματα συμπληρώνεται το παραστατικό με όλα τα απαραίτητα στοιχεία, που έχει “τραβήξει” από το e-shop.

Όταν πατήσεις “καταχώρηση” στην EMDI τότε μόνο καλείται ο σύνδεσμος «confirmorder» που ενημερώνει το e-shop ότι η παραγγελία τιμολογήθηκε. Στη συνέχεια καλείται ο σύνδεσμος «productavailability» που  σε συνδυασμό με τη μεταβλητή «quantityvariable» στέλνει στο e-shop τη διαθεσιμότητα.

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

Για να προσθέσουμε και κωδικό αγοράς, τότε το πεδίο του κωδικού χωρίζεται με |.

παράδειγμα:

ΚΩΔΙΚΟΣ;ΠΕΡΙΓΡΑΦΗ1;ΠΕΡΙΓΡΑΦΗ2;ΦΠΑ;ΤΙΜΗ1;ΤΙΜΗ2;ΔΙΑΘΕΣΙΜΟΤΗΤΑ;ΜΟΝΑΔΑ;ΚΑΤΗΓΟΡΙΑ;ΦΩΤΟΓΡΑΦΙΑ;URL;;<br>\n
P1|T1;Πίτα γύρο χοιρινό;;23,00;1,80;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n
P2|T2;Πίτα γύρο κοτόπουλο;;23,00;2,00;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n
P3|T3;Πίτα καλαμάκι χοιρινό;;23,00;1,80;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n
P4|T4;Πίτα καλαμάκι κοτόπουλο;;23,00;2,00;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n

Για πρόσθετα πεδία:

Στο πεδίο «ΠΕΡΙΓΡΑΦΗ2» μπορούμε να συμπεριλάβουμε όλα τα πρόσθετα πεδία με τη μορφή:

Πρόσθετο_πεδίο:Τιμή\n

Σαν διαχωριστικό μεταξύ των πεδίων χρησιμοποιούμε \n

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

Προσοχή, αν η μεταβλητή έχει κενά, πρέπει να αντικατασταθούν από το χαρακτήρα ‘_’.

παράδειγμα:

ΚΩΔΙΚΟΣ;ΠΕΡΙΓΡΑΦΗ1;ΠΕΡΙΓΡΑΦΗ2;ΦΠΑ;ΤΙΜΗ1;ΤΙΜΗ2;ΔΙΑΘΕΣΙΜΟΤΗΤΑ;ΜΟΝΑΔΑ ;ΚΑΤΗΓΟΡΙΑ;ΦΩΤΟΓΡΑΦΙΑ;URL;;<br>\n
P1|T1;Πίτα γύρο χοιρινό;Χρώμα:Μαύρο\nΜοντέλο:X\n;23,00;1,80;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n
P2|T2;Πίτα γύρο κοτόπουλο;Χρώμα:Μαύρο\nΜοντέλο:A\n;23,00;2,00;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n
P3|T3;Πίτα καλαμάκι χοιρινό;Χρώμα:Κίτρινο\nΜοντέλο:G\n;23,00;1,80;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n
P4|T4;Πίτα καλαμάκι κοτόπουλο;Χρώμα:Μπλε\nΜοντέλο:X\n;23,00;2,00;;;Τεμάχιο;Σουβλάκια με πίτα;;;;<br>\n

Σημαντικό: O κωδικός των προϊόντων πρέπει να είναι ακριβως ίδιος στο e-shop και την EMDI.

resetdates

Με το «productsconfirm» και «customersconfirm» αποθηκεύουμε στο e-shop την ημερομηνία λήψης από την EMDI.
Η επαναφορά σβήνει αυτές τις ημερομηνίες και έτσι με το «modifiedproducts» και «modifiedcustomers» έχουμε όλη τη λίστα.

uploadproduct

Από την αποθήκη της EMDI πατώντας το πλήκτρο καταχώρηση αποστέλλεται με post το προϊόν και η φωτογραφία του.
Παράμετροι:

productid=Κωδικός προϊόντος
productmpn=Κωδικός προμηθευτή
title=Τίτλος προϊόντος
descr=Περιγραφή
price=Τιμή(με ΦΠΑ)
sprice=Αξία αγοράς
subcat=Κωδικός γραμμής υποκατηγορίας
cat=Κωδικός γραμμής κατηγορίας
tax=Ποσοστό ΦΠΑ
cattitle=Τίτλος κατηγορίας
subcattitle=Τίτλος υποκατηγορίας
field_x=Πρόσθετες μεταβλητές. Όπου x το όνομα της μεταβλητής π.χ. field_Μέγεθος
cprice_x=Τιμές τιμοκαταλόγου. Όπου x το όνομα της μεταβλητής π.χ. cprice_Λιανική. Προσοχή, για να αποσταλεί η αντίστοιχη τιμή πρέπει ο τιμοκατάλογος να έχει ορισθεί στη λίστα ειδών αποθήκης
file=Η κύρια φωτογραφία
file2,file2…=Φωτογραφίες

Στις ρυθμίσεις->Σύνδεση e-shop->Με ΦΠΑ, ορίζουμε για το αν η τιμή περιλαμβάνει ΦΠΑ.

 

uploadcustomer

redirect

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

Όταν πατάει το κουμπί αυτό ο χρήστης γίνεται μία κλήση τύπου:
Από πελατολόγιο: http://www.domain.gr/redirectproduct.asp?productid=
Από αποθήκη: http://www.domain.gr/redirectproduct.asp?customerid=
Από πωλήσεις: http://www.domain.gr/redirectproduct.asp?orderid=


Viewing all articles
Browse latest Browse all 1957

Trending Articles