Shopify Scripts API రెఫరెన్స్
స్క్రిప్ట్లు రూబీ (Ruby) APIతో వ్రాయబడతాయి, ఇది మీకు అధిక నియంత్రణ, సరళతను అందిస్తుంది.
వేర్వేరు స్క్రిప్ట్ రకాలు ఉంటాయి. మీరు ప్రారంభించడానికి ఎంచుకున్న స్క్రిప్ట్ టెంప్లేట్ ఆధారంగా, మీరు 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. |
కార్ట్
కార్ట్ ఆబ్జెక్ట్ కేవలం ఆన్లైన్ స్టోర్లో మాత్రమే అందుబాటులో ఉంటుంది. కొన్ని వదిలివేయబడిన చెక్అవుట్లు కార్ట్ ఆబ్జెక్ట్కి యాక్సెస్ను కలిగి ఉంటాయి. అయితే, ఒకవేళ చెక్అవుట్ మూసివేయబడి, ఆ తర్వాత కస్టమర్ వదిలివేయబడిన చెక్అవుట్ను సందర్శిస్తే, ఇది ముందుగా పూరించిన చెక్అవుట్కు వారిని పంపుతుంది, అలాగే కార్ట్ ఆబ్జెక్ట్ ఇకపై ఉండదు. ఎందుకంటే, వదిలివేసిన చెక్అవుట్ ఇమెయిల్ ద్వారా స్టోర్ఫ్రంట్ బైపాస్ చేయబడటమే దీనికి కారణం.
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .customer | కస్టమర్ | కార్ట్ యజమానిని (ఎవరైనా ఉంటే) తిరిగి ఇస్తుంది. |
| .shipping_address | ShippingAddress | కార్ట్ యజమాని యొక్క షిప్పింగ్ చిరునామాను (ఏదైనా ఉంటే) తిరిగి ఇస్తుంది. |
| .discount_code | మారుతూ ఉంటుంది |
ఇవి తిరిగి ఇవ్వబడతాయి:
ఒకవేళ కార్ట్కు తగ్గింపు వర్తించబడితే |
CartDiscount::FixedAmount
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .code | స్ట్రింగ్ | తగ్గింపును వర్తింపజేయడానికి ఉపయోగించిన డిస్కౌంట్ కోడ్ను తిరిగి ఇస్తుంది. |
| .amount | Money | తగ్గింపు యొక్క డబ్బు మొత్తాన్ని అందిస్తుంది. |
| .reject({ message: String }) | nil | కార్ట్కు అప్లై చేసిన డిస్కౌంట్ కోడ్ను తిరస్కరిస్తుంది. ఒక message అవసరం. |
| .rejected? | Boolean | డిస్కౌంట్ కోడ్ తిరస్కరించబడిందో లేదో అందిస్తుంది. |
CartDiscount::Percentage
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .code | స్ట్రింగ్ | తగ్గింపును వర్తింపజేయడానికి ఉపయోగించిన డిస్కౌంట్ కోడ్ను తిరిగి ఇస్తుంది. |
| .percentage | Decimal | తగ్గింపు యొక్క శాతం మొత్తాన్ని అందిస్తుంది. |
| .reject({ message: String }) | nil | కార్ట్కు అప్లై చేసిన డిస్కౌంట్ కోడ్ను తిరస్కరిస్తుంది. ఒక message అవసరం. |
| .rejected? | Boolean | డిస్కౌంట్ కోడ్ తిరస్కరించబడిందో లేదో అందిస్తుంది. |
CartDiscount::Shipping
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .code | స్ట్రింగ్ | తగ్గింపును వర్తింపజేయడానికి ఉపయోగించిన డిస్కౌంట్ కోడ్ను తిరిగి ఇస్తుంది. |
| .reject({ message: String }) | nil | కార్ట్కు అప్లై చేసిన డిస్కౌంట్ కోడ్ను తిరస్కరిస్తుంది. ఒక message అవసరం. |
| .rejected? | Boolean | డిస్కౌంట్ కోడ్ తిరస్కరించబడిందో లేదో అందిస్తుంది. |
Customer
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .id | Integer | కస్టమర్ ID నంబర్ను అందిస్తుంది. |
| స్ట్రింగ్ | కస్టమర్ ఇమెయిల్ చిరునామాను అందిస్తుంది. | |
| .tags | List<Tag> | కస్టమర్ కోసం సెట్ చేసిన ఏవైనా ట్యాగ్లను సూచించే స్ట్రింగ్ల లిస్ట్ను అందిస్తుంది. |
| .orders_count | Integer | కస్టమర్ ప్లేస్ చేసిన మొత్తం ఆర్డర్ల సంఖ్యను అందిస్తుంది. |
| .total_spent | Money | అన్ని ఆర్డర్లలో కస్టమర్ ఖర్చు చేసిన మొత్తం డబ్బును అందిస్తుంది. |
| .accepts_marketing? | Boolean | కస్టమర్ మార్కెటింగ్ను అంగీకరిస్తారో లేదో అందిస్తుంది. |
LineItem
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .grams | grams | లైన్ ఐటెమ్ యొక్క మొత్తం బరువును అందిస్తుంది. |
| .line_price | Money | లైన్ ఐటెమ్ యొక్క ధర. |
| .discounted? | Boolean | లైన్ ఐటెమ్ ధర స్క్రిప్ట్ ద్వారా లేదా మాన్యువల్గా అప్లై చేసిన తగ్గింపు ద్వారా తగ్గించబడిందో లేదో అందిస్తుంది. డిస్కౌంట్ కోడ్ల ఉపయోగం తిరిగి ఇచ్చే విలువపై ప్రభావం చూపదు. |
| .properties | hash | ఈ లైన్ ఐటెమ్స్ కోసం పేర్కొన్న ప్రాపర్టీలను అందిస్తుంది. |
| .variant | Variant | లైన్ ఐటెమ్ ద్వారా సూచించబడిన నిర్దిష్ట ప్రొడక్ట్ వేరియంట్ను అందిస్తుంది. |
| .quantity | Integer | ఈ లైన్ ఐటెమ్ పరిమాణాన్ని అందిస్తుంది. |
| .selling_plan_id | Integer | లైన్ ఐటెమ్ కోసం విక్రయ ప్రణాళిక యొక్క IDని అందిస్తుంది. స్టోర్ సబ్స్క్రిప్షన్లను విక్రయించినప్పుడు మరియు ప్రొడక్ట్ వేరియంట్ సబ్స్క్రిప్షన్గా విక్రయించబడినప్పుడు స్క్రిప్ట్ గుర్తించాలనుకున్నప్పుడు ఈ పద్ధతి ఉపయోగపడుతుంది. |
List
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .new | List | లిస్ట్ను సూచించడానికి కొత్త ఆబ్జెక్ట్ను సృష్టిస్తుంది. |
| .[] | Element లేదా nil |
పేర్కొన్న ఇండెక్స్ వద్ద ఉన్న మూలకాన్ని అందిస్తుంది. |
| .& | List |
రెండు లిస్ట్లలో ఉమ్మడిగా ఉండే మూలకాలతో, నకిలీలు లేకుండా కొత్త లిస్ట్ను అందిస్తుంది. |
| .delete_if | List | ఆప్షనల్ కోడ్ బ్లాక్ను ఉపయోగించి మూలకాలను తొలగించండి. Ruby యొక్క delete_if పద్ధతి కోసం డాక్యుమెంటేషన్ చూడండి. |
| .empty? | Boolean |
లిస్ట్లో ఎలాంటి మూలకాలు లేకపోతే |
| .first | Element లేదా nil |
లిస్ట్ ఖాళీగా ఉంటే మొదటి మూలకాన్ని లేదా |
| .index(*args, &block) | int లేదా nil |
లిస్ట్ యొక్క మొదటి మూలకం ఇండెక్స్ను అందిస్తుంది. ఆర్గ్యుమెంట్కు బదులుగా బ్లాక్ ఇవ్వబడితే, బ్లాక్ ఏ మొదటి మూలకానికి true అవుతుందో దాని ఇండెక్స్ను అందిస్తుంది. |
| .rindex(*args, &block) | int లేదా nil |
లిస్ట్ యొక్క చివరి మూలకం ఇండెక్స్ను అందిస్తుంది. ఆర్గ్యుమెంట్కు బదులుగా బ్లాక్ ఇవ్వబడితే, బ్లాక్ ఏ మొదటి మూలకానికి true అవుతుందో దాని ఇండెక్స్ను అందిస్తుంది. |
| .last | Element లేదా nil |
లిస్ట్ ఖాళీగా ఉంటే చివరి మూలకాన్ని లేదా |
| .length | int |
లిస్ట్లోని మూలకాల సంఖ్యను అందిస్తుంది. |
| .size | int |
lengthకి మారుపేరు. |
| .each(*args, &block) | List |
లిస్ట్లోని ప్రతి మూలకానికి ఒకసారి బ్లాక్ను కాల్ చేస్తుంది, మూలకాన్ని బ్లాక్కు పరామితిగా పంపుతుంది. |
ShippingAddress
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .name | స్ట్రింగ్ | షిప్పింగ్ చిరునామాతో అనుబంధించబడిన వ్యక్తి పేరును అందిస్తుంది. |
| .address1 | స్ట్రింగ్ | షిప్పింగ్ చిరునామాలోని వీధి చిరునామా భాగాన్ని అందిస్తుంది. |
| .address2 | స్ట్రింగ్ | షిప్పింగ్ చిరునామాలోని వీధి చిరునామా భాగం యొక్క ఆప్షనల్ అదనపు ఫీల్డ్ను అందిస్తుంది. |
| .phone | స్ట్రింగ్ | షిప్పింగ్ చిరునామా యొక్క ఫోన్ నంబర్ను అందిస్తుంది. |
| .city | స్ట్రింగ్ | షిప్పింగ్ చిరునామా యొక్క నగరాన్ని అందిస్తుంది. |
| .zip | స్ట్రింగ్ | షిప్పింగ్ చిరునామాకు చెందిన ZIP కోడ్ను అందిస్తుంది. |
| .province | స్ట్రింగ్ | షిప్పింగ్ చిరునామాకు చెందిన ప్రావిన్స్/రాష్ట్రాన్ని అందిస్తుంది. |
| .province_code | స్ట్రింగ్ | షిప్పింగ్ చిరునామాలోని ప్రావిన్స్/రాష్ట్రానికి సంబంధించిన సంక్షిప్త విలువను అందిస్తుంది. |
| .country_code | స్ట్రింగ్ | షిప్పింగ్ చిరునామాలోని దేశానికి సంబంధించిన సంక్షిప్త విలువను అందిస్తుంది. |
Money
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .derived_from_presentment(customer_cents:X) | Money | కస్టమర్ స్థానిక (ప్రెజెంట్మెంట్) కరెన్సీ నుండి మీ స్టోర్ కరెన్సీకి (సెంట్లలోని) మొత్తాన్ని మారుస్తుంది. ఈ పద్ధతి customer_cents పారామీటర్ను అంగీకరిస్తుంది, ఇది సెంట్లలోని సంఖ్యను తీసుకుంటుంది. ఉదాహరణకు, Money.derived_from_presentment(customer_cents: 500). |
| .new | Money | ధరను సూచించడానికి కొత్త ఆబ్జెక్ట్ను సృష్టిస్తుంది. |
| .zero | Money |
సున్నా ధరతో కొత్త ఆబ్జెక్ట్ను సృష్టిస్తుంది. |
| + | Money | రెండు Money ఆబ్జెక్ట్లను జోడిస్తుంది. |
| - | Money | ఒక Money ఆబ్జెక్ట్ నుండి మరొక దానిని తీసివేస్తుంది. |
| * | Money | Money ఆబ్జెక్ట్ను ఒక సంఖ్యతో గుణిస్తుంది. |
Money ఉదాహరణలు
Money.new(cents: 1000)1000 సెంట్లు లేదా $10ని సూచించే Money ఆబ్జెక్ట్ను సృష్టిస్తుంది.
Money.new(cents: 100) * 50$1ని సూచించే Money ఆబ్జెక్ట్ను సృష్టించి, ఆపై ఆ మొత్తాన్ని 50తో గుణిస్తుంది. $50ని సూచించే Money ఆబ్జెక్ట్ను అందిస్తుంది.
వేరియంట్
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .id | Integer | వేరియంట్ యొక్క ID నంబర్ను అందిస్తుంది. |
| .price | Money | వేరియంట్ యొక్క యూనిట్ ధరను అందిస్తుంది. |
| .product | Product | వేరియంట్కు అనుబంధించబడిన ఉత్పత్తిని అందిస్తుంది. |
| .skus | List<String> | ఇన్వెంటరీని ట్రాక్ చేయడానికి తరచుగా ఉపయోగించే వేరియంట్ స్టాక్ కీపింగ్ యూనిట్లను (SKUలు) అందిస్తుంది. |
| .title | స్ట్రింగ్ | వేరియంట్ టైటిల్ను అందిస్తుంది. |
ఉత్పత్తి
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .id | Integer | ఉత్పత్తి యొక్క ID నంబర్ను అందిస్తుంది. |
| .gift_card? | Boolean | ఉత్పత్తి అనేది గిఫ్ట్ కార్డ్ అవునా, కాదా అని అందిస్తుంది. |
| .tags | List<Tag> | ఈ ఉత్పత్తి కోసం సెట్ చేయబడిన ట్యాగ్లను సూచించే స్ట్రింగ్ల జాబితాను అందిస్తుంది. |
| .product_type | స్ట్రింగ్ | ఉత్పత్తిని ట్యాగ్ చేయగల ఒక వర్గీకరణ, దీనిని సాధారణంగా ఫిల్టర్ చేయడానికి మరియు శోధించడానికి ఉపయోగిస్తారు. |
| .vendor | స్ట్రింగ్ | ఈ ఉత్పత్తి యొక్క వెండర్ను అందిస్తుంది. |
Kernel
Kernel అనేది ప్రతి క్లాస్లో చేర్చబడిన ఒక Ruby మాడ్యూల్. ఫలితంగా, దాని పద్ధతులు ప్రతి ఆబ్జెక్ట్కు అందుబాటులో ఉంటాయి. ఈ పద్ధతులు ఇతర భాషలలో గ్లోబల్ ఫంక్షన్లు పని చేసే విధంగానే పని చేస్తాయి.
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .exit | ఏదీ లేదు | ఎలాంటి ఎర్రర్ లేకుండా ప్రస్తుత స్క్రిప్ట్ ఎగ్జిక్యూషన్ను ముగిస్తుంది. Output.cartకు దేనినైనా కేటాయించకముందే దీనిని రన్ చేసినట్లయితే, స్క్రిప్ట్ ఎలాంటి ప్రభావాన్ని చూపదు. ఉదాహరణకు, కస్టమర్ స్క్రిప్ట్ రన్ చేయడానికి అర్హత పొందకపోతే, స్క్రిప్ట్ల నుండి నిష్క్రమించడానికి ఇది ఒక ఉపయోగకరమైన మార్గం. |
Kernel ఉదాహరణ
customer = Input.cart.customer
if customer && customer.email.end_with?("@mycompany.com")
# Employees are not eligible for this promotion.
exit
endలైన్ ఐటెమ్ పద్ధతులు
కింది పద్ధతులు కేవలం లైన్ ఐటెమ్ స్క్రిప్ట్లలో మాత్రమే ఉపయోగించబడతాయి:
కార్ట్
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .subtotal_price_was | Money | ఎలాంటి తగ్గింపులు వర్తింపజేయక ముందు కార్ట్ యొక్క ఉపమొత్తం ధరను అందిస్తుంది. |
| .subtotal_price_changed? | Boolean | ఉపమొత్తం ధర మారిందో లేదో అందిస్తుంది. |
LineItem
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .change_line_price(Money new_price, { message: String }) | Money | లైన్ ఐటెమ్ ధరను పేర్కొన్న మొత్తానికి మార్చండి. ఒక message అవసరం. new_price తప్పనిసరిగా ప్రస్తుత ధర కంటే తక్కువగా ఉండాలి. |
| .original_line_price | Money | స్క్రిప్ట్లు మరియు తగ్గింపులు వర్తింపజేయక ముందు లైన్ ఐటెమ్ యొక్క అసలు ధరను అందిస్తుంది. |
| .line_price_was | Money | ప్రస్తుత స్క్రిప్ట్ ద్వారా మార్పులు వర్తింపజేయక ముందు లైన్ ఐటెమ్ యొక్క ధరను అందిస్తుంది. |
| .line_price_changed? | Boolean | లైన్ ఐటెమ్ యొక్క ధర మారిందో లేదో అందిస్తుంది. |
| .change_properties(hash new_properties, { message: String }) | hash | లైన్ ఐటెమ్ కోసం కొత్త ప్రాపర్టీలను సెట్ చేస్తుంది. ఒరిజినల్ ప్రాపర్టీల హ్యాష్ properties_wasలో స్టోర్ చేయబడుతుంది మరియు పద్ధతికి పాస్ చేయబడిన ప్రాపర్టీల హ్యాష్ అనేది లైన్ ఐటెమ్ కోసం కొత్త ప్రాపర్టీలు అవుతుంది. |
| .properties_was | hash | మార్పులు చేయక ముందు లైన్ ఐటెమ్ యొక్క ఒరిజినల్ ప్రాపర్టీల హ్యాష్ను అందిస్తుంది. |
| .properties_changed? | Boolean | లైన్ ఐటెమ్ కోసం ప్రాపర్టీలు మారాయో లేదో అందిస్తుంది. |
| .split({ take: Integer }) | LineItem | ఒక లైన్ ఐటెమ్ను రెండు లైన్ ఐటెమ్లుగా విభజిస్తుంది. కొత్త లైన్ ఐటెమ్ను సృష్టించడానికి ఒరిజినల్ లైన్ ఐటెమ్ నుండి ఎంత పరిమాణం తీసివేయాలనే దానిని take నిర్దేశిస్తుంది. |
.split ఉదాహరణ
ఈ ఉదాహరణ స్క్రిప్ట్ original_line_item అనే లైన్ ఐటెమ్ను రెండు లైన్ ఐటెమ్లుగా విభజిస్తుంది. కొత్త లైన్ ఐటెమ్ పరిమాణం 1ని కలిగి ఉంటుంది (take: 1 ద్వారా పేర్కొనబడింది). ఈ స్క్రిప్ట్ ఆ తర్వాత "Third hat for 5 dollars" అనే మెసేజ్తో కొత్త లైన్ ఐటెమ్కు తగ్గింపు ధరను వర్తింపజేస్తుంది.
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వేరియంట్
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .compare_at_price | Money | వేరియంట్ యొక్క సరిపోల్చే ధరను రిటర్న్ చేస్తుంది. వేరియంట్కి సరిపోల్చే ధర లేకపోతే, nilని రిటర్న్ చేస్తుంది. |
షిప్పింగ్ పద్ధతులు
షిప్పింగ్ స్క్రిప్ట్లలో కింది పద్ధతులను ఉపయోగించవచ్చు:
ఇన్పుట్
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .shipping_rates | ShippingRateList | అన్ని షిప్పింగ్ రేట్ల లిస్ట్ను రిటర్న్ చేస్తుంది. |
ShippingRateList
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .delete_if | ShippingRateList | ఆప్షనల్ కోడ్ బ్లాక్ని ఉపయోగించి షిప్పింగ్ రేట్లను తొలగించండి. రూబీ యొక్క delete_if పద్ధతి కోసం డాక్యుమెంటేషన్ చూడండి. |
| .sort! | ShippingRateList | పోలిక ఆపరేటర్ లేదా ఆప్షనల్ కోడ్ బ్లాక్ని ఉపయోగించి షిప్పింగ్ రేట్లను క్రమబద్ధీకరించండి. రూబీ యొక్క sort! పద్ధతి కోసం డాక్యుమెంటేషన్ చూడండి. |
| .sort_by! | ShippingRateList | ఆప్షనల్ కోడ్ బ్లాక్ని ఉపయోగించి షిప్పింగ్ రేట్లను క్రమబద్ధీకరించండి. రూబీ యొక్క sort_by! పద్ధతి కోసం డాక్యుమెంటేషన్ చూడండి. |
ShippingRate
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .code | స్ట్రింగ్ | షిప్పింగ్ రేటు కోడ్ను రిటర్న్ చేస్తుంది. |
| .markup | Money | వర్తిస్తే, ఒక షిప్పింగ్ రేటు కోసం మార్కప్ను రిటర్న్ చేస్తుంది. |
| .name | స్ట్రింగ్ | షిప్పింగ్ రేటు పేరును రిటర్న్ చేస్తుంది. change_name పద్ధతిని ఉపయోగించడం ద్వారా దీన్ని సవరించవచ్చు. |
| .price | Money | షిప్పింగ్ రేటు ధరను రిటర్న్ చేస్తుంది. |
| .source | స్ట్రింగ్ | వర్తిస్తే, షిప్పింగ్ రేట్తో అనుబంధించబడిన సోర్స్ (క్యారియర్)ను రిటర్న్ చేస్తుంది. దీన్ని మార్చడం సాధ్యం కాదు. |
| .change_name(String new_name) | స్ట్రింగ్ | షిప్పింగ్ రేటు పేరును (గరిష్టంగా 255 అక్షరాలు) మారుస్తుంది. సోర్స్ను మార్చడం, తొలగించడం లేదా దాచడం సాధ్యం కాదు. |
| .apply_discount(Money discount, { message: String }) | Money | పేర్కొన్న స్థిర మొత్తం తగ్గింపును వర్తింపజేస్తుంది. ధరను 0 కన్నా తక్కువకు తగ్గించడం సాధ్యం కాదు. మెసేజ్ తప్పనిసరిగా ఉండాలి. |
| .phone_required? | Boolean | షిప్పింగ్ రేట్ను పొందడానికి ఫోన్ నంబర్ అవసరమైతే trueని లేదా ఫోన్ నంబర్ అవసరం లేకపోతే falseని రిటర్న్ చేస్తుంది. |
చెల్లింపు పద్ధతులు
చెల్లింపు స్క్రిప్ట్లలో కింది పద్ధతులను ఉపయోగించవచ్చు:
ఇన్పుట్
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .payment_gateways | PaymentGatewaysList | స్టోర్లోని అన్ని పేమెంట్ గేట్వేల లిస్ట్ను రిటర్న్ చేస్తుంది. |
PaymentGatewayList
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .delete_if | PaymentGatewayList | ఆప్షనల్ కోడ్ బ్లాక్ని ఉపయోగించి పేమెంట్ గేట్వేలను తొలగించండి. రూబీ యొక్క delete_if పద్ధతి కోసం డాక్యుమెంటేషన్ చూడండి. |
| .sort! | PaymentGatewayList | పోలిక ఆపరేటర్ లేదా ఆప్షనల్ కోడ్ బ్లాక్ని ఉపయోగించి పేమెంట్ గేట్వేలను క్రమబద్ధీకరించండి. రూబీ యొక్క sort! పద్ధతి కోసం డాక్యుమెంటేషన్ చూడండి. |
| .sort_by! | PaymentGatewayList | ఆప్షనల్ కోడ్ బ్లాక్ని ఉపయోగించి పేమెంట్ గేట్వేలను క్రమబద్ధీకరించండి. రూబీ యొక్క sort_by! పద్ధతి కోసం డాక్యుమెంటేషన్ చూడండి. |
PaymentGateway
| పద్ధతి | రిటర్న్ రకం | వివరణ |
|---|---|---|
| .name | స్ట్రింగ్ | పేమెంట్ గేట్వే పేరును రిటర్న్ చేస్తుంది. |
| .enabled_card_brands | List<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
మరింత తెలుసుకోండి
వీటి గురించి మరింత తెలుసుకోండి: