Thenia για developers

Τεχνικές πληροφορίες για την εγκατάσταση και τη λειτουργία του Thenia σε καταστήματα WooCommerce. Εδώ θα βρεις τις απαιτήσεις συστήματος, τη συμβατότητα, τα scripts που φορτώνονται, τη διαχείριση δεδομένων και τις διαδικασίες σύνδεσης και απεγκατάστασης.

Οι πληροφορίες αφορούν την έκδοση 1.2.9 του πρόσθετου Thenia για WordPress.

Απαιτήσεις συστήματος

ΣτοιχείοΕλάχιστη απαίτηση
WordPress6.2+
PHP7.4+
WooCommerce7.0+
ΠρωτόκολλοHTTPS

Το κατάστημα πρέπει να χρησιμοποιεί HTTPS. Διευθύνσεις που ξεκινούν με http:// δεν γίνονται δεκτές.

Αν το WooCommerce δεν είναι ενεργό, το πρόσθετο εμφανίζει σχετική ειδοποίηση στο περιβάλλον διαχείρισης του WordPress και δεν φορτώνει άλλες λειτουργίες.

Οι ενημερώσεις εγκαθίστανται μέσω του κανονικού μηχανισμού ενημερώσεων του WordPress. Ο έλεγχος διαθεσιμότητας νέας έκδοσης πραγματοποιείται το πολύ μία φορά κάθε 6 ώρες.

Συμβατότητα με WooCommerce

Αποθήκευση παραγγελιών

Το Thenia έχει δηλωμένη συμβατότητα με το HPOS (High-Performance Order Storage). Υποστηρίζει επίσης καταστήματα που αποθηκεύουν τις παραγγελίες ως WordPress posts.

Checkout

Υποστηρίζονται τόσο το κλασικό WooCommerce checkout όσο και το checkout με blocks. Η ενσωμάτωση με το block checkout χρησιμοποιεί τα hooks του Store API.

Cache και REST

Η εμφάνιση της φόρμας εγγραφής και η καταγραφή περιήγησης αποφασίζονται στον browser. Έτσι, οι συγκεκριμένες λειτουργίες υποστηρίζουν και σελίδες που εξυπηρετούνται από cache.

Η φόρμα εγγραφής δεν χρησιμοποιεί nonce, επειδή ένα nonce ενσωματωμένο σε cached σελίδα μπορεί να έχει λήξει. Αντί γι' αυτό, εφαρμόζονται honeypot και περιορισμός αιτημάτων ανά IP.

Όλες οι κλήσεις από τη βιτρίνα του καταστήματος χρησιμοποιούν REST endpoints κάτω από το /wp-json/thenia/v1/. Δεν χρησιμοποιείται admin-ajax.

Συνύπαρξη με άλλα εργαλεία email marketing

Το πρόσθετο αναγνωρίζει γνωστά εργαλεία εγκαταλελειμμένου καλαθιού και email marketing, όπως CartFlows, Cart Abandonment Recovery, Retainful, Klaviyo, Omnisend, Mailchimp for WooCommerce, MailPoet, AutomateWoo, FunnelKit, Brevo, ActiveCampaign και YITH.

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

Τι φορτώνει το Thenia στο site

Το πρόσθετο δεν φορτώνει κανένα αρχείο CSS. Χρησιμοποιεί τρία μικρά JavaScript αρχεία, χωρίς εξαρτήσεις από άλλα scripts.

Κάθε script φορτώνεται μόνο όταν είναι ενεργός ο αντίστοιχος αυτοματισμός και πληρούνται οι συνθήκες εμφάνισης του.

ΑρχείοΜέγεθοςΠού και πότε φορτώνεται
thenia-checkout.js1,7 KBΜόνο στο checkout, για καταγραφή email στο πλαίσιο του εγκαταλελειμμένου καλαθιού.
thenia-browse.js1,4 KBΜε defer, μόνο σε σελίδες προϊόντων και μόνο για γνωστούς επισκέπτες: συνδεδεμένους ή επισκέπτες που προήλθαν από email του Thenia. Δεν εκτελείται για ανώνυμους επισκέπτες.
thenia-signup.js8,1 KBΜε defer, για τη φόρμα εγγραφής. Φορτώνεται για μη συνδεδεμένους επισκέπτες, σε όλες τις σελίδες εκτός από καλάθι, checkout και λογαριασμό.

Ουρά δεδομένων και εργασίες παρασκηνίου

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

Αρχικά αποθηκεύονται στον πίνακα {prefix}thenia_queue και αποστέλλονται στο τέλος του request, μετά το fastcgi_finish_request όπου αυτό είναι διαθέσιμο.

  • Έως 50 εγγραφές ανά αποστολή.
  • Όριο αναμονής 4 δευτερολέπτων.
  • Επανάληψη αποτυχημένων αποστολών με προοδευτικά αυξανόμενη αναμονή.
  • Μία προγραμματισμένη εργασία, thenia_heartbeat, που εκτελείται μία φορά την ώρα.

Το πρόσθετο δεν χρησιμοποιεί Action Scheduler.

Cookies και συναίνεση

Το Thenia υποστηρίζει το WP Consent API, το οποίο χρησιμοποιούν εργαλεία διαχείρισης συναίνεσης όπως Complianz, CookieYes και Cookiebot.

Χωρίς συναίνεση στην αντίστοιχη κατηγορία, δεν τοποθετούνται τα σχετικά cookies και δεν καταγράφονται προβολές προϊόντων.

Όλα τα cookies χρησιμοποιούν SameSite=Lax και Secure σε HTTPS.

CookieΔιάρκειαΚατηγορίαΣκοπός
thenia_click30 ημέρεςmarketingΚαταγράφει από ποιο email προήλθε η επίσκεψη, για την απόδοση παραγγελιών. Χρησιμοποιεί HttpOnly.
thenia_known30 ημέρεςmarketingΑναγνωρίζει επισκέπτη που προήλθε από email του Thenia, αποκρύπτει τη φόρμα και επιτρέπει την καταγραφή περιήγησης.
thenia_customer2 χρόνιαpreferencesΑναγνωρίζει πελάτη ή εγγεγραμμένο επισκέπτη, ώστε να μην εμφανίζεται ξανά η φόρμα εγγραφής.
thenia_signup_at1 χρόνοςpreferencesΚαταγράφει πότε εμφανίστηκε τελευταία φορά η φόρμα. Η ίδια πληροφορία αποθηκεύεται και στο localStorage.

Σύνδεση καταστήματος και ασφάλεια

Διαδικασία σύνδεσης

  1. Ο διαχειριστής επιλέγει «Σύνδεση με Thenia» μέσα από το πρόσθετο.
  2. Επιβεβαιώνει τη σύνδεση στο app.thenia.io.
  3. Επιστρέφει στο κατάστημα με κωδικό μίας χρήσης, ο οποίος ισχύει για 10 λεπτά και συνδέεται αποκλειστικά με το συγκεκριμένο site.
  4. Το πρόσθετο ανταλλάσσει τον κωδικό με την εφαρμογή μέσω επικοινωνίας server-to-server.

Για νέο κατάστημα, το πρόσθετο δημιουργεί WooCommerce REST key με περιγραφή Thenia και δικαιώματα read_write, για τον διαχειριστή που πραγματοποιεί τη σύνδεση.

Δεν χρησιμοποιούνται application passwords.

Υπογραφή αιτημάτων

Η επικοινωνία ανάμεσα στο πρόσθετο και την εφαρμογή υπογράφεται και στις δύο κατευθύνσεις με HMAC-SHA256.

Οι κεφαλίδες υπογραφής είναι:

  • X-Thenia-Store
  • X-Thenia-Timestamp
  • X-Thenia-Signature

Αιτήματα με χρονική απόκλιση μεγαλύτερη από 5 λεπτά απορρίπτονται.

Αποθήκευση μυστικών

Στο WordPress, το μυστικό σύνδεσης αποθηκεύεται κρυπτογραφημένο με sodium ή AES-256-GCM μέσω openssl. Το κλειδί κρυπτογράφησης προκύπτει από το wp_salt του site.

Το μυστικό δεν αποθηκεύεται σε απλό κείμενο. Η εγγραφή βρίσκεται στο wp_options, χωρίς autoload.

Στην εφαρμογή Thenia, τα κλειδιά και τα μυστικά αποθηκεύονται κρυπτογραφημένα με AES-256-GCM.

REST endpoints

Το πρόσθετο χρησιμοποιεί το namespace thenia/v1.

EndpointΧρήση και προστασία
/cart-emailΚαταγραφή email καλαθιού, με nonce.
/viewΚαταγραφή προβολών προϊόντων.
/signupΕγγραφή μέσω φόρμας, με honeypot και περιορισμό ανά IP.
/signup-shownΚαταγραφή εμφάνισης της φόρμας εγγραφής.
/wcΔέχεται μόνο υπογεγραμμένα αιτήματα από την εφαρμογή.
/sale-checkΔέχεται μόνο υπογεγραμμένα αιτήματα από την εφαρμογή.

Τα /wc και /sale-check περιορίζονται σε λειτουργίες που αφορούν κουπόνια και μεθόδους αποστολής.

Το πρόσθετο δεν δημιουργεί, δεν τροποποιεί και δεν διαγράφει ζώνες αποστολής.

Ποια δεδομένα ανταλλάσσονται με το Thenia

Δεδομένα λειτουργίας καταστήματος

Το πρόσθετο αποστέλλει στην εφαρμογή:

  • Παραγγελίες, νέες καταχωρίσεις, μεταβολές και επιστροφές χρημάτων.
  • Προϊόντα και πληροφορίες αποθέματος.
  • Καλάθια για τα οποία είναι γνωστή η διεύθυνση email.
  • Εγγραφές από τη φόρμα, με email, όνομα και το ακριβές κείμενο συναίνεσης.
  • Προβολές προϊόντων από γνωστούς επισκέπτες, σύμφωνα με τις απαιτήσεις συναίνεσης.

Τα στοιχεία πληρωμής των παραγγελιών δεν στέλνονται στο Thenia. Στέλνεται μόνο το είδος της πληρωμής: αντικαταβολή, τραπεζική κατάθεση, επιταγή ή online.

Ωριαία ενημέρωση

Μία φορά την ώρα αποστέλλονται:

  • Εκδόσεις του πρόσθετου Thenia, του WooCommerce, του WordPress και της PHP.
  • Ζώνη ώρας και νόμισμα καταστήματος.
  • Όνομα και λογότυπο καταστήματος.
  • Email και τηλέφωνο καταστήματος.

Χρήση δεδομένων και AI

Τα δεδομένα πελατών χρησιμοποιούνται αποκλειστικά για τη λειτουργία του Thenia για το συνδεδεμένο κατάστημα. Δεν πωλούνται ούτε διατίθενται για διαφημιστική χρήση.

Στο AI διαβιβάζονται μόνο στοιχεία προϊόντων, όχι προσωπικά δεδομένα πελατών.

Φιλοξενία και επεξεργασία

Η εφαρμογή και η βάση δεδομένων φιλοξενούνται στις ΗΠΑ. Η αποστολή emails πραγματοποιείται από την Ιρλανδία.

Περισσότερες πληροφορίες περιλαμβάνονται στην Πολιτική Απορρήτου και στη Συμφωνία Επεξεργασίας Δεδομένων (DPA).

DPA

Δημιουργία και διαχείριση κουπονιών

Τα κουπόνια δημιουργούνται απευθείας στο WooCommerce λίγο πριν από την αποστολή του αντίστοιχου email.

Κάθε κουπόνι διαθέτει:

  • Μορφή PREFIX-XXXXXX, με έξι χαρακτήρες στον μοναδικό κωδικό.
  • Αποκλεισμό των χαρακτήρων 0, O, 1, I και L, ώστε να αποφεύγονται συγχύσεις.
  • Δυνατότητα μίας χρήσης.
  • Περιορισμό χρήσης στο email του συγκεκριμένου πελάτη.
  • Ρύθμιση individual_use.
  • Ημερομηνία λήξης.

Τα κουπόνια του Thenia που δεν χρησιμοποιήθηκαν διαγράφονται αυτόματα από το WooCommerce 7 ημέρες μετά τη λήξη τους.

Κουπόνια που έχουν χρησιμοποιηθεί ή δεν δημιουργήθηκαν από το Thenia δεν διαγράφονται από αυτή τη διαδικασία.

Αποστολή emails και παραδοσιμότητα

Τα emails αποστέλλονται από domain του Thenia, με υποστήριξη SPF, DKIM και DMARC.

Δεν απαιτούνται αλλαγές στις εγγραφές DNS του καταστήματος.

  • Όνομα αποστολέα: Εμφανίζεται το όνομα του καταστήματος, όχι το Thenia.
  • Απαντήσεις: Κατευθύνονται στο email του καταστήματος.
  • Απεγγραφή: Κάθε email περιλαμβάνει δυνατότητα απεγγραφής με ένα κλικ, μέσω List-Unsubscribe και one-click.

Απενεργοποίηση, αποσύνδεση και απεγκατάσταση

Οι τρεις ενέργειες έχουν διαφορετικό αποτέλεσμα.

Απενεργοποίηση πρόσθετου

Η απενεργοποίηση σταματά την ωριαία εργασία thenia_heartbeat.

Δεν διαγράφει δεδομένα και δεν αποσυνδέει το κατάστημα από το Thenia.

Για να διακοπεί η σύνδεση, πρέπει να χρησιμοποιηθεί η επιλογή «Αποσύνδεση» ή να γίνει απεγκατάσταση.

Αποσύνδεση από το πρόσθετο

Η επιλογή «Αποσύνδεση»:

  • Διαγράφει το WooCommerce REST key που δημιούργησε το ίδιο το πρόσθετο.
  • Αδειάζει την ουρά δεδομένων.
  • Διαγράφει το αποθηκευμένο μυστικό σύνδεσης.

Πλήρης απεγκατάσταση

Κατά την απεγκατάσταση, το uninstall.php ειδοποιεί την εφαρμογή Thenia και εκτελεί τον καθαρισμό των τοπικών δεδομένων.

Διαγράφονται:

  • Το WooCommerce REST key που δημιούργησε το πρόσθετο.
  • Ο πίνακας {prefix}thenia_queue.
  • Ο πίνακας {prefix}thenia_carts.
  • Το option thenia_settings.
  • Το option thenia_table_version.
  • Το option thenia_sale_check_off.
  • Το transient thenia_update_info.
  • Η προγραμματισμένη εργασία thenia_heartbeat.

Τι παραμένει μετά την απεγκατάσταση

Δεν διαγράφονται:

  • Κουπόνια που δημιουργήθηκαν από το Thenia.
  • Τα order meta _thenia_click και _thenia_cart_token.
  • Transients που λήγουν αυτόματα.

API και ενσωματώσεις τρίτων

Το Thenia δεν διαθέτει προς το παρόν δημόσιο API ή webhooks για εξωτερικές ενσωματώσεις.

Η σύνδεση καταστήματος WooCommerce με την εφαρμογή πραγματοποιείται αποκλειστικά μέσω του πρόσθετου Thenia.

Τα εσωτερικά REST endpoints του πρόσθετου δεν αποτελούν δημόσιο API για τρίτους.

Υποστήριξη developers

Για τεχνικές ερωτήσεις σχετικά με την εγκατάσταση, τη συμβατότητα ή τη λειτουργία του πρόσθετου, επικοινώνησε στο:

hello@thenia.io

Συχνές ερωτήσεις για developers

Υποστηρίζει το Thenia HPOS και WooCommerce Checkout Blocks;

Ναι. Το πρόσθετο έχει δηλωμένη συμβατότητα με HPOS και υποστηρίζει τόσο το κλασικό checkout όσο και το block checkout μέσω των hooks του Store API. Υποστηρίζονται επίσης οι παραγγελίες που αποθηκεύονται ως WordPress posts.

Λειτουργεί το Thenia με cache;

Ναι. Η φόρμα εγγραφής και η καταγραφή περιήγησης χρησιμοποιούν αποφάσεις στον browser, ώστε να λειτουργούν και σε cached σελίδες. Οι κλήσεις από τη βιτρίνα πραγματοποιούνται μέσω REST και όχι μέσω admin-ajax.

Προσθέτει scripts σε όλες τις σελίδες;

Όχι. Το Thenia δεν φορτώνει CSS και ενεργοποιεί τα τρία JavaScript αρχεία του μόνο όπου χρειάζονται, ανάλογα με τον ενεργό αυτοματισμό, τη σελίδα και τον επισκέπτη.

Χρειάζονται αλλαγές στο DNS για την αποστολή emails;

Όχι. Τα emails αποστέλλονται από domain του Thenia με SPF, DKIM και DMARC. Το όνομα αποστολέα παραμένει το όνομα του καταστήματος και οι απαντήσεις κατευθύνονται στο email του.

Τι συμβαίνει αν απενεργοποιήσω ή απεγκαταστήσω το πρόσθετο;

Η απενεργοποίηση σταματά μόνο την ωριαία εργασία και διατηρεί τη σύνδεση και τα δεδομένα. Η αποσύνδεση διαγράφει το κλειδί REST του πρόσθετου, αδειάζει την ουρά και αφαιρεί το μυστικό σύνδεσης. Η απεγκατάσταση καθαρίζει επιπλέον τους συγκεκριμένους πίνακες, options, transient και προγραμματισμένη εργασία, αλλά διατηρεί τα κουπόνια και τα αναφερόμενα order meta.

Μπορώ να συνδέσω το Thenia μέσω δικού μου API;

Όχι. Δεν παρέχεται σήμερα δημόσιο API ή webhooks για τρίτους. Η σύνδεση WooCommerce πραγματοποιείται μόνο μέσω του επίσημου πρόσθετου Thenia.