Guide for unified commerce

In this guide you will learn how to integrate your Omnichannel flows.

ENDLESS AISLE

If you have completed the above integration points (master data, price, deliveries and stock levels) you should be well of to start using Front Systems POS with the most common retail functionalities.

In case you are sold out in store of of an item your customer want, you can still sell from other stores or the online store.
Using endless aisle feature in Front Systems is easy for the store associate, and it depends on some basic integration points which is covered in this section to get it up and running in your POS.

The only thing actually happening in the pos is the placing of the online order and taking payment from the customer. The rest is completed in your eCom OMS (Order management system) where you send out order confirmation and eventually a shipment confirmation. Just like a normal online order.

Heres a summery of what you need to integrate

  1. Enriched master data (images and descriptions of products) REQUIRED

  2. Stock availability in online store and other stores REQUIRED

  3. Create Online order in your eCOM / OMS REQUIRED

  4. Search for customers in your CRM OPTIONAL

Step 1. Enriched master data

To enable your store associates to use front systems as a sales tool, they need to able to see the same images and product descriptions you already have available on your web shop.. Out of the box, Front Systems support the  PIM , InRiver. If that’s your PIM, jackpot! Just send the Api-token to your Front Systems contact person and we will have the integration up and running in no time. In case you have another PIM or you would like to control the integration your self, then go ahead and read.

Loop through your products and update them using
PUT /api/Products

Include only images and description in the body if you only are updating those.
In case you dont have the Front Systems ProductId, then look it up by using the GetProductByGTIN endpoint.

Example update payload

{
"description":" "Our model is 186cm long and is wearing a Medium",
"images":" [
"https://yourpimsourceurlexample/1",
"https://yourpimsourceurlexample/2",
"https://yourpimsourceurlexample/3"
]
}

TIP: The first url in the images array will be set as the main image in Front Systems.

Step 2. Stock levels from eCom

You need to show your store associates what's available online of course.
You do this by mirroring your online store stock levels in a separate stock in Front Systems which is used for Endless aisle sales.
Reach out to your Front Systems contact to get the virtual eCom stock setup and the pos configured toward this stock. Get hold of the Front Systems stockId which you will update as often as you want using the following endpoint.

Update stock level
POST /api/Stock/adjust
NOTE: When doing updating, you must keep items at max 1000 per request.
{
"description": "Stock adjust from online store",
"stockId": 123,
"items": [
{
"gtin": "7020580008718",
"quantity": 5
}
]
}
When doing partial updates, please just include the items which had stock movements since last request.
This way you limit the amount of items included.

 Once per night you can run a  “isCompleteStockCount": true and bring all items in the count and leave all with qty 0.
This will reconcile any issues during the incremental updates which must run quite often. (eg. once per minute)


Step 3 Create Online order in your eCOM / OMS

REQUIRED

When an order is placed from the Front Systems POS, a new order is created in the eCom with already payment and customer info attached.

This is completed by you subscribing to the endless aisle web hook. As soon as a sale is completed in a pos, a web hook with all sales details are sent to your subscribing endpoint. When you receive the data, you can simply create the online order in your eCom/OMS platform including the payment.
Make sure to include the transaction id (txtRef) so you bring the payment transaction reference into the order that you create.

Subscribe to endless aisle sales in pos using webhook
POST /api/Webhooks

Heres an example how to subscribe to an endless aisle webhook

{
"event": "EndlessAisle",
"url": "https://yourcallback.com/url"
}

{
"order": {
"billingAddress": {
"address1": "Konvallveien 27",
"city": "Oslo",
"country": "Norway",
"countryCode": "NO",
"first_name": "Haakon",
"last_name": "Skavhaug-Flender",
"province": "",
"zip": "1234"
},
"customer": {
"email": "haakon@flender.no",
"first_name": "Haakon",
"last_name": "Skavhaug-Flender",
"phone": "90194364",
"phoneCountryCode": "47"
},
"paymentLines": [
{
"amount": 1500,
"currency": "DKK",
"currencyTendered": 1500,
"subType": "mc",
"txRef": "UPD7001620741609002", <---- This is the transaction id. Eg Adyen
"type": "Card"
}
],
"receiptNo": 700000004,
"saleDateTime": "2021-05-11T15:59:48.308471+02:00",
"salesLines": [
{
"fullprice": 800,
"gtin": "5711452361117",
"price": 800,
"quantity": 1,
"shipFromOnlineStore": false, <---- Exclude all salesLines with false
"vat": 160
},{
"fullprice": 800,
"gtin": "5711452361118",
"price": 800,
"quantity": 1,
"shipFromOnlineStore": true, <---- True here means its an endless aisle sales line
"vat": 160
},
],
"shippingAddress": {
"address1": "Konvallveien 27",
"city": "Oslo",
"country": "Norway",
"countryCode": "NO",
"first_name": "Haakon",
"last_name": "Skavhaug-Flender",
"province": "",
"zip": "1234"
},
"storeInfo": {
"country": "Denmark",
"countryCode": "DK",
"currency": "DKK",
"posId": 4700,
"posName": "",
"salesPerson": "",
"storeInfo": "092001",
"storeName": "SS DK Studiestræde TEST",
"storeNo": "SSDK01"
}
}
}

Step 4 Search for customer in CRM

OPTIONAL

Allowing store associates to quickly lookup existing online customers is very convenient when it comes to placing endless aisle orders, because they dont need to ask for a lengthy address description when placing the order. They can simply search for the customer by phone number or email, and then the POS will return all customer data in a split second from your existing CRM/Loyalty solution.

This integration is setup by Front Systems , so please contact your Front systems contact person, to set it up.

Currently we support SalesForce, Voyado and Placewise out of the box.

Email receipt

Offering your customers a digital receipt is quite cool and you should offer your customer that. The most important thing to acknowledge is that you need to have a 3rd party email service (eg. CRM) for your own domain which will be doing the email sending. This way, you can mange your email look and feel all on your own.

What you need to do is to subscribe to the email receipt web hook. As soon as a sale is completed in a pos and email receipt is selected, a web hook with all sales details are sent to your subscribing endpoint.

Subscribe to endless aisle webhook
POST /api/Webhooks

Heres an example how to subscribe to an email webhook

{
"event": "Email",
"url": "https://yourcallback.com/url"
}

Buy online return in store

Description comming. Please contact for instructions

Buy online pickup in store

Description comming. Please contact for instructions

Buy online ship from store

Description comming. Please contact for instructions