Product Listing, Category Listing, Search Results, Product Compare Page
Product listing or product detail page will display Personalize button with the product as per the product personalization settings. If Personalization Required setting is set to No, Add To Cart button will also be displayed. If Personalization Allowed is set to No for the product, only Add to cart button will be displayed.
Product Detail Page
Once clicked on personalized button, personalization popup will open where user can customize with the various options provided (Text, Options, Graphics, Snapshots, etc) by Artifi engine. After customizing, User can able to add the product into the cart.
Price Integration - Sending Price info from Magento to Artifi Designer (Within Artifi IFrame)
For some use cases, you may want to show price for the personalized product right into the Artifi designer to show real time price of the personalization. For such scenarios Artifi provides a connection point between Artifi and Website. For which Magento needs to host an Price API which will return price to Artifi.
In Artifi Designer, on changing the attributes or customizing the product, Artifi will make a call to your ecommerce website server to get the price. Artifi will call the Magento Price API and will pass the Product code or sku (and other custom variables like color code or font code or Attributes etc [Based on custom business requirements]) as the parameter. Example: [[1]]
This url will return the price value in html format. Being an HTML String response, it'll be in control of Magento Price API regarding what to display for Price, like Base Price Or Additional Price or Discounted price etc.
Response HTML (Inline formatting) Examples:
Key Points
Price will be stored in ecommerce (Magento) site only, no duplicate entry is required in Artifi.
Magento site will require to host an API which will accept “sku” or other parameters (based on business requirements) and would respond the price value as FORMATTED HTML string.
Artifi will consume this API method via Ajax call, and will show the response “Price HTML String” in a defined location within Artifi Iframe.
Magento Price API will be in full control of what to return as the price, based on any discount or tiered price etc.
Here’s the link to a Sample Magento Price API (Tested with Magento 2.2.0 - Community Edition). (Please change this file to fit your business requirement)
Shopping Cart Page and Mini Cart
Personalized products added into the cart will always have its unique design. Means each time, end user personalize and add any product to cart; the product will appear in a new unique row. Even if same product is personalized twice, it will act as different products into the cart with its unique personalized design.
Products added normally using Add to cart functionality without personalizing will behave as per Magento default functionality.
End user can be able to edit personalized product through cart where product can be re-customized as per required and will get updated with its new design.
All of the above features are also applicable in Magento Mini-cart.
User can preview personalized product in popup through the cart page.
Checkout Success Page
As the design is added in our cart we can checkout using magento default functionality and place our order. As our order is placed, magento notifies the Artifi server with user id and product status. Each personalized product will be updated on Artifi Engine from the user’s current cart.
Admin Panel -> Order Page
After order is placed successfully, personalized product can be previewed from the order section in the admin panel by going into sales->order->view, where for Artifi products, preview option / link is available of the product design using popup.
Wish list Items
Customized products from cart products which are personalized products can be move to Wish list where each product added to wishlist will consider as unique product and will always be added to the new row. End User can add the personalized product from wish list back to cart.
Other wishlist for Normal products remains same as default Magento functionality only with the change that even normal products will also added to wish list as unique row/product.
My Account -> Recently Ordered
In My Account Page -> Recently Ordered Products section, checkbox is disabled for the the products for which personalization is mandatory, so that the product could not be added to cart without personalizing.