eCommerce

Verkkokauppa

MarkkinapaikkaToimintaVersio 0.2.0manifest

Mihin se on tarkoitettu ​

Store the data of an online shop: listings, shipping methods, discount codes and web orders with a fulfilment flow. Refunds need a manager and an approval. A storefront or other client reads and writes this data through the API.

Mitä paketti tekee ja mitä ei ​

An online shop: categories, product listings with translations, shipping methods, discount codes, web orders with lines and a fulfilment flow of pending, paid, shipped, delivered, cancelled and refunded. When the instance runs with the public site enabled, visitors browse the published listings and place orders without an account; the server prices every order from the published listing and never trusts the browser. There is no payment provider: an order starts as pending and the shop contacts the buyer. Refunds need a human approval from a manager; agents may only propose them. Customer name, email and addresses are personal data and are never public. Needs the Products package.

Mallit ​

ecommerce_category ​

A group of listings shown together in the shop

Lukuryhmä: ecommerce.user. Kirjoitusryhmä: ecommerce.manager.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
nametextnoneeiecommerce.userselkoisenaCategory name shown in the shop
slugtextnoneeiecommerce.userselkoisenaURL part of the category, lowercase with dashes
descriptiontextnoneeiecommerce.userselkoisenaShort text about the category
sequencenumbernoneeiecommerce.userselkoisenaOrder among categories, lowest first
publishedboolnoneeiecommerce.userselkoisenaWhether the category is visible to shoppers

ecommerce_listing ​

A product as it appears in the online shop

Lukuryhmä: ecommerce.user. Kirjoitusryhmä: ecommerce.manager.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
product_idref → productnoneeiecommerce.userselkoisenaThe product being sold online
titletextnoneeiecommerce.userselkoisenaTitle shown in the shop
slugtextnoneeiecommerce.userselkoisenaURL part of the product page, lowercase with dashes
summarytextnoneeiecommerce.userselkoisenaOne or two sentences shown on product cards
descriptionlongtextnoneeiecommerce.userselkoisenaDescription shown on the product page, in Markdown
category_idref → ecommerce_categorynoneeiecommerce.userselkoisenaThe category the listing is shown under
pricemoneynoneeiecommerce.userselkoisenaShop price including tax (minor currency units, e.g. cents)
compare_at_pricemoneynoneeiecommerce.userselkoisenaPrevious price shown crossed out (minor currency units)
currencytextnoneeiecommerce.userselkoisenaISO 4217 currency code of the prices, for example EUR; empty means the shop currency from the instance settings
skutextnoneeiecommerce.userselkoisenaStock keeping unit shown on the product page
stock_policyselect (always_available, block_when_out, allow_backorder)noneeiecommerce.userselkoisenaWhat happens when stock runs out: always_available, block_when_out, allow_backorder
stock_quantitynumbernoneeiecommerce.userselkoisenaUnits on hand, used with the stock policy. Orders do not reduce it: adjust it by hand
publishedboolnoneeiecommerce.userselkoisenaWhether the listing is visible to shoppers

ecommerce_listing_translation ​

A listing translated into another language

Lukuryhmä: ecommerce.user. Kirjoitusryhmä: ecommerce.manager.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
listing_idref → ecommerce_listingnoneeiecommerce.userselkoisenaThe listing this translates
langselect (en, de, fr, pl, fi, sv, es)noneeiecommerce.userselkoisenaLanguage of the translation: en, de, fr, pl, fi, sv or es
titletextnoneeiecommerce.userselkoisenaTranslated title
summarytextnoneeiecommerce.userselkoisenaTranslated card text
descriptionlongtextnoneeiecommerce.userselkoisenaTranslated description in Markdown
publishedboolnoneeiecommerce.userselkoisenaWhether the translation is shown; it is only reachable while its listing is published

ecommerce_shipping_method ​

A way of delivering orders with its price

Lukuryhmä: ecommerce.user. Kirjoitusryhmä: ecommerce.manager.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
nametextnoneeiecommerce.userselkoisenaName shown at checkout, for example Standard delivery
carriertextnoneeiecommerce.userselkoisenaCarrier that delivers, for example DHL
pricemoneynoneeiecommerce.userselkoisenaDelivery price (minor currency units)
free_overmoneynoneeiecommerce.userselkoisenaOrder total above which delivery is free (minor currency units); empty means never
delivery_daysnumbernoneeiecommerce.userselkoisenaUsual number of days until delivery
activeboolnoneeiecommerce.userselkoisenaWhether shoppers can choose it

ecommerce_discount_code ​

A code a shopper enters at checkout for a reduction

Lukuryhmä: ecommerce.user. Kirjoitusryhmä: ecommerce.manager.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
codetextnoneeiecommerce.userselkoisenaThe code shoppers type, for example SPRING10
kindselect (percent, fixed)noneeiecommerce.userselkoisenaType of reduction: percent or fixed
valuenumbernoneeiecommerce.userselkoisenaReduction: basis points for percent (1000 is 10.00 percent), minor currency units for fixed
starts_ondatenoneeiecommerce.userselkoisenaFirst day the code works (YYYY-MM-DD)
ends_ondatenoneeiecommerce.userselkoisenaLast day the code works (YYYY-MM-DD)
max_usesnumbernoneeiecommerce.userselkoisenaHow many times the code may be used in total; empty means unlimited
used_countnumbernoneeiecommerce.userselkoisenaHow many times it has been used (kept up to date by hand)
minimum_ordermoneynoneeiecommerce.userselkoisenaSmallest order total the code applies to (minor currency units)
activeboolnoneeiecommerce.userselkoisenaWhether the code can be used

ecommerce_order ​

An order placed online

Lukuryhmä: ecommerce.user. Kirjoitusryhmä: ecommerce.user.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
numbertextnoneeiecommerce.userselkoisenaOrder number shown to the shopper. Free text: packages cannot generate sequences; the public checkout makes a random one
customer_emailtextinternalkylläecommerce.usermaskattuEmail address of the shopper
customer_nametextinternalkylläecommerce.usermaskattuName of the shopper
customer_idref → partynoneeiecommerce.userselkoisenaThe matching contact, once the shopper is known
shipping_addresslongtextinternalkylläecommerce.usermaskattuDelivery address
billing_addresslongtextinternalkylläecommerce.usermaskattuBilling address when different from delivery
shipping_method_idref → ecommerce_shipping_methodnoneeiecommerce.userselkoisenaThe chosen way of delivery
discount_code_idref → ecommerce_discount_codenoneeiecommerce.userselkoisenaThe discount code used, if any
placed_ondatenoneeiecommerce.userselkoisenaDay the order was placed (YYYY-MM-DD)
currencytextnoneeiecommerce.userselkoisenaISO 4217 currency code, for example EUR
subtotalmoneynoneeiecommerce.userselkoisenaSum of the lines (minor currency units, entered not computed)
discount_totalmoneynoneeiecommerce.userselkoisenaReduction from the discount code (minor currency units)
shipping_totalmoneynoneeiecommerce.userselkoisenaDelivery charge (minor currency units)
tax_totalmoneynoneeiecommerce.userselkoisenaTax included in the total (minor currency units)
totalmoneynoneeiecommerce.userselkoisenaAmount the shopper pays (minor currency units)
payment_referencetextfinancialkylläecommerce.userpidätettyReference from the payment provider; never a card number
tracking_referencetextnoneeiecommerce.userselkoisenaCarrier tracking number
access_tokentextsecreteiecommerce.userpidätettySecret link token that lets the shopper who placed a public order see its confirmation page. Nobody can read it back
stateselect (pending, paid, shipped, delivered, cancelled, refunded)noneeiecommerce.userselkoisenaFulfilment status: pending, paid, shipped, delivered, cancelled, refunded

ecommerce_order_line ​

One product line of a web order

Lukuryhmä: ecommerce.user. Kirjoitusryhmä: ecommerce.user.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
order_idref → ecommerce_ordernoneeiecommerce.userselkoisenaThe order the line belongs to
product_idref → productnoneeiecommerce.userselkoisenaThe product ordered
listing_idref → ecommerce_listingnoneeiecommerce.userselkoisenaThe shop listing the line was ordered from
descriptiontextnoneeiecommerce.userselkoisenaProduct text as it was when ordered
quantitynumbernoneeiecommerce.userselkoisenaUnits ordered
unit_pricemoneynoneeiecommerce.userselkoisenaPrice per unit including tax (minor currency units)
subtotalmoneynoneeiecommerce.userselkoisenaLine total (minor currency units, entered not computed)

Työnkulut ​

ecommerce_order ​

ToimintoSiirtääKuka voi suorittaaHyväksyntä
ecommerce_order.mark_paidstate: pending → paidecommerce.userei
ecommerce_order.shipstate: paid → shippedecommerce.userei
ecommerce_order.deliverstate: shipped → deliveredecommerce.userei
ecommerce_order.cancelstate: pending → cancelledecommerce.userei
ecommerce_order.refundstate: paid → refundedecommerce.managerkyllä
ecommerce_order.refund_deliveredstate: delivered → refundedecommerce.managerkyllä

Käyttöoikeusryhmät ​

Tämän sovelluksen käyttämät ryhmät:

  • ecommerce.manager
  • ecommerce.user

Hyväksyntävaiheet ​

Vaiheet, joita agentti voi vain ehdottaa:

  • ecommerce_order.refund
  • ecommerce_order.refund_delivered

Mitä agentit voivat ja eivät voi tehdä ​

Agentti voi lukea, hakea, luoda ja päivittää tämän sovelluksen tietueita sekä suorittaa toiminnot, jotka eivät vaadi hyväksyntää, tunnisteensa käyttöoikeusryhmien rajoissa.

Se voi vain ehdottaa näitä vaiheita, ja ihmisen on hyväksyttävä ne: ecommerce_order.refund, ecommerce_order.refund_delivered, ecommerce_category.delete, ecommerce_listing.delete, ecommerce_listing_translation.delete, ecommerce_shipping_method.delete, ecommerce_discount_code.delete, ecommerce_order.delete, ecommerce_order_line.delete.

Henkilötiedot maskataan paikkamerkeiksi: ecommerce_order.customer_email, ecommerce_order.customer_name, ecommerce_order.shipping_address, ecommerce_order.billing_address.

Nämä kentät pidätetään agenteilta kokonaan: ecommerce_order.payment_reference, ecommerce_order.access_token.

Riippuvuudet ​

  • base
  • product

Asennus ​

Asenna se Customize-sovelluksesta (Marketplace) tai komentoriviltä:

bash
obop modules install-from ecommerce

Vaatii tietokannan ja ylläpitäjän oikeudet.

Tee oma ​

Moduulioppaassa näytetään, miten tällaiset sovellukset kirjoitetaan