Οδηγός ενσωμάτωσης WooCommerce
Αυτός ο οδηγός συνδέει ένα κατάστημα WooCommerce με το Tajo. Η ενσωμάτωση έχει δύο σκέλη που λειτουργούν μαζί:
- Plugin Tajo for WooCommerce: καταγράφει συμβάντα αλληλεπίδρασης σε πραγματικό χρόνο (παραγγελίες, καλάθια, επιστροφές χρημάτων, κριτικές, υποβολές φορμών) μέσα στο WordPress και τα παραδίδει στο Tajo μέσω ενός ανθεκτικού, υπογεγραμμένου outbox.
- Σύνδεση WooCommerce REST: το Tajo διαβάζει τους πελάτες, τις παραγγελίες, τα προϊόντα, τα κουπόνια, τις επιστροφές χρημάτων και τις κριτικές του καταστήματός σας για την ιστορική εισαγωγή και τον συνεχή συγχρονισμό. Δείτε την αναφορά συνδέσμου WooCommerce για τη ρύθμιση μόνο με REST.
Η ίδια η αυτοματοποίηση μάρκετινγκ (email, SMS, WhatsApp μέσω Brevo και άλλων παρόχων) διαμορφώνεται στο Tajo, όχι στο plugin. Δουλειά του plugin είναι να βγάζει από το WordPress συμβάντα που είναι αξιόπιστα.
Προϋποθέσεις
- WordPress 6.3+ με πρόσβαση διαχειριστή
- PHP 7.4+
- WooCommerce 7.0+ (το plugin λειτουργεί και σε ιστότοπους WordPress χωρίς WooCommerce, οι προσαρμογείς εμπορίου απλώς παραμένουν ανενεργοί)
- Λογαριασμό Tajo με δημιουργημένη σύνδεση WordPress
- HTTPS στο endpoint του Tajo (ισχύει πάντα για το φιλοξενούμενο Tajo)
Βήμα 1: Εγκαταστήστε το plugin Tajo for WooCommerce
Χειροκίνητη εγκατάσταση
# Download the plugincd wp-content/pluginswget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip
# Verify and unzipunzip tajo-woocommerce-latest.zipΈπειτα ενεργοποιήστε το από τη διαχείριση του WordPress:
- Μεταβείτε στο Plugins → Installed Plugins
- Βρείτε το «Tajo for WooCommerce»
- Πατήστε Activate
Μπορείτε επίσης να ανεβάσετε το zip απευθείας μέσω Plugins → Add New → Upload Plugin. Ένα άθροισμα ελέγχου SHA-256 δημοσιεύεται μαζί με κάθε έκδοση στο tajo.io/downloads/woocommerce/. Το plugin δεν είναι ακόμη καταχωρισμένο στον κατάλογο του WordPress.org. Η χειροκίνητη εγκατάσταση είναι σήμερα ο υποστηριζόμενος τρόπος.
Βήμα 2: Διαμορφώστε τη σύνδεση
Μεταβείτε στο WooCommerce → Tajo (σε ιστότοπους χωρίς WooCommerce: Settings → Tajo) και συμπληρώστε τις τρεις τιμές από τη σύνδεση WordPress του Tajo:
| Πεδίο | Τιμή |
|---|---|
| Tajo endpoint | Το HTTPS webhook URL που εμφανίζεται στο Tajo, π.χ. https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement |
| Binding ID | Το binding ID της σύνδεσης, από το Tajo |
| Μυστικό υπογραφής | Το κοινό μυστικό (32–256 χαρακτήρες). Το plugin δημιουργεί ένα ισχυρό τοπικό μυστικό κατά την ενεργοποίηση. Επικολλήστε το στο Tajo ή επικολλήστε εδώ το μυστικό του Tajo |
Δεν υπάρχουν σταθερές κλειδιού API προς προσθήκη στο wp-config.php. Τα συμβάντα παραμένουν με ασφάλεια σε ουρά μέσα στο τοπικό outbox μέχρι να αποθηκευτούν και οι τρεις τιμές.
Έπειτα επαληθεύστε τη διαδρομή από άκρο σε άκρο:
- Πατήστε Queue test event και μετά Process now.
- Ο πίνακας του outbox παράδοσης πρέπει να δείχνει το συμβάν ως παραδομένο.
- Στο Tajo, επιβεβαιώστε ότι το συμβάν
connection.testέφτασε στη σύνδεση WordPress.
Τι στέλνει το plugin
Κάθε συμβάν είναι ένας συμπαγής φάκελος με ελαχιστοποιημένα προσωπικά δεδομένα, υπογεγραμμένος με HMAC-SHA256. Από το WordPress φεύγουν μόνο τα πεδία ταυτότητας αλληλεπίδρασης (email, τηλέφωνο, τοπικά αναγνωριστικά) και οριοθετημένα μεταδεδομένα συμβάντος, ποτέ ονόματα, ταχυδρομικές διευθύνσεις, διευθύνσεις IP, user agents, σώματα σχολίων, αυθαίρετα πεδία φορμών, σημειώσεις παραγγελίας ή στοιχεία πληρωμής.
Συμβάντα WooCommerce
| Hook | Συμβάν |
|---|---|
woocommerce_created_customer / woocommerce_update_customer | customer.created / customer.updated |
woocommerce_new_product / woocommerce_update_product | product.created / product.updated |
woocommerce_add_to_cart, αφαίρεση προϊόντος, εφαρμογή ή αφαίρεση κουπονιού | cart.updated (με σύνοψη καλαθιού για ροές εγκατάλειψης) |
woocommerce_cart_emptied | cart.emptied |
woocommerce_new_order / woocommerce_update_order | order.placed / order.updated |
woocommerce_order_status_changed | order.status_changed (και order.fulfilled κατά την ολοκλήρωση) |
woocommerce_payment_complete | order.paid |
woocommerce_order_refunded | refund.created |
| Αλλαγές κατάστασης στο WooCommerce Subscriptions | subscription.status_changed |
Τα συμβάντα παραγγελίας μεταφέρουν τον αριθμό παραγγελίας, την κατάσταση, το νόμισμα, τα σύνολα, τις γραμμές παραγγελίας και έτοιμα προς χρήση URL κριτικής και επανάληψης παραγγελίας, αρκετά για αυτοματισμούς μετά την αγορά και επανάκτησης χωρίς επιπλέον κλήση API.
Συμβάντα WordPress
contact.created/contact.updated/contact.deletedγια λογαριασμούς χρηστώνcontent.published/content.updated/content.unpublishedγια δημόσιο περιεχόμενοcomment.created/comment.status_changedγια σχόλια επισκεπτών και κριτικές προϊόντων (οι εσωτερικές σημειώσεις παραγγελίας του WooCommerce, τα pingbacks και τα trackbacks δεν εκπέμπονται ποτέ)form.submittedγια επιτυχείς υποβολές σε Contact Form 7, WPForms, Gravity Forms και Fluent Forms. Εξάγονται μόνο τα τυποποιημένα πεδία ταυτότητας email και τηλεφώνου και τα μεταδεδομένα της φόρμας, ενώ τα αυθαίρετα υποβληθέντα πεδία απορρίπτονται
Αξιοπιστία: το outbox παράδοσης
Το plugin δεν στέλνει ποτέ συμβάντα στο Tajo απευθείας από τη φόρτωση μιας σελίδας. Κάθε συμβάν γράφεται πρώτα σε έναν τοπικό πίνακα outbox και έπειτα παραδίδεται από το WP-Cron με:
- Οριοθετημένη εκθετική επιβράδυνση (έως 8 προσπάθειες, με σεβασμό στο
Retry-After) - Dead letters με επιλογή Replay dead letters ενός κλικ μέσα στη διαχείριση
- Όρια διατήρησης, ώστε ένα μη προσβάσιμο endpoint να μην μπορεί ποτέ να συσσωρεύσει προσωπικά δεδομένα (παραδομένα: 7 ημέρες, σε ουρά: 30 ημέρες, dead letters: 30 ημέρες μετά την τελευταία ενημέρωση)
- Ταυτοδύναμα αναγνωριστικά συμβάντων, ώστε οι επαναλήψεις και οι αναμεταδόσεις να μη δημιουργούν ποτέ διπλοεγγραφές παρακάτω στη ροή
Αν ο πάροχος φιλοξενίας σας απενεργοποιεί το WP-Cron (DISABLE_WP_CRON), καλέστε το wp-cron.php από έναν πραγματικό χρονοπρογραμματιστή τουλάχιστον μία φορά ανά λεπτό.
Η συγκατάθεση δεν συνάγεται ποτέ
Η δημιουργία λογαριασμού, η ολοκλήρωση αγοράς, η αγορά και οι γενικές υποβολές φορμών δεν θεωρούνται συγκατάθεση μάρκετινγκ. Τα ενσωματωμένα συμβάντα φέρουν κενή λίστα συγκαταθέσεων. Για να καταγράψετε ρητή συγκατάθεση (για παράδειγμα από ένα τσεκαρισμένο πεδίο newsletter), εκπέμψτε την μέσω του hook επέκτασης:
do_action( 'tajo_engagement_emit', 'consent.updated', array( 'email' => $email ), array( 'policyVersion' => '2026-07' ), array( array( 'channel' => 'email', 'status' => 'opt_in', // or 'opt_out' 'purpose' => 'marketing', 'source' => 'newsletter_checkbox', 'evidence' => array( 'formId' => 'newsletter-footer', 'field' => 'marketing_email' ), ), ), gmdate( 'c' ));Ο ίδιος hook επιτρέπει σε οποιοδήποτε plugin ή θέμα να εκπέμπει προσαρμοσμένα συμβάντα. Όλα περνούν από τον ίδιο sanitizer, το ίδιο outbox και την ίδια υπογραφή.
Βήμα 3: Ιστορική εισαγωγή
Τα συμβάντα πραγματικού χρόνου καλύπτουν τα πάντα από την εγκατάσταση και μετά. Για το ιστορικό που προηγείται του plugin, η σύνδεση WooCommerce REST του Tajo εισάγει τους υπάρχοντες πελάτες, παραγγελίες, προϊόντα, κουπόνια, επιστροφές χρημάτων και κριτικές, με διαμόρφωση εξ ολοκλήρου από την πλευρά του Tajo και ένα κλειδί WooCommerce REST API (WooCommerce → Settings → Advanced → REST API, δικαίωμα ανάγνωσης). Δείτε την αναφορά συνδέσμου WooCommerce για λεπτομέρειες.
Απόρρητο και GDPR
- Το plugin δηλώνεται στα εργαλεία Tools → Export Personal Data και Tools → Erase Personal Data του WordPress. Τα διατηρούμενα συμβάντα outbox για ένα email που ταιριάζει εξάγονται ή διαγράφονται τοπικά.
- Η διαγραφή και η παράδοση μοιράζονται ένα mutex με λογική fail-closed, ώστε μια διαγραφή να μην μπορεί ποτέ να δηλώσει ολοκλήρωση όσο ένα payload βρίσκεται στη μέση της αποστολής του.
- Η τοπική διαγραφή καλύπτει μόνο το outbox του WordPress. Υποβάλετε το αντίστοιχο αίτημα στο Tajo για τα δεδομένα παρακάτω στη ροή.
- Η απενεργοποίηση διακόπτει προσωρινά την παράδοση αλλά διατηρεί τη διαμόρφωση και τα συμβάντα σε ουρά. Η διαγραφή του plugin αφαιρεί οριστικά το outbox, τις ρυθμίσεις, το μυστικό και τα προγραμματισμένα έργα.
Συμβατότητα
- HPOS: το plugin δηλώνει συμβατότητα με την αποθήκευση παραγγελιών υψηλών επιδόσεων του WooCommerce και χρησιμοποιεί μόνο αντικείμενα CRUD και δημόσια hooks.
- WooCommerce Subscriptions: οι αλλαγές κατάστασης συνδρομής καταγράφονται όταν η επέκταση είναι ενεργή.
- Multisite: η απεγκατάσταση καθαρίζει κάθε ιστότοπο του δικτύου.
Αναφορά λειτουργίας
Η ανακάλυψη από διακομιστή σε διακομιστή και ο έλεγχος του outbox είναι διαθέσιμα στους διαχειριστές μέσω ελέγχου ταυτότητας με Application Password:
| Μέθοδος | Διαδρομή | Σκοπός |
|---|---|---|
GET | /wp-json/tajo/v1/capabilities | Έκδοση plugin, εντοπισμένοι προσαρμογείς, κατάλογος συμβάντων, υγεία του outbox |
GET | /wp-json/tajo/v1/outbox | Μετρήσεις outbox (τα payloads δεν εκτίθενται ποτέ) |
POST | /wp-json/tajo/v1/outbox/process | Άμεση επεξεργασία μιας παρτίδας |
POST | /wp-json/tajo/v1/outbox/replay | Αναμετάδοση των dead letters |
Επίλυση προβλημάτων
| Σύμπτωμα | Αιτία και λύση |
|---|---|
| Τα συμβάντα μένουν σε «Queued» | Το endpoint, το binding ID ή το μυστικό δεν έχουν αποθηκευτεί ακόμη. Η παράδοση είναι σε παύση μέχρι να διαμορφωθούν και τα τρία |
| Τα συμβάντα μένουν σε «Retrying» | Το endpoint του Tajo δεν είναι προσβάσιμο από τον πάροχό σας ή το WP-Cron δεν εκτελείται. Ελέγξτε τη στήλη σφαλμάτων του πίνακα outbox και τη ρύθμιση cron |
| Συσσωρεύονται dead letters | Ένα σφάλμα που δεν επαναλαμβάνεται, συνήθως λάθος binding ID ή μυστικό. Διορθώστε τη διαμόρφωση και μετά πατήστε Replay dead letters |
| «Enter a valid HTTPS Tajo webhook endpoint» | Το endpoint πρέπει να είναι HTTPS χωρίς ενσωματωμένα διαπιστευτήρια |
| Το δοκιμαστικό συμβάν παραδόθηκε αλλά δεν φαίνεται τίποτα στο Tajo | Ελέγξτε ότι επικολλήσατε το binding ID από το ίδιο workspace και την ίδια σύνδεση Tajo στα οποία ανήκει το endpoint |
Επόμενα βήματα
- Αναφορά συνδέσμου WooCommerce: συγχρονισμός REST, λεπτομέρειες υπογραφής webhook, κλειδιά διαμόρφωσης
- Συγχρονισμός πελατών: αντιστοίχιση των πελατών WooCommerce στο σύστημα αναφοράς σας
- Διαμορφώστε στο Tajo αυτοματισμούς εγκαταλελειμμένου καλαθιού, μετά την αγορά και επανάκτησης με βάση τα συμβάντα
cart.updated,order.placedκαιorder.fulfilled