Henvisning til Shopify Scripts API
Scripts er skrevet med en Ruby API, som giver dig en hel del kontrol og fleksibilitet.
Der er forskellige typer af scripts. Når du opretter et script i appen Script Editor, tildeles scriptet en type baseret på den scriptskabelon, du valgte til at begynde med:
Scripts til varelinjer
脚本直到varelinjer pavirker varelinjer我indkøbskurven og kan ændre priser og give rabatter. Disse scripts køres, når der foretages en ændring til indkøbskurven.
Scripts til varelinjer, som giver en rabat på et abonnement, gælder kun for den første betaling af abonnementet. Scriptet giver ikke rabat på de efterfølgende betalinger.
Nogle metoderkan kun bruges i scripts til varelinjer.
Scripts til levering
Scripts til levering interagerer medlevering, og de kan ændre leveringsmetoder og give rabatter på leveringspriser. Disse scripts kører, når en kunde kommer til siden med indstillinger for levering under betalingsprocessen.
Scripts til levering, som giver rabat på leveringsprisen for et abonnement, gælder kun for den første betaling af abonnementet. Scriptet giver ikke rabat på de efterfølgende betalinger.
Nogle metoderkan kun bruges i scripts til levering.
Scripts til betaling
Scripts til betaling interagerer medbetalingerog kan omdøbe, skjule og omarrangere betalingsgateways. Bemærk, at scripts til betaling interagerer med betalingsgateways, som vises før betalingssiden, såsom Apple Pay. Disse scripts køres, når en kunde kommer til betalingssiden.
Nogle metoderkan kun bruges i scripts til betaling.
Generelle metoder
Følgende metoder kan bruges i enhver type script:
Input
Metode | Returtype | Beskrivelse |
---|---|---|
.cart | Indkøbskurv | Returnerer et objekt for en indkøbskurv, der kan ændres |
.locale | streng | Returnerer kundens landestandard. F.eks.en ,fr ellerpt-BR . |
Indkøbskurv
Objektet for indkøbskurven er kun tilgængeligt i webshoppen. Nogle forladte betalinger har adgang til objektet for indkøbskurven. Hvis en betaling imidlertid er blevet lukket, og kunden herefter besøger den forladte betaling, bliver han eller hun sendt til den forudfyldte betaling, og objektet for indkøbskurven findes ikke længere. Det skyldes, at butiklayoutet er blevet tilsidesat af mailen om forladt betaling.
Metode | Returtype | Beskrivelse |
---|---|---|
.customer | Kunde | Returnerer ejeren af indkøbskurven (om nogen). |
.shipping_address | ShippingAddress | Returnerer adressen til ejeren af indkøbskurven (om nogen). |
.discount_code | varierer | Returneringer:
Se et eksempel på |
.line_items | Liste |
Returnerer en liste med varelinjerne i indkøbskurven. |
.presentment_currency | Listel |
Returnerer kundens lokale valuta (indberetningsvaluta) (iISO 4217-format). F.eks. USD. |
.subtotal_price | Penge | Returnerer indkøbskurvens subtotal, efter rabatter på varelinjer er anvendt, men inden rabatkoder er anvendt. |
.total_weight | gram | 回击者窝samlede vægt阿莱varelinjer我indkøbskurven. |
CartDiscount:: FixedAmount
Metode | Returtype | Beskrivelse |
---|---|---|
.code | Streng | Returnerer den rabatkode, der blev brugt til at anvende rabatten. |
.amount | Penge | Returnerer rabatbeløbet. |
.reject({ message: String }) | nil | Afviser den rabatkode, der blev anvendt i indkøbskurven. Enbesked er påkrævet. |
.rejected? | Boolesk | Returnerer, hvorvidt rabatkoden blev afvist. |
CartDiscount::Percentage
Metode | Returtype | Beskrivelse |
---|---|---|
.code | Streng | Returnerer den rabatkode, der blev brugt til at anvende rabatten. |
.percentage | AET | Returnerer procentbeløb for rabatten |
.reject({ message: String }) | nil | Afviser den rabatkode, der blev anvendt i indkøbskurven. Enbesked er påkrævet. |
.rejected? | Boolesk | Returnerer, hvorvidt rabatkoden blev afvist. |
CartDiscount::Shipping
Metode | Returtype | Beskrivelse |
---|---|---|
.code | Streng | Returnerer den rabatkode, der blev brugt til at anvende rabatten. |
.reject({ message: String }) | nil | Afviser den rabatkode, der blev anvendt i indkøbskurven. Enbesked er påkrævet. |
.rejected? | Boolesk | Returnerer, hvorvidt rabatkoden blev afvist. |
Kunde
Metode | Returtype | Beskrivelse |
---|---|---|
.id | Heltal | Returnerer kundens id-nummer. |
Streng | Returnerer kundens mailadresse. | |
.tags | Liste |
Returnerer en liste over strenge, der repræsenterer alle tags, der er angivet for en kunde. |
.orders_count | Heltal | Returnerer det samlede antal ordrer, kunden har afgivet. |
.total_spent | Penge | 回击者侦破samlede贝尔bøkunden har afgivet ordrer for. |
.accepts_marketing? | Boolesk | Returnerer, om kunden accepterer markedsføring. |
LineItem
gramsMetode | Returtype | Beskrivelse |
---|---|---|
.grams | Returnerer varelinjens samlede vægt. | |
.line_price | Penge | Prisen på varelinjen. |
.discounted? | Boolesk | Returnerer, om prisen for en varelinje er blevet fratrukket rabat via et script eller en manuelt anvendt rabat. Brugen af rabatkoder påvirker ikke returneringsværdien. |
.properties | hash | Returnerer de egenskaber, der blev angivet for disse varelinjer. |
.variant | Variant | Returnerer den specifikke produktvariant, varelinjen repræsenterer. |
.quantity | Heltal | Returnerer antallet for denne varelinje. |
.selling_plan_id | Heltal | Returnerer salgsplanens id for varelinjen. Denne metode er nyttig, når butikken sælger abonnementer, og du vil have, at scriptet skal opdage, når en produktvariantsælges som et abonnement. |
Liste
Metode | Returtype | Beskrivelse |
---|---|---|
.new | Liste | Opretter et nyt objekt, der repræsenterer en liste. |
.[] | Element eller nil | Returnerer elementet ved det angivne indeks. |
.& | Liste | Returnerer en ny liste indeholdende elementer, der er fælles for de to lister, men uden duplikeringer. |
.delete_if | Liste | Slet elementer ved hjælp af en valgfri kodeblok. Se dokumentationen tilRubysdelete_if -metode. |
.empty? | Boolesk | Returnerer |
.first | Element eller nil | Returnerer det første element, eller |
.index(*args, &block) | int eller nil | Returnerer indekset for det første element på listen. Hvis der angives en blok i stedet for et argument, returneres indekset for det første element, for hvilket blokken er sand. |
.rindex(*args, &block) | int eller nil | Returnerer indekset for det sidste element på listen. Hvis der angives en blok i stedet for et argument, returneres indekset for det første element, som blokken er sandt for. |
.last | Element eller nil | Returnerer det sidste element eller |
.length | int | Returnerer antallet af elementer på listen. |
.size | int | Alias for længde. |
.each(*args, &block) | Liste | Kalder en blok én gang for hvert element på listen og sender elementet som en parameter til blokken. |
ShippingAddress
Metode | Returtype | Beskrivelse |
---|---|---|
.name | streng | Returnerer navnet på den person, der er tilknyttet leveringsadressen. |
.address1 | streng | Returnerer vejnavnet for leveringsadressen. |
.address2 | streng | Returnerer det valgfrie yderligere felt til vejnavnet for leveringsadressen. |
.phone | streng | Returnerer telefonnummeret for leveringsadressen. |
.city | streng | Returnerer byen for leveringsadressen. |
.zip | streng | Returnerer postnummeret for leveringsadressen. |
.province | streng | Returnerer området/staten for leveringsadressen |
.province_code | streng | Returnerer den forkortede værdi for området/staten for leveringsadressen. |
.country_code | streng | Returnerer den forkortede værdi for landet for leveringsadressen. |
Penge
Metode | Returtype | Beskrivelse |
---|---|---|
. derived_from_presentment (customer_cents:X) | Penge | Konverterer et beløb (i cent) fra kundens lokale valuta (indberetningsvaluta) til din butiks valuta. Denne metode accepterer parameterencustomer_cents , der accepterer et tal i cent. F.eks.Money.derived_from_presentment(customer_cents: 500) . |
.new | Penge | Opretter et nyt objekt, der repræsenterer en pris. |
.zero | Penge | Opretter et nyt objekt med en pris på nul. |
+ | Penge | Tilføjer toBeløb -objekter. |
- | Penge | Trækker étBeløb -objekt fra et andet. |
* | Penge | Ganger etBeløb -objekt med et tal. |
Eksempler på beløb
Opretter etMoney
-objekt, der repræsenterer 1.000 cent eller 10 USD.
Opretter etMoney
-objekt, der repræsenterer 1 USD og ganger derefter beløbet med 50. Returnerer etMoney
-objekt, der repræsenterer 50 USD.
Variant
Metode | Returtype | Beskrivelse |
---|---|---|
.id | Heltal | Returnerer variantens id-nummer. |
.price | Penge | Returnerer variantens stykpris. |
.product | Produkt | Returnerer variantens tilknyttede produkt. |
.skus | Listel |
Returnerer variantens SKU'er (varenumre), som ofte bruges til at holde styr på lagerbeholdningen. |
. title | Streng | Returnerer variantens titel. |
Produkt
Metode | Returtype | Beskrivelse |
---|---|---|
.id | Heltal | Returnerer produktets id-nummer. |
.gift_card`? | Boolesk | Returnerer, om produktet er et gavekort. |
.tags | Liste |
Returnerer en liste over strenge, der repræsenterer de tags, som er angivet for produktet. |
.product_type | Streng | En kategorisering, et produkt kan tagges med, sædvanligvis anvendt til filtrering og søgning. |
forhandler | Streng | Returnerer forhandleren af produktet. |
Kernel
Kerneler et Ruby-modul, der er inkluderet i hver klasse. Det betyder, at dets metoder er tilgængelige for hvert objekt. Disse metoder fungerer på samme måde som globale funktioner på andre sprog.
Metode | Returtype | Beskrivelse |
---|---|---|
.exit | ingen | Afslutter udførelsen af det aktuelle script uden fejl. Hvis dette køres, inden der er tildelt noget tilOutput.cart , har scriptet ingen effekt. Dette er en nyttig måde at afslutte scripts på, hvis kunden f.eks. ikke er berettiget til at køre scriptet. |
Kernel-eksempel
Metoder for varelinjer
Følgende metoder kan kun anvendes iscripts til varelinjer:
Indkøbskurv
Metode | Returtype | Beskrivelse |
---|---|---|
.subtotal_price_was | Penge | Returnerer indkøbskurvens subtotal før anvendelse af eventuelle rabatter. |
.subtotal_price_changed? | Boolesk | Returnerer, om subtotalen er ændret. |
LineItem
Metode | Returtype | Beskrivelse |
---|---|---|
. change_line_price (Beløbnew_price, { message:String}) | Penge | Ret varelinjens pris det til angivne beløb. Enbesked er påkrævet.new_price skal være lavere end den aktuelle pris. |
.original_line_price | Penge | Returnerer varelinjens oprindelige pris før anvendelse af scripts og rabatter. |
.line_price_was | Penge | Returnerer varelinjens pris, inden ændringerne blev anvendt af det aktuelle script. |
.line_price_changed? | Boolesk | Returnerer, om varelinjens pris er ændret. |
.change_propertieshashnew_properties, { message:String}) | hash | Angiver nye egenskaber for en varelinje. Den oprindelige hashværdi for egenskaber gemmes iproperties_was , og den hashværdi for egenskaber, der videregives til metoden, bliver de nye egenskaber for varelinjen. |
.properties_was | hash | Returnerer den oprindelige hashværdi for egenskaber for varelinjen, inden eventuelle ændringer blev anvendt. |
.properties_changed? | Boolesk | Returnerer, om egenskaberne for varelinjen er blevet ændret. |
.split({ take:Integer}) | LineItem | Opdeler en varelinje i to varelinjer.take angiver, hvilket antal der skal fjernes fra den oprindelige varelinje, for at du kan oprette den nye varelinje. |
.split example
Dette eksempelscript opdeler en varelinje kaldetoriginal_line_item
i to varelinjer. Den nye varelinje har et antal på 1 (angivet vedtake: 1
). Scriptet anvender derefter en reduceret pris på den nye varelinje med beskeden "Tredje hat til 5 dollars".
Variant
Metode | Returtype | Beskrivelse |
---|---|---|
.compare_at_price | Penge | Returnerer sammenligningsprisen for varianten. Returnerernil , hvis der ikke findes en sammenligningspris for varianten. |
Leveringsmetoder
Følgende metoder kan anvendes iscripts til levering:
Input
Metode | Returtype | Beskrivelse |
---|---|---|
.shipping_rates | ShippingRateList | Returnerer en liste over alle leveringspriserne. |
ShippingRateList
Metode | Returtype | Beskrivelse |
---|---|---|
.delete_if | ShippingRateList | Slet leveringspriser ved hjælp af en valgfri kodeblok. Se dokumentationen tilRubysdelete_if -metode. |
.sort! | ShippingRateList | Sortér leveringspriserne ved hjælp af sammenligningsoperatoren eller ved hjælp af en valgfri kodeblok. Se dokumentationen tilRubyssort! -metode. |
.sort_by! | ShippingRateList | Sortér leveringspriserne ved hjælp af en valgfri kodeblok. Se dokumentationen tilRubyssort_by! -metode. |
ShippingRate
Metode | Returtype | Beskrivelse |
---|---|---|
.code | Streng | Returnerer koden for leveringprisen. |
.markup | Penge | Returnerer markeringen af leveringsprisen, hvis det er relevant. |
.name | Streng | Returnerer navnet på leveringsprisen. Det kan ændres ved hjælp afchange_name -metoden. |
.price | Penge | Returnerer leveringsprisen. |
.source | Streng | 回击者窝kilde (transportfirmaet), er knyttet til leveringsprisen, hvis det er relevant. Den kan ikke ændres. |
. change_name(Stringnew_name) | Streng | Ændrer navnet (højst 255 tegn) på leveringsprisen. Det er ikke muligt at ændre, slette eller skjule kilden. |
. apply_discount (Beløbrabat, { message: String}) | Penge | Anvender en rabat på det angivne faste beløb. Prisen kan ikke reduceres til under 0. En besked er påkrævet. |
.phone_required? | Boolesk | Returnerersandt , hvis der kræves et telefonnummer for at hente leveringsprisen ellerfalsk , hvis et telefonnummer ikke kræves. |
Betalingsmetoder
Følgende metoder kan bruges iscripts til betaling:
Input
Metode | Returtype | Beskrivelse |
---|---|---|
.payment_gateways | PaymentGatewaysList | Returnerer en liste over alle betalingsgateways i butikken. |
PaymentGatewayList
Metode | Returtype | Beskrivelse |
---|---|---|
.delete_if | PaymentGatewayList | Slet betalingsgateways ved hjælp af en valgfri kodeblok. Se dokumentationen tilRubysdelete_if -metode. |
.sort! | PaymentGatewayList | Sortér betalingsgateways ved hjælp af sammenligningsoperatoren eller ved hjælp af en valgfri kodeblok. Se dokumentationen tilRuby ' ssort! Method. |
.sort_by! | PaymentGatewayList | Sortér betalingsgateways ved hjælp af en valgfri kodeblok. Se dokumentationen tilRubyssort_by! -metode. |
PaymentGateway
Metode | Returtype | Beskrivelse |
---|---|---|
.name | Streng | Returnerer navnet på betalingsgatewayen. |
.enabled_card_brands | Listel |
Hvis betalingsgatewayen understøtter kreditkort, returneres en liste over de kreditkorttyper, butikken accepterer. Hvis gatewayen ikke understøtter kreditkort, returneres en tom liste. |
. change_name(Stringnew_name) | Streng | Ændrer navnet på betalingsgatewayen. Betalingsgatewayer med logoer kan ikke omdøbes. |
Eksempler
I det følgende eksempel på et script for en varelinje reduceres produktets pris med 9 USD, når en kunde bestiller et produkt, som ikke er et gavekort. Derudover vises det beløb, kunden samlet har købt for ved alle besøg i din butik.
Få mere at vide
Få mere at vide om: