OrderCloud: Key Notes
Today, I bring to you a review about key concepts about Order Cloud. I am on the way to certificate myself on this new product and I find pretty useful to write down my notes for a better understood and I hope you find them useful as well. Also, this will be a start point for future post with deeper knowledge and practice labs.
Sitecore Order Cloud lets you build your ecommerce at best. Provide design and business process freedom. It based on MACH Architecture (Microservices, API-First, Cloud Native, Headless). Then it is flexible, starts small, grows at demand, it is language agnostic and extensible (models, assignments, Webhooks).
It is designed for integration, thanks to:
- Extensible & filterable properties
- Rules Engines (user defined logic)
- Webhooks (pre/post API callbacks triggered by events)
- Integration events (dedicated plugins)
- SDK /.Net Catalyst (tooling for extension integrations)
And for this purpose, it uses several conventions:
- SSL
- JSON
- Date format (ISO 8601 yyy-mm-dd/yyymmdd)
- Oauth2
- Writeable unique IDs
- HTTP methods (HTTP verbs)
- Error handling (HTTP Status Codes)
It is composed by parties and entities and they are related by assignments:
- Party: refers to a user or something a user belongs to
- Entity: Everything else
- Assignments: Relationships between parties and entities
- Explicit
- Cascade down
- Many to many
You will create:
- Marketplace
- Can be called company also
- Contains infinite buyers and suppliers organizations
- Connects buyers and suppliers
- Suppliers (Optional on a Ecommerce solution)
- Create products
- Fulfill orders
- Buyers (Customers)
- View categories & products
- Create orders and services requests
- Users (Sellers, buyers, suppliers)
- Person who access the application
- Products/Catalogs
A solution could by build based on strategies:
- Direct to Customer (B2C)
- B2B
- Retail & Franchise
Order Cloud define environments, which are isolated and independent instance of the API, each one is provided by its own host, name, compute resources, data storage, etc.
- Production
- Staging
- Sandbox
Every solution created in Order Cloud start by a Marketplace and it is meant to maintain the buyers functions like products and price management, approval rules creation and setup, shipping availability, buyer users billing and so many more.
There are 5 authentication methods provided by OAuth 2.0. Also SSO is available thanks to Open ID Connect.
Security profiles
- Groups of roles and give us access to specific API endpoint and functionality
- Can be assigned at any level like user (user group, buyer, supplier or seller)
- Roles
- Reader: list, get
- Admin: create, save, delete.
- Shopper: any shop functionality
- Me: users' own data
- Override: write certain data
- Custom: read/write to specific feature
Products are visible and can be managed by marketplace owners (MPO) and suppliers by /products meanwhile a shopper will have access to products by /me/products. A line item is made by at least a single product and quantity.
Inventory is managed by :
- Product
- Variant
Orders are business transaction into parties composed by:
- Collection of line items
- Payment methods
- Tax
- Shipping information
Orders directions
- Represent an order path from a specific perspective (buyer, MPO, supplier)
- Outgoing
- Incoming
- All (applicable in most cases, for MPO the recommended practices is to use incoming and outgoing directions)
Order status
- Unsubmitted: "Adding to cart" state
- Open
- Awaiting Approval
- Declined
- Completed: once it is shipped Order Cloud will update the status
- Cancelled: locked to any modification (deleted)
Order Cloud take in account the abandoned cart clean up by setting up due dates:
This is a theory preamble of Order Cloud but we will be reviewing more details on every concept and practice soon. If you want to dig deeper on this, OrderCloud documentation is the best way to do it, as always.
Please, feel free to leave me a comment or suggestion and I hope to see you again.