Shopifyn komentosarja-API -viite

Komentosarjat on kirjoitettu Ruby-API -kielellä, mikä lisää hallittavuutta ja joustavuutta huomattavasti.

Komentosarjatyyppejä on erilaisia. Kun luot komentosarjan Script Editor -sovelluksessa, komentosarjalle määritetään tyyppi sen perusteella, minkä komentosarjamallin valitset:

Rivikohdan komentosarjat

Rivikohdan komentosarjat vaikuttavat ostoskorissa oleviin riveihin ja voivat muuttaa hintoja sekä myöntää alennuksia. Nämä komentosarjat suoritetaan, kun koriin tehdään muutos.

Rivikohdan komentosarjoja, jotka alentavat tilauksen hintaa, sovelletaan vain tilauksen ensimmäiseen maksuun. Komentosarja ei alenna myöhempiä maksuja.

Joitakin menetelmiä voidaan käyttää vain rivikohdan komentosarjoissa.

Toimituskomentosarjat

Toimituskomentosarjat ovat vuorovaikutuksessa toimituksen kanssa, ja ne voivat muuttaa toimitustapoja sekä myöntää alennuksia toimitushinnoista. Nämä komentosarjat suoritetaan, kun kassalla päädytään toimitusvaihtoehtojen sivulle.

Toimituskomentosarjoja, jotka alentavat tilauksen toimitusmaksua, sovelletaan vain tilauksen ensimmäiseen maksuun. Komentosarja ei alenna myöhempiä maksuja.

Joitakin menetelmiä voidaan käyttää vain toimituskomentosarjoissa.

Maksukomentosarjat

Maksukomentosarjat toimivat yhdessä maksujenkanssa, ja niillä voidaan nimetä uudelleen maksuportaaleja, piilottaa niitä ja järjestää niitä uudelleen. Huomaa, että maksukomentosarjat eivät toimi vuorovaikutuksessa ennen kassan näyttöä näytettävien maksuportaalien kuten Apple payn kanssa. Nämä komentosarjat suoritetaan, kun kassalla päädytään maksusivulle.

Joitakin menetelmiä voidaan käyttää vain maksukomentosarjoissa.

Yleiset menetelmät

Seuraavat menetelmät ovat käytettävissä missä tahansa komentosarjassa:

Syöttää

Komentosarjan syötetavat
Tapa Palautustyyppi Kuvaus
.cart Ostoskori Palauttaa muutettavan ostoskorin kohteen.
.locale merkkijono Palauttaa asiakkaan sijainnin. Esimerkiksi en fr tai pt-BR.

Ostoskori

Ostoskorin kohde on käytettävissä vain verkkokaupassa. Joissakin hylätyissä ostoskoreissa on pääsy ostoskorin kohteeseen. Jos maksu on kuitenkin suljettu ja asiakas vierailee hylätyssä ostoskorissa, hänet lähetetään esitäytettyyn maksuvaiheeseen eikä ostoskorin kohdetta enää ole. Tämä johtuu siitä, että myyntipaikka on ohitettu sähköpostilla hylätystä ostoskorista.

Komentosarjamenetelmät, joissa käytetään ostoskorin kohdetta
Tapa Palautustyyppi Kuvaus
.customer Asiakas Palauttaa ostoskorin omistajan (jos sellainen on).
.shipping_address Toimitusosoite Palauttaa ostoskorin omistajan (jos sellainen on) toimitusosoitteen.
.discount_code Vaihtelee Palautukset:

discount_code on käytössä, jos ostoskoriin on sovellettu alennusta. Tämä ei välttämättä tarkoita sitä, että ostoskorin hinta muuttuu. Jos alennus koskee esimerkiksi yli $50 ostoskoreja, ja komentosarja laskee ostoskorin hinnan alle $50, discount_code on edelleen olemassa, mutta ostoskorin hinta ei muutu.

Katso esimerkki: discount_code.

.line_items Luettelo <LineItem> Palauttaa luettelon, joka sisältää ostoskorissa olevat rivikohdat.
.presentment_currency Luettelo<String> Palauttaa asiakkaan paikallisen (esitys-) valuutan (ISO 4217 -muodossa). Esimerkiksi USD.
.subtotal_price Raha Palauttaa ostoskorin välisumman hinnan, kun rivikohdan alennukset on sovellettu, mutta ennen kuin alennuskoodeja sovelletaan.
.total_weight grammat Palauttaa kaikkien ostoskorissa olevien rivikohtien kokonaispainon.

CartDiscount::FixedAmount

Komentosarjamenetelmät, joissa käytetään CartDiscount::FixedAmount -kohdetta
Tapa Palautustyyppi Kuvaus
.code Merkkijono Palauttaa alennuskoodin, jolla alennusta sovelletaan.
.amount Raha Palauttaa alennuksen rahasumman.
.reject({ message: String }) Nil Hylkää ostoskoriin sovellettavan alennuskoodin. message vaaditaan.
.rejected? Totuusarvo Palauttaa, josko alennuskoodi on hylätty.

CartDiscount::Percentage

Komentosarjamenetelmät, joissa käytetään CartDiscount::Percentage -kohdetta
Tapa Palautustyyppi Kuvaus
.code Merkkijono Palauttaa alennuskoodin, jolla alennusta sovelletaan.
.prosentuaalinen summa Desimaali Palauttaa alennuksen prosenttimäärän.
.reject({ message: String }) Nil Hylkää ostoskoriin sovellettavan alennuskoodin. message vaaditaan.
.rejected? Totuusarvo Palauttaa, josko alennuskoodi on hylätty.

CartDiscount:: Shipping

Komentosarjamenetelmät, joissa käytetään CartDiscount:: Shipping-objektia
Tapa Palautustyyppi Kuvaus
.code Merkkijono Palauttaa alennuskoodin, jolla alennusta sovelletaan.
.reject({ message: String }) Nil Hylkää ostoskoriin sovellettavan alennuskoodin. message vaaditaan.
.rejected? Totuusarvo Palauttaa, josko alennuskoodi on hylätty.

Asiakas

Komentosarjamenetelmät Asiakasobjektin avulla
Tapa Palautustyyppi Kuvaus
.id Kokonaisluku Palauttaa asiakkaan tunnusnumeron.
.email Merkkijono Palauttaa asiakkaan sähköpostiosoitteen.
.tags Luettelo <Tag> Palauttaa luettelon merkkijonoista, jotka edustavat kaikkia asiakkaan tunnisteita.
.orders_count Kokonaisluku Palauttaa asiakkaan tekemän tilauksen kokonaismäärän.
.total_spent Raha Palauttaa kokonaissumman, jonka asiakas on käyttänyt kaikille tilauksille.
Marketing? Totuusarvo Palauttaa, hyväksyykö asiakas markkinoinnin.

LineItem

<tdgrammat
Komentosarjamenetelmät, joissa käytetään LineItem-objektia
Tapa Palautustyyppi Kuvaus
.grams Palauttaa rivikohdan kokonaispainon.
.line_price Raha Rivikohdan hinta.
tujen? Totuusarvo Tämä palauttaa tiedon, onko rivikohdan hintaa alennettu komentosarjalla vai manuaalisesti käytetyllä alennuksella. Alennuskoodien käyttäminen ei vaikuta palautusarvoon.
.properties Hash Palauttaa tämän rivin nimikkeille määritetyt ominaisuudet.
.variant Versio Palauttaa tuoteversion, jota rivikohta edustaa.
.quantity Kokonaisluku Palauttaa tämän rivikohdan määrän.
.selling_plan_id Kokonaisluku Palauttaa rivikohdan myyntisopimuksen tunnuksen. Tämä menetelmä on hyödyllinen, kun kauppa myy tuotetilauksia ja haluat, että komentosarja havaitsee, kun tuoteversio myydään tilauksena.

Luettelo

Komentosarjamenetelmät Luetteloobjektin avulla
Tapa Palautustyyppi Kuvaus
.new Luettelo Luo uuden objektin, joka edustaa luetteloa.
.[] Elementti tai nolla

Palauttaa määritetyn indeksin elementin.

. & Luettelo

Palauttaa uuden luettelon, joka sisältää kahta luetteloa varten samat elementit, joissa ei ole kaksoiskappaleita.

.delete_if Luettelo Poista elementtejä käyttämällä valinnaista koodilohkoa. Katso Rubyn delete_if-menetelmän asiakirjat.
jä? Totuusarvo

Palauttaa true , jos luettelossa ei ole elementtejä.

.first Elementti tai nolla

Palauttaa ensimmäisen elementin tai nil Jos luettelo on tyhjä.

.index (* args, & lohko) INT tai Nil

Palauttaa luettelon ensimmäisen elementin indeksin. Jos argumentin sijasta annetaan lohko, funktio palauttaa sen ensimmäisen elementin indeksin, jonka lohko on tosi.

.rindex(*args, &block) INT tai Nil

Palauttaa luettelon viimeisen elementin indeksin. Jos argumentin sijasta annetaan lohko, funktio palauttaa sen ensimmäisen elementin indeksin, jonka lohko on tosi.

.last Elementti tai nolla

Palauttaa viimeisen elementin tai nil Jos luettelo on tyhjä.

.length Int.

Palauttaa luettelon elementtien määrän.

.size Int.

Pituuden alias.

.each(*args, &block) Luettelo

Kutista kunkin luettelon elementin jälkeen lohkon, joka välittää elementin lohkon parametrina.

Toimitusosoite

Komentosarjamenetelmät käyttämällä ShippingAddress-objektia
Tapa Palautustyyppi Kuvaus
.name merkkijono Palauttaa toimitusosoitteeseen liitetyn henkilön nimen.
.address1 merkkijono Palauttaa toimitusosoitteen kadunosoitteen osan.
.address2 merkkijono Palauttaa toimitusosoitteen kadunosoiteosan valinnaisen lisäkentän.
.phone merkkijono Palauttaa toimitusosoitteen puhelinnumeron.
.city merkkijono Palauttaa toimitusosoitteen kaupungin.
.zip merkkijono Palauttaa Toimitusosoitteen postinumero.
.province merkkijono Palauttaa toimitusosoitteen maakunta/osavaltion.
.province_code merkkijono Palauttaa toimitusosoitteen maakunta/osavaltion lyhenidun arvon.
.country_code merkkijono Palauttaa toimitusosoitteen maan lyhenidun arvon.

Raha

Komentosarjamenetelmät käyttämällä Rahankohdetta
Tapa Palautustyyppi Kuvaus
. derived_from_presentment (customer_cents:X) Raha Muuntaa summan (senttiä) asiakkaan paikallisesta (esitys-) valuutasta kaupan valuuttaan. Tämä menetelmä hyväksyy customer_cents parametrin, joka hyväksyy luvun senttejä. Esimerkiksi Money.derived_from_presentment(customer_cents: 500) .
.new Raha Luo uuden objektin, joka edustaa hintaa.
.zero Raha

Luo uuden objektin, jonka hinta on nolla.

+ Raha Lisää kaksi Money objektia.
- Raha Vähentää yhden Money objektin toisesta sovelluksesta.
* Raha Kertaa Money objektin numerolla.

Esimerkkejä rahankäytöstä

Money.new(cents: 1000)

Luo Money object, joka edustaa 1000 senttiä tai $10.

Money.new(cents: 100) * 50

Luo Money object, joka edustaa $1, ja sitten kertoo, että summa on 50. Palauttaa Money object, joka edustaa $50.

Versio

Komentosarjamenetelmät, joissa käytetään versioobjektia
Tapa Palautustyyppi Kuvaus
.id Kokonaisluku Palauttaa version tunnusnumeron.
.price Raha Palauttaa version yksikköhinnan.
.product Tuote Palauttaa tuoteversion liittyvän tuotteen.
.SKUs Luettelo<String> Palauttaa tuoteversion SKU-koodit, joita käytetään usein varaston seurannassa.
.title Merkkijono Palauttaa version nimen.

Tuote

Komentosarjamenetelmät tuoteobjektin avulla
Tapa Palautustyyppi Kuvaus
.id Kokonaisluku Palauttaa tuotteen tunnusnumeron.
.gift_card? Totuusarvo Palauttaa, onko tuote lahjakortti.
.tags Luettelo <Tag> Palauttaa luettelon merkkijonoista, jotka edustavat tälle tuotteelle asetettuja tunnisteita.
.product_type Merkkijono Luokittelus, johon tuote voidaan merkitä, ja sitä käytetään yleisesti suodatus-ja hakutuloksissa.
.myyjä Merkkijono Palauttaa tämän tuotteen myyjän.

Ytimen

Kernel on Ruby-moduuli, joka sisältyy jokaiseen luokkaan. Tämän takia sen metodit ovat saatavilla jokaiseen kohteeseen. Ne käyttäytyvät samoin kuin globaalit funktiot muissa kielissä.

Komentosarjamenetelmät, joissa käytetään ydinobjektia
Tapa Palautustyyppi Kuvaus
.exit Mikään Lopettaa senhetkisen komentosarjan suorituksen ilman virhettä. Jos tämä suoritetaan ennen kuin jotain on määritetty Output.cart , komentojonolla ei ole vaikutusta. Tämä on hyödyllinen tapa poistua komentosarjasta, esimerkiksi jos asiakas ei ole oikeutettu suorittamaan komentosarjaa.

Ytimen esimerkki

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

Rivikohtaiset menetelmät

Seuraavat menetelmät ovat käytettävissä vain Rivikohtien komentosarjoissa:

Ostoskori

Komentosarjaobjekti käyttämällä rivikohdan komentosarjoja Ostoskorisesoluissa
Tapa Palautustyyppi Kuvaus
.subtotal_price_was Raha Palauttaa kaupan välisumman, ennen kuin alennuksia on sovellettu.
.subtotal_price_changed? Totuusarvo Palauttaa, onko välisumhinta muuttunut.

LineItem-objekti

Komentosarjamenetelmät, joissa käytetään Linekohde-objektia Rivikohtien komentosarjoissa
Tapa Palautustyyppi Kuvaus
.change_line_price(Money new_price, { message: String }) Raha Muuta rivikohdan hintaa määritettyyn summaan. A message on pakollinen. on new_price oltava alhaisempi kuin nykyisellä hinnalla.
.original_line_price Raha Palauttaa rivikohdan alkuperäisen hinnan, ennen kuin komentosarjat ja alennukset otettiin käyttöön.
.line_price_was Raha Palauttaa rivikohdan hinnan, ennen kuin senhetkinen komentosarja on käyttänyt muutoksia.
.line_price_changed? Totuusarvo Palauttaa, onko rivikohan hinta muuttunut.
.change_properties(hash new_properties, { message: String }) Hash Asettaa rivikohtaa varten uusia ominaisuuksia. Alkuperäisten ominaisuuksien hajautus tallennetaan properties_was kohteeseen, ja menetelmään siirrellä ominaisuuksien hajautus muuttuu rivikohdan uusiksi ominaisuuiksi.
.properties_was Hash Palauttaa rivikohdan alkuperäisten ominaisuuksien hajautuksen ennen muutosten soveltamista.
.properties_changed? Totuusarvo Palauttaa, onko rivikohan ominaisuuksia muutettu.
.split({ take: Integer }) LineItem-objekti Jaot rivikohdan kahteen rivikohtaan. takemäärittää, mitä määrä poistetaan alkuperäisestä rivikohdasta uuden rivikohdan luomiseksi.

.split-esimerkki

Tämä esimerkkijono jakaa rivikohdan nimeltä original_line_item into kahteen rivikohtaan. Uuden rivikohdan määrä on 1 (take: 1) määrittämällä. Komentosarja käyttää sitten alennettua hintaa uudelle rivikohtaan, jossa on viesti "kolmas hattu 5 dollariin".

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

Versio

Komentosarjamenetelmät, joissa käytetään versiokohdetta Rivikohtien komentosarjoissa
Tapa Palautustyyppi Kuvaus
.compare_at_price Raha Palauttaa version vertailuhinnan. Palautettu arvo on nolla, jos versiolla ei ole vertailuhintaa.

Toimitustavat

Seuraavat menetelmät ovat käytettävissä toimituskomentosarjoissa:

Syöttää

Komentojonotavat Syöttöobjektin käyttäminen lähetyskomentosarjoissa
Tapa Palautustyyppi Kuvaus
.shipping_rates ShippingRateList Palauttaa luettelon kaikista toimitushinnoista.

ShippingRateList

Komentosarjamenetelmät, joissa käytetään ShippingRateList-objektia lähetyskomentosarjoissa
Tapa Palautustyyppi Kuvaus
.delete_if ShippingRateList Poista toimitusmaksut käyttämällä valinnaista koodilohkoa. Katso Ruby delete_if -menetelmändokumentaatio.
lajitella! ShippingRateList Lajittele toimituskulut vertailuoperaattorin käyttämällä tai käytä valinnaista koodilohkoa. Katso Ruby sort! -menetelmändokumentaatio.
.sort_by! ShippingRateList Lajittele toimitusmaksut käyttämällä valinnaista koodilohkoa. Katso Ruby sort_by! -menetelmändokumentaatio.

ShippingRate

Komentosarjamenetelmät, jotka käyttävät Lähetyskomentosarjat ShippingRate-objektia
Tapa Palautustyyppi Kuvaus
.code Merkkijono Palauttaa toimitusmaksun koodin.
.markup Raha Palauttaa toimitusmaksun marginaalin, jos mahdollista.
.name Merkkijono Palauttaa toimituskulun nimen. Voidaan muokata käyttämällä change_name-toimintoa.
.price Raha Palauttaa toimitusmaksun hinnan.
.lähde Merkkijono Palauttaa toimitushintaan liittyvän lähteen (kuljetuspalvelun), jos sellainen on. Sitä ei voi muokata.
.change_name(String new_name) Merkkijono Muuttaa toimituskulujen nimeä (enintään 255 merkkiä). Lähteen muuttaminen, poistaminen tai piilottaminen ei ole mahdollista.
.apply_discount(Money discount, { message: String }) Raha Ottaa käyttöön määritetyn kiinteän summan alennuksen. Hinnan hintaa ei voi vähentää alle 0. Viesti on pakollinen.
.phone_required? Totuusarvo Palauttaa true , jos puhelinnumero on pakollinen toimitusmaksun saadakseen tai false Jos puhelinnumeroa ei tarvita.

Maksutavat

Seuraavat menetelmät ovat käytettävissä maksukomentosarjoissa:

Syöttää

Komentojonomenetelmät Syöttöobjektin käyttäminen maksukomentosarjoissa
Tapa Palautustyyppi Kuvaus
.payment_gateways PaymentGatewaysList Palauttaa luettelon kaikista kaupan maksuportaaleja.

PaymentGatewayList

Script Methods-maksukomentosarja-objektin käyttäminen maksukomentosarjoissa
Tapa Palautustyyppi Kuvaus
.delete_if PaymentGatewayList Poista maksuportaaleja käyttämällä valinnaista koodilohkoa. Katso Ruby delete_if -menetelmändokumentaatio.
lajitella! PaymentGatewayList Lajittele maksuportaaleja vertailuoperaattoria käyttäen tai käytä valinnaista koodilohkoa. Katso Ruby sort! -menetelmändokumentaatio.
.sort_by! PaymentGatewayList Voit lajitella maksuportaaleja käyttämällä valinnaista koodilohkoa. Katso Ruby sort_by! -menetelmändokumentaatio.

Maksuportaalia

Tapa Palautustyyppi Kuvaus
.name Merkkijono Palauttaa maksuportaalin nimen.
.enabled_card_brands Luettelo<String>

Jos maksuportaalissa tuetaan luottokortteja, se palauttaa luettelon luottokortyypeistä, jotka kauppa hyväksyy. Jos maksuportaali ei tue luottokortteja, funktio palauttaa tyhjän luettelon.

.change_name(String new_name) Merkkijono Muuttaa maksuportaalin nimen. Logoilla varustettuja maksuportaaleja ei voi nimetä uudelleen.

Esimerkkejä

Kun asiakas tilaa seuraavasta komentorivikomentosarjasta esimerkin, joka ei ole lahjakortti, tuotteen hintaa alennetaan $9 mennessä. Näkyvillä on myös kokonaissumma, jonka asiakas on käyttänyt kaikkien kauppasi käyntien aikana:

Asiakas = syötteet. Asiakassyöte line_items. Jokainen do | Line | Tuote = Line seuraava, jos tuote gift_card? Line _ change_line_price (Line line_price-raha. uusi (sentti-900), viesti: asiakas. total_spent) Lopeta lähtö. cart = syöttö.

Lisätietoja

Lisätietoja aiheesta:

Valmiina aloittamaan Shopifyssa?

Kokeile ilmaiseksi