Product Listing/Category Listing/Search Results/Product Compare Page
Product listing or product detail page will display the 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.
Once clicked on the personalized button, personalization popup will open where the 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 the price for the personalized product right into the Artifi designer to show the real-time price of the personalization. For such scenarios, Artifi provides a connection point between Artifi and Website. For which Magento needs to host a Price API which will return the price to Artifi.
In Artifi Designer, on changing the attributes or customizing the product, Artifi will make a call to your e-commerce 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: []
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:
Price will be stored in the e-commerce (Magento) site only, no duplicate entry is required in Artifi.
The Magento site will require to host an API that will accept “SKU” or other parameters (based on business requirements) and would respond to the price value as a 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.1.3 - Community Edition). (Please change this file to fit your business requirement)
Shopping Cart Page and Mini Cart
Personalized products added to the cart will always have a unique design. This means each time, the end-user personalize and adds any product to the cart; the product will appear in a new unique row. Even if the 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's default functionality.
An end-user can be able to edit personalized products through a cart where the product can be re-customized as required and will get updated with its new design.
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 the 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 the order is placed successfully, the personalized product can be previewed from the order section in the admin panel by going into sales->order->view, where for Artifi products, a preview option/link is available of the product design using a popup.
Wish list Items
Customized products from cart products which are personalized products can be a move to Wishlist where each product added to the wishlist will consider a unique product and will always be added to the new row. End-User can add the personalized product from the wish list back to the cart.
Other wishlists for Normal products remain the same as default Magento functionality only with the change that even normal products will also be added to the wishlist as unique row/product.
My Account -> Recently Ordered
In My Account Page -> Recently Ordered Products section, the checkbox is disabled for the products for which personalization is mandatory so that the product could not be added to the cart without personalizing.