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 | કાર્ટ | મ્યૂટેબલ (mutable) કાર્ટ ઑબ્જેક્ટ રિટર્ન કરે છે. |
| .locale | સ્ટ્રિંગ | ગ્રાહકનું લોકેલ રિટર્ન કરે છે. ઉદાહરણ તરીકે, en, fr, અથવા pt-BR. |
કાર્ટ
કાર્ટ ઑબ્જેક્ટ માત્ર ઑનલાઇન સ્ટોર પર જ ઉપલબ્ધ હોય છે. કેટલાક છોડી દીધેલા ચેકઆઉટ્સ પાસે કાર્ટ ઑબ્જેક્ટનું ઍક્સેસ હોય છે. જોકે, જો ચેકઆઉટ બંધ કરવામાં આવ્યું હોય અને ત્યારબાદ કોઈ ગ્રાહક છોડી દીધેલા ચેકઆઉટની મુલાકાત લે છે, તો તે તેમને અગાઉથી ભરેલા ચેકઆઉટ પર મોકલે છે અને ત્યાં કાર્ટ ઑબ્જેક્ટ અસ્તિત્વમાં હોતો નથી. આવું એટલા માટે થાય છે કારણ કે છોડી દીધેલ ચેકઆઉટ ઇમેઇલ દ્વારા સ્ટોરફ્રન્ટ બાયપાસ કરવામાં આવે છે.
| પદ્ધતિ | રિટર્ન પ્રકાર | વર્ણન |
|---|---|---|
| .customer | ગ્રાહક | કાર્ટના માલિક રિટર્ન કરે છે (જો કોઈ હોય તો). |
| .shipping_address | ShippingAddress | કાર્ટના માલિકનું શિપિંગ સરનામું રિટર્ન કરે છે (જો કોઈ હોય તો). |
| .discount_code | બદલાય છે |
રિટર્ન કરે છે:
જો કાર્ટમાં ડિસ્કાઉન્ટ લાગુ કરવામાં આવ્યું હોય તો |
CartDiscount::FixedAmount
| પદ્ધતિ | રિટર્ન પ્રકાર | વર્ણન |
|---|---|---|
| .code | સ્ટ્રિંગ | ડિસ્કાઉન્ટ લાગુ કરવા માટે ઉપયોગમાં લેવાયેલ ડિસ્કાઉન્ટ કોડ રિટર્ન કરે છે. |
| .amount | નાણાં | ડિસ્કાઉન્ટની નાણાંકીય રકમ પરત કરે છે. |
| .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 | નાણાં | ગ્રાહકે તમામ ઑર્ડર પર ખર્ચ કરેલી કુલ રકમ પરત કરે છે. |
| .accepts_marketing? | Boolean | ગ્રાહક માર્કેટિંગ સ્વીકારે છે કે કેમ તે પરત કરે છે. |
LineItem
| પદ્ધતિ | રિટર્ન પ્રકાર | વર્ણન |
|---|---|---|
| .grams | grams | લાઇન આઇટમનું કુલ વજન પરત કરે છે. |
| .line_price | નાણાં | લાઇન આઇટમની કિંમત. |
| .discounted? | Boolean | લાઇન આઇટમની કિંમતમાં સ્ક્રિપ્ટ અથવા મેન્યુઅલી લાગુ કરાયેલા ડિસ્કાઉન્ટ દ્વારા ઘટાડો કરવામાં આવ્યો છે કે કેમ તે પરત કરે છે. ડિસ્કાઉન્ટ કોડનો ઉપયોગ રિટર્ન વેલ્યૂને અસર કરતો નથી. |
| .properties | hash | આ લાઇન આઇટમ માટે નિર્દિષ્ટ કરેલી પ્રૉપર્ટી પરત કરે છે. |
| .variant | Variant | લાઇન આઇટમ દ્વારા રજૂ કરવામાં આવેલ ચોક્કસ પ્રોડક્ટ વેરિઅન્ટને પરત કરે છે. |
| .quantity | Integer | આ લાઇન આઇટમનો જથ્થો પરત કરે છે. |
| .selling_plan_id | Integer | લાઇન આઇટમ માટેના વેચાણ પ્લાનનો ID પરત કરે છે. જ્યારે સ્ટોર સબ્સ્ક્રિપ્શન વેચતો હોય અને તમે ઇચ્છતા હોવ કે સ્ક્રિપ્ટ એ શોધે કે પ્રોડક્ટ વેરિઅન્ટ સબ્સ્ક્રિપ્શન તરીકે વેચાય છે ત્યારે આ પદ્ધતિ ઉપયોગી છે. |
List
| પદ્ધતિ | રિટર્ન પ્રકાર | વર્ણન |
|---|---|---|
| .new | List | લિસ્ટને દર્શાવવા માટે નવો ઑબ્જેક્ટ બનાવે છે. |
| .[] | એલિમેન્ટ અથવા nil |
નિર્દિષ્ટ કરેલા ઇન્ડેક્સ પર એલિમેન્ટ પરત કરે છે. |
| .& | List |
બંને લિસ્ટમાં સામાન્ય હોય તેવા એલિમેન્ટ ધરાવતું નવું લિસ્ટ પરત કરે છે, જેમાં કોઈ ડુપ્લિકેટ્સ હોતા નથી. |
| .delete_if | List | વૈકલ્પિક કોડ બ્લૉકનો ઉપયોગ કરીને એલિમેન્ટને ડિલીટ કરો. Ruby ની delete_if પદ્ધતિ માટેના દસ્તાવેજો જુઓ. |
| .empty? | Boolean |
જો લિસ્ટમાં કોઈ એલિમેન્ટ ન હોય, તો |
| .first | એલિમેન્ટ અથવા nil |
પ્રથમ એલિમેન્ટ અથવા જો લિસ્ટ ખાલી હોય તો |
| .index(*args, &block) | int અથવા nil |
લિસ્ટના પ્રથમ એલિમેન્ટનો ઇન્ડેક્સ પરત કરે છે. જો આર્ગ્યૂમેન્ટના બદલે કોઈ બ્લૉક આપવામાં આવ્યો હોય, તો જે એલિમેન્ટ માટે બ્લૉક true હોય તે પ્રથમ એલિમેન્ટનો ઇન્ડેક્સ પરત કરે છે. |
| .rindex(*args, &block) | int અથવા nil |
લિસ્ટના છેલ્લા એલિમેન્ટનો ઇન્ડેક્સ પરત કરે છે. જો આર્ગ્યૂમેન્ટના બદલે કોઈ બ્લૉક આપવામાં આવ્યો હોય, તો જે એલિમેન્ટ માટે બ્લૉક true હોય તે પ્રથમ એલિમેન્ટનો ઇન્ડેક્સ પરત કરે છે. |
| .last | એલિમેન્ટ અથવા 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) | નાણાં | ગ્રાહકના સ્થાનિક (પ્રસ્તુતિ) ચલણમાંથી રકમને (સેન્ટમાં) તમારા સ્ટોરના ચલણમાં રૂપાંતરિત કરે છે. આ પદ્ધતિ customer_cents પૅરામીટર સ્વીકારે છે, જે સેન્ટમાં નંબર સ્વીકારે છે. ઉદાહરણ તરીકે, Money.derived_from_presentment(customer_cents: 500). |
| .new | નાણાં | કિંમતને દર્શાવવા માટે નવો ઑબ્જેક્ટ બનાવે છે. |
| .zero | નાણાં |
શૂન્ય કિંમત સાથે નવો ઑબ્જેક્ટ બનાવે છે. |
| + | નાણાં | બે 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 | નાણાં | વેરિઅન્ટની એકમ કિંમત પરત કરે છે. |
| .product | પ્રોડક્ટ | વેરિઅન્ટની સંબંધિત પ્રોડક્ટ પરત કરે છે. |
| .skus | સૂચિ<સ્ટ્રિંગ> | વેરિઅન્ટના સ્ટોક કીપિંગ યુનિટ (SKUs) પરત કરે છે, જેનો ઉપયોગ મોટા ભાગે ઇન્વેન્ટરી ટ્રૅક કરવા માટે થાય છે. |
| .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 | નાણાં | કોઈપણ ડિસ્કાઉન્ટ લાગુ કરવામાં આવે તે પહેલાં કાર્ટની પેટા સરવાળાની કિંમત પરત કરે છે. |
| .subtotal_price_changed? | Boolean | પેટા સરવાળાની કિંમતમાં ફેરફાર થયો છે કે કેમ તે પરત કરે છે. |
LineItem
| પદ્ધતિ | રિટર્ન પ્રકાર | વર્ણન |
|---|---|---|
| .change_line_price(Money new_price, { message: String }) | નાણાં | લાઇન આઇટમની કિંમતને ઉલ્લેખિત રકમમાં બદલો. એક message જરૂરી છે. new_price વર્તમાન કિંમત કરતાં ઓછી હોવી જોઈએ. |
| .original_line_price | નાણાં | સ્ક્રિપ્ટ અને ડિસ્કાઉન્ટ લાગુ કરવામાં આવે તે પહેલાં લાઇન આઇટમની મૂળ કિંમત પરત કરે છે. |
| .line_price_was | નાણાં | વર્તમાન સ્ક્રિપ્ટ દ્વારા ફેરફારો લાગુ કરવામાં આવે તે પહેલાં લાઇન આઇટમની કિંમત પરત કરે છે. |
| .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 | નાણાં | વેરિઅન્ટની સરખામણી કિંમત રિટર્ન કરે છે. જો વેરિઅન્ટમાં સરખામણી કિંમત ન હોય તો nil રિટર્ન કરે છે. |
શિપિંગ પદ્ધતિઓ
નીચેની પદ્ધતિઓનો શિપિંગ સ્ક્રિપ્ટ્સમાં ઉપયોગ કરી શકાય છે:
ઇનપુટ
| પદ્ધતિ | રિટર્ન પ્રકાર | વર્ણન |
|---|---|---|
| .shipping_rates | ShippingRateList | બધા શિપિંગ દરોની સૂચિ રિટર્ન કરે છે. |
ShippingRateList
| પદ્ધતિ | રિટર્ન પ્રકાર | વર્ણન |
|---|---|---|
| .delete_if | ShippingRateList | વૈકલ્પિક કોડ બ્લૉકનો ઉપયોગ કરીને શિપિંગ દરો ડિલીટ કરો. Ruby ની delete_if પદ્ધતિ માટે દસ્તાવેજીકરણ જુઓ. |
| .sort! | ShippingRateList | સરખામણી ઑપરેટરનો ઉપયોગ કરીને અથવા વૈકલ્પિક કોડ બ્લૉકનો ઉપયોગ કરીને શિપિંગ દરોને સૉર્ટ કરો. Ruby ની sort! પદ્ધતિ માટે દસ્તાવેજીકરણ જુઓ. |
| .sort_by! | ShippingRateList | વૈકલ્પિક કોડ બ્લૉકનો ઉપયોગ કરીને શિપિંગ દરોને સૉર્ટ કરો. Ruby ની sort_by! પદ્ધતિ માટે દસ્તાવેજીકરણ જુઓ. |
ShippingRate
| પદ્ધતિ | રિટર્ન પ્રકાર | વર્ણન |
|---|---|---|
| .code | સ્ટ્રિંગ | શિપિંગ દરનો કોડ રિટર્ન કરે છે. |
| .markup | નાણાં | જો લાગુ પડતું હોય, તો શિપિંગ દર માટે માર્કઅપ રિટર્ન કરે છે. |
| .name | સ્ટ્રિંગ | શિપિંગ દરનું નામ રિટર્ન કરે છે. તેને change_name પદ્ધતિનો ઉપયોગ કરીને સંશોધિત કરી શકાય છે. |
| .price | નાણાં | શિપિંગ દરની કિંમત રિટર્ન કરે છે. |
| .source | સ્ટ્રિંગ | જો સંબંધિત હોય, તો શિપિંગ દર સાથે સંકળાયેલ સૉર્સ (કૅરિઅર) રિટર્ન કરે છે. તેને સંશોધિત કરી શકાતું નથી. |
| .change_name(String new_name) | સ્ટ્રિંગ | શિપિંગ દરનું નામ (મહત્તમ 255 અક્ષરો સુધી) બદલે છે. સૉર્સને બદલવું, ડિલીટ કરવું અથવા છુપાવવું શક્ય નથી. |
| .apply_discount(Money discount, { message: String }) | નાણાં | નિર્દિષ્ટ નિશ્ચિત રકમનું ડિસ્કાઉન્ટ લાગુ કરે છે. કિંમતને 0 થી નીચે ઘટાડી શકાતી નથી. મેસેજ આવશ્યક છે. |
| .phone_required? | Boolean | જો શિપિંગ દર મેળવવા માટે ફોન નંબર જરૂરી હોય તો true રિટર્ન કરે છે, અથવા જો ફોન નંબર જરૂરી ન હોય તો false રિટર્ન કરે છે. |
ચુકવણી પદ્ધતિઓ
નીચેની પદ્ધતિઓનો પેમેન્ટ સ્ક્રિપ્ટ્સમાં ઉપયોગ કરી શકાય છે:
ઇનપુટ
| પદ્ધતિ | રિટર્ન પ્રકાર | વર્ણન |
|---|---|---|
| .payment_gateways | PaymentGatewaysList | સ્ટોરના બધા પેમેન્ટ ગેટવેઝની સૂચિ રિટર્ન કરે છે. |
PaymentGatewayList
| પદ્ધતિ | રિટર્ન પ્રકાર | વર્ણન |
|---|---|---|
| .delete_if | PaymentGatewayList | વૈકલ્પિક કોડ બ્લૉકનો ઉપયોગ કરીને પેમેન્ટ ગેટવેઝ ડિલીટ કરો. Ruby ની delete_if પદ્ધતિ માટે દસ્તાવેજીકરણ જુઓ. |
| .sort! | PaymentGatewayList | સરખામણી ઑપરેટરનો ઉપયોગ કરીને અથવા વૈકલ્પિક કોડ બ્લૉકનો ઉપયોગ કરીને પેમેન્ટ ગેટવેઝને સૉર્ટ કરો. Ruby ની sort! પદ્ધતિ માટે દસ્તાવેજીકરણ જુઓ. |
| .sort_by! | PaymentGatewayList | વૈકલ્પિક કોડ બ્લૉકનો ઉપયોગ કરીને પેમેન્ટ ગેટવેઝને સૉર્ટ કરો. Ruby ની sort_by! પદ્ધતિ માટે દસ્તાવેજીકરણ જુઓ. |
PaymentGateway
| પદ્ધતિ | રિટર્ન પ્રકાર | વર્ણન |
|---|---|---|
| .name | સ્ટ્રિંગ | પેમેન્ટ ગેટવેનું નામ રિટર્ન કરે છે. |
| .enabled_card_brands | સૂચિ<સ્ટ્રિંગ> |
જો પેમેન્ટ ગેટવે ક્રેડિટ કાર્ડ્સને સપોર્ટ કરતું હોય, તો સ્ટોર સ્વીકારે છે તેવા ક્રેડિટ કાર્ડના પ્રકારોની સૂચિ રિટર્ન કરે છે. જો ગેટવે ક્રેડિટ કાર્ડ્સને સપોર્ટ ન કરતું હોય, તો ખાલી સૂચિ રિટર્ન કરે છે. |
| .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