Αναφορά API για το Shopify Scripts

Τα σενάρια συντάσσονται με ένα API της Ruby που σας παρέχει μεγάλο βαθμό ελέγχου και ευελιξίας.

Υπάρχουν διάφοροι τύποι σεναρίων. Ένας τύπος αντιστοιχίζεται σε ένα σενάριο όταν το δημιουργείτε στην εφαρμογή Script Editor, ανάλογα με το πρότυπο σεναρίου που θα επιλέξετε για να ξεκινήσετε:

Σενάρια στοιχείων γραμμής

Τα σενάρια στοιχείων γραμμής επηρεάζουν τα στοιχεία γραμμής στο καλάθι και μπορούν να αλλάξουν τις τιμές και να χορηγήσουν εκπτώσεις. Αυτά τα σενάρια εκτελούνται όταν γίνεται κάποια αλλαγή στο καλάθι.

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

Ορισμένες μέθοδοι μπορούν να χρησιμοποιηθούν μόνο σε σενάρια στοιχείων γραμμής.

Σενάρια αποστολής

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

Τα σενάρια αποστολής που εφαρμόζουν έκπτωση στα έξοδα αποστολής μιας συνδρομής ισχύουν μόνο για την πρώτη πληρωμή της συνδρομής. Οι επόμενες πληρωμές δεν λαμβάνουν έκπτωση από το σενάριο.

<p>Some methods <a href="#shipping-methods">can only be used in shipping scripts</a>.</p>

Σενάρια πληρωμών

Τα σενάρια πληρωμών αλληλεπιδρούν με τις πληρωμές και μπορούν να μετονομάσουν, να αποκρύψουν και να αναδιατάξουν τις πύλες πληρωμών. Σημειώστε ότι τα σενάρια πληρωμών δεν αλληλεπιδρούν με τις πύλες πληρωμών που εμφανίζονται πριν από την οθόνη ολοκλήρωσης αγοράς, όπως το Apple Pay. Αυτά τα σενάρια εκτελούνται όταν η ολοκλήρωση αγοράς φτάσει στη σελίδα πληρωμής.

Ορισμένες μέθοδοι μπορούν να χρησιμοποιηθούν μόνο σε σενάρια πληρωμών.

Γενικές μέθοδοι

Οι παρακάτω μέθοδοι μπορούν να χρησιμοποιηθούν σε οποιονδήποτε τύπο σεναρίου:

Είσοδος

Μέθοδοι εισόδου σεναρίου
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.cartΚαλάθιΕπιστρέφει ένα μεταβλητό αντικείμενο καλαθιού.
.localeσυμβολοσειράΕπιστρέφει τις τοπικές ρυθμίσεις του πελάτη. Για παράδειγμα, en, fr ή pt-BR.

Καλάθι

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

Μέθοδοι σεναρίου που χρησιμοποιούν το αντικείμενο του καλαθιού
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.customerΠελάτηςΕπιστρέφει τον κάτοχο του καλαθιού (εάν υπάρχει).
.shipping_addressΔιεύθυνση αποστολήςΕπιστρέφει τη διεύθυνση αποστολής του κατόχου του καλαθιού (εάν υπάρχει).
.discount_codeποικίλλει Επιστρέφει:
  • nil εάν το καλάθι δεν έχει κωδικό έκπτωσης
  • CartDiscount::FixedAmount εάν το καλάθι έχει έκπτωση σταθερού ποσού
  • CartDiscount::Percentage εάν το καλάθι έχει ποσοστιαία έκπτωση
  • CartDiscount::Shipping εάν το καλάθι έχει έκπτωση αποστολής
  • Επιστρέφει έναν μεμονωμένο κωδικό έκπτωσης (δείτε Περιορισμοί)

Το discount_code υπάρχει εάν έχει εφαρμοστεί μια έκπτωση στο καλάθι. Αυτό δεν σημαίνει απαραίτητα ότι η τιμή του καλαθιού αλλάζει. Για παράδειγμα, εάν μια έκπτωση ισχύει για καλάθια άνω των 50 $ και ένα σενάριο μειώνει την τιμή του καλαθιού κάτω από 50 $, το discount_code εξακολουθεί να υπάρχει, αλλά η τιμή του καλαθιού δεν αλλάζει.

<p><a href="/manual/checkout-settings/script-editor/examples/vat-script">See an example of <code>discount_code</code></a>.</p>
  </td>
</tr>
<tr>
  <td scope="row">.line_items</td>
  <td><a href="#list">List</a>&lt;LineItem&gt;</td>
  <td>Returns a list containing the line items in the cart.</td>
</tr>
<tr>
  <td scope="row">.presentment_currency</td>
  <td><a href="#list">List</a>&lt;String&gt;</td>
  <td>Returns the customer's local (presentment) currency (in <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO 4217</a> format). For example, USD. </td>
</tr>
<tr>
  <td scope="row">.subtotal_price</td>
  <td><a href="#money">Money</a></td>
  <td>Returns the subtotal price of the cart after line item discounts are applied but before discount codes are applied.</td>
</tr>
<tr>
  <td scope="row">.total_weight</td>
  <td><a href="https://shopify.dev/api/liquid/objects/line_item#line_item-grams">grams</a></td>
  <td>Returns the total weight of all the line items in the cart.</td>
</tr>

CartDiscount::FixedAmount

Μέθοδοι σεναρίου που χρησιμοποιούν το αντικείμενο CartDiscount::FixedAmount
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.codeΣυμβολοσειράΕπιστρέφει τον κωδικό έκπτωσης που χρησιμοποιήθηκε για την εφαρμογή της έκπτωσης.
.amountΧρηματικό ποσόΕπιστρέφει το χρηματικό ποσό της έκπτωσης.
.reject({ message: Συμβολοσειρά })nilΑπορρίπτει τον κωδικό έκπτωσης που εφαρμόστηκε στο καλάθι. Απαιτείται ένα message.
.rejected;Δυαδική τιμήΕπιστρέφει εάν ο κωδικός έκπτωσης απορρίφθηκε.

CartDiscount::Percentage

Μέθοδοι σεναρίου που χρησιμοποιούν το αντικείμενο CartDiscount::Percentage
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.codeΣυμβολοσειράΕπιστρέφει τον κωδικό έκπτωσης που χρησιμοποιήθηκε για την εφαρμογή της έκπτωσης.
.percentageΔεκαδικόςΕπιστρέφει το ποσοστιαίο ποσό της έκπτωσης.
.reject({ message: Συμβολοσειρά })nilΑπορρίπτει τον κωδικό έκπτωσης που εφαρμόστηκε στο καλάθι. Απαιτείται ένα message.
.rejected;Δυαδική τιμήΕπιστρέφει εάν ο κωδικός έκπτωσης απορρίφθηκε.

CartDiscount::Shipping

Μέθοδοι script που χρησιμοποιούν το αντικείμενο CartDiscount::Shipping
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.codeΣυμβολοσειράΕπιστρέφει τον κωδικό έκπτωσης που χρησιμοποιήθηκε για την εφαρμογή της έκπτωσης.
.reject({ message: Συμβολοσειρά })nilΑπορρίπτει τον κωδικό έκπτωσης που εφαρμόστηκε στο καλάθι. Απαιτείται ένα message.
.rejected;Δυαδική τιμήΕπιστρέφει εάν ο κωδικός έκπτωσης απορρίφθηκε.

Πελάτης

Μέθοδοι script που χρησιμοποιούν το αντικείμενο Customer
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.idΑκέραιος αριθμόςΕπιστρέφει τον αριθμό αναγνωριστικού του πελάτη.
.emailΣυμβολοσειράΕπιστρέφει τη διεύθυνση email του πελάτη.
.tagsList<Ετικέτα>Επιστρέφει μια λίστα συμβολοσειρών που αντιπροσωπεύουν τυχόν ετικέτες που έχουν οριστεί για έναν πελάτη.
.orders_countΑκέραιος αριθμόςΕπιστρέφει τον συνολικό αριθμό παραγγελιών που έχει υποβάλει ένας πελάτης.
.total_spentΧρηματικό ποσόΕπιστρέφει το συνολικό ποσό που έχει δαπανήσει ο πελάτης σε όλες τις παραγγελίες.
.accepts_marketing;Δυαδική τιμήΕπιστρέφει αν ο πελάτης αποδέχεται το μάρκετινγκ.

Στοιχείο γραμμής

Μέθοδοι script που χρησιμοποιούν το αντικείμενο LineItem
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.gramsgramsΕπιστρέφει το συνολικό βάρος του στοιχείου γραμμής.
.line_priceΧρηματικό ποσόΗ τιμή του στοιχείου γραμμής.
.discounted;Δυαδική τιμήΕπιστρέφει αν η τιμή ενός στοιχείου γραμμής έχει μειωθεί από ένα script ή από μια έκπτωση που εφαρμόστηκε μη αυτόματα. Η χρήση κωδικών έκπτωσης δεν επηρεάζει την τιμή επιστροφής.
.propertieshashΕπιστρέφει τις ιδιότητες που καθορίστηκαν για αυτά τα στοιχεία γραμμής.
.variantVariantΕπιστρέφει την εκάστοτε παραλλαγή προϊόντος που αντιπροσωπεύεται από το στοιχείο γραμμής.
.quantityΑκέραιος αριθμόςΕπιστρέφει την ποσότητα αυτού του στοιχείου γραμμής.
.selling_plan_idΑκέραιος αριθμόςΕπιστρέφει το αναγνωριστικό του σχεδίου πώλησης για το στοιχείο γραμμής. Αυτή η μέθοδος είναι χρήσιμη όταν το κατάστημα πωλεί συνδρομές και θέλετε το script να ανιχνεύει πότε μια παραλλαγή προϊόντος πωλείται ως συνδρομή.

Λίστα

Μέθοδοι script που χρησιμοποιούν το αντικείμενο List
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.newListΔημιουργεί ένα νέο αντικείμενο για την αναπαράσταση μιας λίστας.
.[]Στοιχείο ή nil

Επιστρέφει το στοιχείο στον καθορισμένο δείκτη.

.&List

Επιστρέφει μια νέα λίστα που περιέχει στοιχεία κοινά στις δύο λίστες, χωρίς διπλότυπα.

.delete_ifListΔιαγραφή στοιχείων με χρήση προαιρετικού τμήματος κώδικα. Δείτε την τεκμηρίωση για τη μέθοδο delete_if της Ruby.
.empty;Δυαδική τιμή

Επιστρέφει true αν η λίστα δεν περιέχει στοιχεία.

.firstΣτοιχείο ή nil

Επιστρέφει το πρώτο στοιχείο ή nil αν η λίστα είναι κενή.

.index(*args, &block)int ή nil

Επιστρέφει τον δείκτη του πρώτου στοιχείου της λίστας. Αν δοθεί ένα τμήμα κώδικα αντί για όρισμα, επιστρέφει τον δείκτη του πρώτου στοιχείου για το οποίο το τμήμα κώδικα είναι αληθές.

.rindex(*args, &block)int ή nil

Επιστρέφει τον δείκτη του τελευταίου στοιχείου της λίστας. Αν δοθεί ένα τμήμα κώδικα αντί για όρισμα, επιστρέφει τον δείκτη του πρώτου στοιχείου για το οποίο το τμήμα κώδικα είναι αληθές.

.lastΣτοιχείο ή nil

Επιστρέφει το τελευταίο στοιχείο ή nil αν η λίστα είναι κενή.

.lengthint

Επιστρέφει τον αριθμό των στοιχείων στη λίστα.

.sizeint

Ψευδώνυμο για το length.

.each(*args, &block)List

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

Διεύθυνση αποστολής

Μέθοδοι script που χρησιμοποιούν το αντικείμενο ShippingAddress
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.nameσυμβολοσειράΕπιστρέφει το όνομα του ατόμου που σχετίζεται με τη διεύθυνση αποστολής.
.address1συμβολοσειράΕπιστρέφει το τμήμα της διεύθυνσης οδού της διεύθυνσης αποστολής.
.address2συμβολοσειράΕπιστρέφει το προαιρετικό επιπλέον πεδίο του τμήματος της διεύθυνσης οδού της διεύθυνσης αποστολής.
.phoneσυμβολοσειράΕπιστρέφει τον αριθμό τηλεφώνου της διεύθυνσης αποστολής.
.cityσυμβολοσειράΕπιστρέφει την πόλη της διεύθυνσης αποστολής.
.zipσυμβολοσειράΕπιστρέφει τον ΤΚ της διεύθυνσης αποστολής.
.provinceσυμβολοσειράΕπιστρέφει την επαρχία/πολιτεία της διεύθυνσης αποστολής.
.province_codeσυμβολοσειράΕπιστρέφει τη συντομογραφία της επαρχίας/πολιτείας της διεύθυνσης αποστολής.
.country_codeσυμβολοσειράΕπιστρέφει τη συντομογραφία της χώρας της διεύθυνσης αποστολής.

Χρήματα

Μέθοδοι script που χρησιμοποιούν το αντικείμενο Money
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.derived_from_presentment(customer_cents:X)Χρηματικό ποσόΜετατρέπει ένα ποσό (σε σεντ) από το τοπικό νόμισμα του πελάτη (νόμισμα εμφανιζόμενης τιμής προϊόντος) στο νόμισμα του καταστήματός σας. Αυτή η μέθοδος δέχεται την παράμετρο customer_cents, η οποία δέχεται έναν αριθμό σε σεντ. Για παράδειγμα, Money.derived_from_presentment(customer_cents: 500).
.newΧρηματικό ποσόΔημιουργεί ένα νέο αντικείμενο για την αναπαράσταση μιας τιμής.
.zeroΧρηματικό ποσό

Δημιουργεί ένα νέο αντικείμενο με μηδενική τιμή.

+Χρηματικό ποσόΠροσθέτει δύο αντικείμενα Χρήματα.
-Χρηματικό ποσόΑφαιρεί ένα αντικείμενο Χρήματα από ένα άλλο.
*Χρηματικό ποσόΠολλαπλασιάζει ένα αντικείμενο Χρήματα με έναν αριθμό.

Παραδείγματα για το «Χρήματα»

Money.new(cents: 1000)

Δημιουργεί ένα αντικείμενο Χρήματα που αντιπροσωπεύει 1000 σεντ ή 10 $.

Money.new(cents: 100) * 50

Δημιουργεί ένα αντικείμενο Χρήματα που αντιπροσωπεύει 1 $, και στη συνέχεια πολλαπλασιάζει αυτό το ποσό με το 50. Επιστρέφει ένα αντικείμενο Χρήματα που αντιπροσωπεύει 50 $.

Παραλλαγή

Μέθοδοι script που χρησιμοποιούν το αντικείμενο Variant
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.idΑκέραιος αριθμόςΕπιστρέφει τον αριθμό αναγνωριστικού της παραλλαγής.
.priceΧρηματικό ποσόΕπιστρέφει την τιμή μονάδας της παραλλαγής.
.productProductΕπιστρέφει το συσχετισμένο προϊόν της παραλλαγής.
.skusList<String>Επιστρέφει τις μονάδες διατήρησης αποθεμάτων (κωδικούς SKU) της παραλλαγής, οι οποίες χρησιμοποιούνται συχνά για την παρακολούθηση του αποθέματος.
.titleΣυμβολοσειράΕπιστρέφει τον τίτλο της παραλλαγής.

Προϊόν

Μέθοδοι script που χρησιμοποιούν το αντικείμενο Product
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.idΑκέραιος αριθμόςΕπιστρέφει τον αριθμό αναγνωριστικού του προϊόντος.
.gift_card?Δυαδική τιμήΕπιστρέφει αν το προϊόν είναι δωροκάρτα.
.tagsList<Ετικέτα>Επιστρέφει μια λίστα συμβολοσειρών που αντιπροσωπεύουν τις ετικέτες που έχουν οριστεί για αυτό το προϊόν.
.product_typeΣυμβολοσειράΜια κατηγοριοποίηση με την οποία μπορεί να επισημανθεί ένα προϊόν με ετικέτα, που χρησιμοποιείται συνήθως για φιλτράρισμα και αναζήτηση.
.vendorΣυμβολοσειράΕπιστρέφει τον αποκλειστικό πωλητή αυτού του προϊόντος.

Kernel

Το Kernel είναι ένα module της Ruby που περιλαμβάνεται σε κάθε κλάση. Ως αποτέλεσμα, οι μέθοδοί του είναι διαθέσιμες σε κάθε αντικείμενο. Αυτές οι μέθοδοι λειτουργούν με τον ίδιο τρόπο που λειτουργούν οι καθολικές συναρτήσεις σε άλλες γλώσσες.

Μέθοδοι script που χρησιμοποιούν το αντικείμενο Kernel
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.exitκαμίαΤερματίζει την εκτέλεση του τρέχοντος script χωρίς σφάλμα. Αν εκτελεστεί πριν ανατεθεί οτιδήποτε στο Output.cart, το script δεν έχει κανένα αποτέλεσμα. Αυτός είναι ένας χρήσιμος τρόπος για έξοδο από τα script, για παράδειγμα, εάν ο πελάτης δεν πληροί τις προϋποθέσεις για την εκτέλεση του script.

Παράδειγμα Kernel

customer = Input.cart.customer
if customer && customer.email.end_with?("@mycompany.com")
  # Employees are not eligible for this promotion.
  exit
end

Μέθοδοι στοιχείων γραμμής

Οι παρακάτω μέθοδοι μπορούν να χρησιμοποιηθούν μόνο σε script στοιχείων γραμμής:

Καλάθι

Μέθοδοι script που χρησιμοποιούν το αντικείμενο Cart σε script στοιχείων γραμμής
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.subtotal_price_wasΧρηματικό ποσόΕπιστρέφει τη μερική συνολική τιμή του καλαθιού πριν από την εφαρμογή οποιωνδήποτε εκπτώσεων.
.subtotal_price_changed?Δυαδική τιμήΕπιστρέφει εάν η μερική συνολική τιμή έχει αλλάξει.

Στοιχείο γραμμής

Μέθοδοι script που χρησιμοποιούν το αντικείμενο LineItem σε script στοιχείων γραμμής
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.change_line_price(Money new_price, { message: String }) Χρηματικό ποσόΑλλάζει την τιμή του στοιχείου γραμμής στο καθορισμένο ποσό. Απαιτείται ένα message. Η new_price πρέπει να είναι χαμηλότερη από την τρέχουσα τιμή.
.original_line_priceΧρηματικό ποσόΕπιστρέφει την αρχική τιμή του στοιχείου γραμμής πριν από την εφαρμογή των script και των εκπτώσεων.
.line_price_wasΧρηματικό ποσόΕπιστρέφει την τιμή του στοιχείου γραμμής πριν από την εφαρμογή αλλαγών από το τρέχον script.
.line_price_changed?Δυαδική τιμήΕπιστρέφει εάν η τιμή του στοιχείου γραμμής έχει αλλάξει.
.change_properties(hash new_properties, { message: String }) hashΟρίζει νέες ιδιότητες για ένα στοιχείο γραμμής. Ο αρχικός πίνακας hash ιδιοτήτων αποθηκεύεται στο properties_was και ο πίνακας hash ιδιοτήτων που μεταβιβάζεται στη μέθοδο γίνεται οι νέες ιδιότητες για το στοιχείο γραμμής.
.properties_washashΕπιστρέφει τον αρχικό πίνακα hash ιδιοτήτων του στοιχείου γραμμής πριν από την εφαρμογή οποιωνδήποτε αλλαγών.
.properties_changed?Δυαδική τιμήΕπιστρέφει εάν οι ιδιότητες για το στοιχείο γραμμής έχουν αλλάξει.
.split({ take: Integer })LineItemΔιαιρεί ένα στοιχείο γραμμής σε δύο στοιχεία γραμμής. Το take καθορίζει την ποσότητα που θα αφαιρεθεί από το αρχικό στοιχείο γραμμής για να δημιουργηθεί το νέο στοιχείο γραμμής.

Παράδειγμα .split

Αυτό το παράδειγμα script διαιρεί ένα στοιχείο γραμμής που ονομάζεται original_line_item σε δύο στοιχεία γραμμής. Το νέο στοιχείο γραμμής έχει ποσότητα 1 (καθορίζεται από το take: 1). Στη συνέχεια, το script εφαρμόζει μια εκπτωτική τιμή στο νέο στοιχείο γραμμής με το μήνυμα «Τρίτο καπέλο για 5 δολάρια».

if original_line_item.quantity >= 3
  new_line_item = original_line_item.split(take: 1)
  new_line_item.change_line_price(Money.new(cents: 500), message: "Third hat for 5 dollars")
  cart.line_items << new_line_item
end

Παραλλαγή

Μέθοδοι script που χρησιμοποιούν το αντικείμενο Variant σε script στοιχείων γραμμής
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.compare_at_priceΧρηματικό ποσόΕπιστρέφει την τιμή σύγκρισης της παραλλαγής. Επιστρέφει nil εάν η παραλλαγή δεν έχει τιμή σύγκρισης.

Μέθοδοι αποστολής

Οι παρακάτω μέθοδοι μπορούν να χρησιμοποιηθούν σε script αποστολής:

Είσοδος

Μέθοδοι script που χρησιμοποιούν το αντικείμενο Input σε script αποστολής
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.shipping_ratesShippingRateListΕπιστρέφει μια λίστα με όλα τα έξοδα αποστολής.

ShippingRateList

Μέθοδοι σεναρίου που χρησιμοποιούν το αντικείμενο ShippingRateList σε σενάρια αποστολής
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.delete_ifShippingRateListΔιαγραφή εξόδων αποστολής με τη χρήση προαιρετικού τμήματος κώδικα. Ανατρέξτε στην τεκμηρίωση για τη μέθοδο delete_if της Ruby.
.sort!ShippingRateListΤαξινόμηση των εξόδων αποστολής με τη χρήση του τελεστή σύγκρισης ή ενός προαιρετικού τμήματος κώδικα. Ανατρέξτε στην τεκμηρίωση για τη μέθοδο sort! της Ruby.
.sort_by!ShippingRateListΤαξινόμηση των εξόδων αποστολής με τη χρήση ενός προαιρετικού τμήματος κώδικα. Ανατρέξτε στην τεκμηρίωση για τη μέθοδο sort_by! της Ruby.

ShippingRate

Μέθοδοι σεναρίου που χρησιμοποιούν το αντικείμενο ShippingRate σε σενάρια αποστολής
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.codeΣυμβολοσειράΕπιστρέφει τον κωδικό των εξόδων αποστολής.
.markupΧρηματικό ποσόΕπιστρέφει το ποσοστό κέρδους για τα έξοδα αποστολής, εφόσον ισχύει.
.nameΣυμβολοσειράΕπιστρέφει το όνομα των εξόδων αποστολής. Μπορεί να τροποποιηθεί με τη χρήση της μεθόδου change_name.
.priceΧρηματικό ποσόΕπιστρέφει την τιμή των εξόδων αποστολής.
.sourceΣυμβολοσειράΕπιστρέφει την πηγή (τον μεταφορέα) που σχετίζεται με τα έξοδα αποστολής, κατά περίπτωση. Δεν μπορεί να τροποποιηθεί.
.change_name(String new_name)Συμβολοσειρά Αλλάζει το όνομα (μέχρι 255 χαρακτήρες) για τα έξοδα αποστολής. Δεν είναι δυνατή η αλλαγή, η διαγραφή ή η απόκρυψη της πηγής.
.apply_discount(Money discount, { message: String })Χρηματικό ποσόΕφαρμόζει μια έκπτωση του καθορισμένου σταθερού ποσού. Η τιμή δεν μπορεί να μειωθεί κάτω από το 0. Απαιτείται μήνυμα.
.phone_required?;Δυαδική τιμήΕπιστρέφει true εάν απαιτείται αριθμός τηλεφώνου για τη λήψη των εξόδων αποστολής ή false εάν δεν απαιτείται αριθμός τηλεφώνου.

Μέθοδοι πληρωμής

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

Είσοδος

Μέθοδοι σεναρίου που χρησιμοποιούν το αντικείμενο Input σε σενάρια πληρωμής
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.payment_gatewaysPaymentGatewaysListΕπιστρέφει μια λίστα με όλες τις πύλες πληρωμών στο κατάστημα.

PaymentGatewayList

Μέθοδοι σεναρίου που χρησιμοποιούν το αντικείμενο PaymentGatewayList σε σενάρια πληρωμής
ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.delete_ifPaymentGatewayListΔιαγραφή πυλών πληρωμών με τη χρήση προαιρετικού τμήματος κώδικα. Ανατρέξτε στην τεκμηρίωση για τη μέθοδο delete_if της Ruby.
.sort!PaymentGatewayListΤαξινόμηση των πυλών πληρωμών με τη χρήση του τελεστή σύγκρισης ή ενός προαιρετικού τμήματος κώδικα. Ανατρέξτε στην τεκμηρίωση για τη μέθοδο sort! της Ruby.
.sort_by!PaymentGatewayListΤαξινόμηση των πυλών πληρωμών με τη χρήση ενός προαιρετικού τμήματος κώδικα. Ανατρέξτε στην τεκμηρίωση για τη μέθοδο sort_by! της Ruby.

PaymentGateway

ΜέθοδοςΤύπος επιστροφήςΠεριγραφή
.nameΣυμβολοσειράΕπιστρέφει το όνομα της πύλης πληρωμών.
.enabled_card_brandsList<String>

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

.change_name(String new_name)ΣυμβολοσειράΑλλάζει το όνομα της πύλης πληρωμών. Οι πύλες πληρωμών με λογότυπα δεν μπορούν να μετονομαστούν.

Παραδείγματα

Στο ακόλουθο παράδειγμα σεναρίου στοιχείου γραμμής, όταν ένας πελάτης παραγγέλνει ένα προϊόν που δεν είναι δωροκάρτα, τότε η τιμή του προϊόντος μειώνεται κατά 9 $. Επίσης, εμφανίζεται το συνολικό ποσό που έχει ξοδέψει ο πελάτης σε όλες τις επισκέψεις του στο κατάστημά σας:

customer = Input.cart.customer
Input.cart.line_items.each do |line_item|
  product = line_item.variant.product
  next if product.gift_card?
  line_item.change_line_price(line_item.line_price - Money.new(cents: 900), message: customer.total_spent)
end

Output.cart = Input.cart

Μάθετε περισσότερα

Μάθετε περισσότερα για τα εξής: