Μεταφέρουμε τα 2 php αρχεία στο κύριο φάκελο του eshop.
https://github.com/sbzsystems/emdi-eshop-bridges-connectors/blob/gh-pages/emdi_skroutz_webhook.php
https://github.com/sbzsystems/emdi-eshop-bridges-connectors/blob/gh-pages/emdi_skroutz_bridge.php
Από τον πίνακα ελέγχου του skroutz, αντιγράφουμε το apikey ώστε να το ρυθμίσουμε στο emdi_skroutz_bridge.php και επίσης ορίζουμε στο πεδίο Webhook URL τη διεύθυνση του script, πχ.: https://www.mysite.com/emdi_skroutz_webhook.php
Πληροφορίες: https://developer.skroutz.gr/
Δημιουργούμε στη βάση δεδομένων του site (phpmyadmin) 2 πίνακες:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
CREATE TABLE `sbz_skroutz_docs` ( `code` VARCHAR(20) NOT NULL , `event_type` VARCHAR(20) NOT NULL , `state` VARCHAR(20) NOT NULL , `customer_id` VARCHAR(20) NOT NULL , `customer_first_name` VARCHAR(50) NOT NULL , `customer_last_name` VARCHAR(50) NOT NULL , `customer_address_street_name` VARCHAR(50) NOT NULL , `customer_address_street_number` VARCHAR(20) NOT NULL , `customer_address_street_zip` VARCHAR(20) NOT NULL , `customer_address_street_city` VARCHAR(50) NOT NULL , `customer_address_street_region` VARCHAR(50) NOT NULL , `customer_address_street_pickup_from_collection_point` VARCHAR(200) NOT NULL , `invoice` VARCHAR(50) NOT NULL , `comments` VARCHAR(500) NOT NULL , `courier` VARCHAR(50) NOT NULL , `courier_voucher` VARCHAR(500) NOT NULL , `courier_tracking_codes` VARCHAR(50) NOT NULL , `created_at` TIMESTAMP NOT NULL , `expires_at` TIMESTAMP NOT NULL , `dispatch_until` TIMESTAMP NOT NULL , `invoice_company` VARCHAR(100) NOT NULL , `invoice_profession` VARCHAR(100) NOT NULL , `invoice_vat_number` VARCHAR(20) NOT NULL , `invoice_doy` VARCHAR(50) NOT NULL , `invoice_street_name` VARCHAR(50) NOT NULL , `invoice_street_number` VARCHAR(20) NOT NULL , `invoice_zip` VARCHAR(20) NOT NULL , `invoice_city` VARCHAR(50) NOT NULL , `invoice_region` VARCHAR(50) NOT NULL , `invoice_vat_exclusion` VARCHAR(10) NOT NULL , `express` VARCHAR(10) NOT NULL , `gift_wrap` VARCHAR(10) NOT NULL , `fulfilled_by_skroutz` VARCHAR(10) NOT NULL , PRIMARY KEY (`code`) ) ENGINE = MyISAM CHARSET=utf8 COLLATE utf8_unicode_ci; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
CREATE TABLE `sbz_skroutz_lines` ( `code` VARCHAR(20) NOT NULL , `id` VARCHAR(20) NOT NULL , `shop_uid` VARCHAR(20) NOT NULL , `product_name` VARCHAR(200) NOT NULL , `quantity` FLOAT NOT NULL , `size_label` VARCHAR(50) NOT NULL , `size_value` VARCHAR(50) NOT NULL , `shop_value` VARCHAR(50) NOT NULL , `unit_price` FLOAT NOT NULL , `total_price` FLOAT NOT NULL , `price_includes_vat` FLOAT NOT NULL , PRIMARY KEY (`id`), INDEX `shop_uid` (`shop_uid`), INDEX `code` (`code`) ) ENGINE = MyISAM CHARSET=utf8 COLLATE utf8_unicode_ci; |
Αφού δημιουργήσουμε τη βάση και ελέγξουμε ότι λειτουργεί η γέφυρα πρέπει να δημιουργήσουμε στο διαχειριστικό του hosting ένα cron που τρέχει κάθε ώρα και καλεί το script:
1 |
0 * * * * wget -qO /dev/null https://www.mysite.com/emdi_skroutz_webhook.php?orderid=recheck_pending |
Αυτό το κάνουμε για να ενημερώνονται οι παραγγελίες ένα 24ωρο πριν για τυχόν ακυρώσεις και αλλαγές που μπορεί να μην στείλει το skroutz μέσω webhook.
Τέλος ρυθμίζουμε την EMDI στις ρυθμίσεις, σύνδεση eshop με τα αντίστοιχα url, όπως κάνουμε με όλες τις γέφυρες.
*Αν δεν εκτελείται το πρώτο, δοκιμάζουμε το παρακάτω:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
CREATE TABLE `sbz_skroutz_docs` ( `code` VARCHAR(20) NOT NULL , `event_type` VARCHAR(20) NOT NULL , `state` VARCHAR(20) NOT NULL , `customer_id` VARCHAR(20) NOT NULL , `customer_first_name` VARCHAR(50) NOT NULL , `customer_last_name` VARCHAR(50) NOT NULL , `customer_address_street_name` VARCHAR(50) NOT NULL , `customer_address_street_number` VARCHAR(20) NOT NULL , `customer_address_street_zip` VARCHAR(20) NOT NULL , `customer_address_street_city` VARCHAR(50) NOT NULL , `customer_address_street_region` VARCHAR(50) NOT NULL , `customer_address_street_pickup_from_collection_point` VARCHAR(200) NOT NULL , `invoice` VARCHAR(50) NOT NULL , `comments` VARCHAR(500) NOT NULL , `courier` VARCHAR(50) NOT NULL , `courier_voucher` VARCHAR(500) NOT NULL , `courier_tracking_codes` VARCHAR(50) NOT NULL , `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , `expires_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , `dispatch_until` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , `invoice_company` VARCHAR(100) NOT NULL , `invoice_profession` VARCHAR(100) NOT NULL , `invoice_vat_number` VARCHAR(20) NOT NULL , `invoice_doy` VARCHAR(50) NOT NULL , `invoice_street_name` VARCHAR(50) NOT NULL , `invoice_street_number` VARCHAR(20) NOT NULL , `invoice_zip` VARCHAR(20) NOT NULL , `invoice_city` VARCHAR(50) NOT NULL , `invoice_region` VARCHAR(50) NOT NULL , `invoice_vat_exclusion` VARCHAR(10) NOT NULL , PRIMARY KEY (`code`) ) ENGINE = MyISAM CHARSET=utf8 COLLATE utf8_unicode_ci; |