Η EMDI μπορεί να κατεβάζει παραγγελίες, πελάτες και είδη και να ενημερώνει διαθεσιμότητες σε πολλά e-shop ταυτόχρονα, μέσω μιας κοινής γέφυρας πολλαπλών καταστημάτων (multishop bridge). Στην πράξη η EMDI «βλέπει» μία γέφυρα· αυτή μοιράζει τα αιτήματα σε κάθε e-shop.

Άνοιξε τον κώδικα της γέφυρας εδώ: emdi_multishop_bridge.php (ανοιχτός κώδικας).

Βήματα

  1. Εγκατέστησε και δοκίμασε τη κανονική γέφυρα σε κάθε e-shop χωριστά (WooCommerce, OpenCart κ.λπ.) μέχρι να δουλεύει μόνη της με την EMDI.
  2. Ανέβασε το emdi_multishop_bridge.php σε έναν προσβάσιμο φάκελο (συνήθως στο κύριο e-shop ή σε κοινό hosting) και όρισε μέσα του:
    • $passkey — το ίδιο κλειδί που θα βάλεις στην EMDI
    • τα URL κάθε γέφυρας e-shop (με το δικό τους key=)
    • μοναδικό order_prefix για κάθε επιπλέον κατάστημα (π.χ. EM)
  3. Στην EMDI, στις Ρυθμίσεις → σύνδεση Internet / γέφυρα, βάλε ως διεύθυνση το URL του multishop script και ως κλειδί το $passkey — όπως σε μία κανονική γέφυρα. Εφάρμοσε τους συνδέσμους ώστε να γεμίσουν τα action=orders, order, customers, products, updatestock κ.λπ. στο bridge.ini.

Προσοχή

  • Ο κωδικός πελάτη να έχει διαφορετικό πρόθεμα ανά e-shop.
  • Αν τα είδη είναι κοινά, οι κωδικοί ειδών να είναι ίδιοι σε όλα τα e-shop.
  • Ο αριθμός παραγγελίας πρέπει να έχει διαφορετικό πρόθεμα ανά e-shop, ώστε η κοινό γέφυρα να ξέρει σε ποιο κατάστημα να στείλει order / confirmorder / cancelorder.

Στη γέφυρα του δεύτερου (και κάθε επιπλέον) e-shop όρισε το πρόθεμα παραγγελίας, π.χ.:

Λίγο πριν από τη γραμμή if ($action == 'deletetmp') αφαίρεσε το πρόθεμα από το $orderid που έρχεται από την EMDI:

Στο action=orders, στο echo της γραμμής παραγγελίας, βάλε το πρόθεμα πριν τον αριθμό:

Η κοινή γέφυρα ενώνει τις λίστες (παραγγελίες / πελάτες / είδη), αφαιρεί τη διπλή γραμμή κεφαλίδας από το 2ο κατάστημα και μετά, όταν η EMDI ανοίγει ή επιβεβαιώνει παραγγελία, επιλέγει το σωστό e-shop από το πρόθεμα και του στέλνει το orderid χωρίς το πρόθεμα.

Πλήρες παράδειγμα (ρυθμιστικό αρχείο — άλλαξε URL, κλειδιά και προθέματα):

Πηγή: https://github.com/sbzsystems/emdi-eshop-bridges-connectors/blob/gh-pages/emdi_multishop_bridge.php