Expire reward points

Ρυθμίσεις

Κατά την εγκατάσταση το πρόσθετο δημιουργεί:

  • ρυθμίσεις στο log

  • ειδοποιήσεις πελάτη

Στο πρόσθετο

Οι ρυθμίσεις στο πρόσθετο είναι:

addon-1.png

  • TTL (in months) Το ζητούμενο, μετά από πόσους μήνες λήγουν οι πόντοι

  • Warn earlier (in months) Πόσους μήνες πριν τη λήξη να ειδοποιεί για τους πόντος που θα να λήξουν

  • Log to file Να γράφει log file ή όχι. Το αν θα κάνει εγγραφές στο log του cs-cart το ρυθμίζουμε από τις ρυθμίσεις του log. Το log file το γράφει στο var/updater_files/logs/points_expirer και φτιάχνει ημερήσιο αρχείο. Για την εκκαθάριση του φακέλου είμαστε εμείς υπεύθυνοι.

  • Dry run Στην κατάσταση Dry run δεν αλλάζει πόντους δε στέλνει email, κάνει μόνο τις εγγραφές στο log ώστε να δούμε τι θα συμβεί.

  • Test user ID Αν θέλουμε να τρέξει δοκιμαστικά μόνο για ένα χρήστη, μπορούμε να βάλουμε το user_id εδώ. Διαφορετικά κενό.

  • Actions Μπορεί, ειδικά στην πρώτη εκτέλεση, να θέλουμε να κάνουμε μια από τις δύο ενέργειες. Είτε χωρίς προειδοποίηση να λήξουμε τους πόντους, είτε να στείλουμε ειδοποίηση και μόνοι μας μετά από μερικές μέρες να το τρέξουμε να κάνει Expire και μετά να το βάλουμε σε cron.

  • Όριο για μεγάλο υπόλοιπο Από πόσους πόντους και πάνω θεωρούμε μεγάλο το υπόλοιπο. Όσοι χρήστες έχουν υπόλοιπο πάνω από αυτό το όριο θα συμπεριληφθούν στις λίστες μεγάλων υπολοίπων.

  • Όριο χρηστών Πόσους χρήστες να κρατάει στη λίστα των μεγάλων υπόλοιπων (δεν μπορεί να είναι πάνω από 100).

Cron

Πρέπει να οριστεί ένα crontab, προτείνουμε να τρέχει μια φορά τη μέρα ή και λιγότερο, και να εκτελεί την εντολή

php admin.php --dispatch=exprwpoints.run

Log

Για το αν θα κάνει εγγραφές στο log του cs-cart πάμε Βασικές Ρυθμίσεις > Συνδέσεις και από το γρανάζι επιλέγουμε Βασικές ρυθμίσεις. Εκεί θα βρούμε τρεις επιλογές.

log-1.png

  • Expire Εγγραφή με τον πελάτη και τους πόντους του που λήξαν

  • Warn Εγγραφή με τον πελάτη και τους πόντους του που θα λήξουν

  • Extended info Εγγραφή με τις εγγραφές των πόντων που αφορούν το expire ή warn

Notifications

Υπάρχουν δύο ειδοποιήσεις πελάτη που θα πρέπει να προσαρμόσουμε.

notifications-1.png

Στατιστικά πόντων επιβράβευσης

Η σελίδα Μαρκετινγκ > Στατιστικά Πόντων επιβράβευσης παρουσιάζει σύνολα των πόντων που έχουν συγκεντρώσει οι πελάτες, το πλήθος αυτών που λήγει την ορισμένη περίοδο και δύο λίστες. Τη λίστα με του πελάτες που έχουν μεγάλο υπόλοιπο πόντων και τους πελάτες που έχουν τα μεγαλύτερα ποσά πόντων που λήγουν.

Οι παράμετροι για τη δημιουργία των λιστών αυτών ορίζονται στο πρόσθετο.

stats-1.png

stats-2.png

Crontabs

Η εντολή

php admin.php --dispatch=exprwpoints.run

κάνει δύο εργασίες

  • warn Βρίσκει πελάτες που έχουν πόντους πριν από το διάστημα TTL-Warn earlier. Αν το TTL είναι 12 και το Warn earlier είναι 1, τότε πριν από 11 μήνες. Στέλνει την ειδοποίηση Πόντοι επιβράβευσης θα λήξουν.

  • expire Βρίσκει πελάτες που έχουν πόντους πρίν από το διάστημα TTL και κάνει στον reward_points_changes με αρνητικό το άθροισμα των πόντων που λήγουν. Έτσι με διαφάνεια θα μπορεί να δει ο πελάτης γιατί μειώθηκαν οι πόντοι του. Στέλνει την ειδοποίηση Πόντοι επιβράβευσης έληξαν.

Στην κονσόλα θα δούμε κάτι τέτοιο

run-1.png

Οι ειδοποιήσεις δε στέλνονται από την παραπάνω εντολή, η εντολή αυτή αποθηκεύει τις ειδοποιήσεις στη βάση και υπάρχει η εντολή

php admin.php --dispatch=exprwpoints.send

που στέλνει τα email με τον ρυθμό που μας επιτρέπει ο server μας.

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

Η εντολή

php admin.php --dispatch=exprwpoints.stats

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

Σημείωση

Στην πρώτη εκτέλεση καλό είναι να κάνουμε ένα dry run για να δούμε πόσα email θα προσπαθήσει να στείλει.

Προειδοποίηση

Οταν διαγράφουμε εγγραφές από τη διαχείριση από την καρτέλα των πόντων του πελάτη το cs-cart δεν αλλάζει το υπόλοιπο των πόντων του πελάτη. Μόνο διαγράφει την εγγραφή.

Άρα για πάρουμε πίσω τη λήξη των πόντων μαζικά είναι πολύπλοκο. Για αυτό προσοχή και DRY RUN.

Σημείωση

Το υπόλοιπο των πόντων είναι στον πίνακα user_data με type=W

Οι εγγραφές των κινήσεων είναι στον reward_points_changes, ο οποίος λειτουργεί σαν log. Αν διαγράψουμε τα δεδομένα αυτού του πίνακα δεν αλλάζει το υπόλοιπο του πελάτη, αλλά δεν θα έχουμε δεδομένα για να κάνουμε τη λήξη των πόντων.