Integrating e-commerce systems
The NewStore platform works in tandem with e-commerce systems to unlock true omnichannel and therefore offers many integration points to connect both systems. Each integration is unique based on the requirements of your e-commerce platform and your business. For example, a simple integration can just import orders. A more complex project can include setting up your system to buy online, pick up in store (BOPIS) , or to buy in store, return online , or to display omnichannel order history, etc.
Prerequisites
E-commerce system
You can integrate NewStore with any e-commerce system that offers an API.
For integration with SalesForce Commerce Cloud, NewStore has a productized integration to get you started. For any other e-commerce system (e.g. Shopify, Magento, etc.), the integration options described in this article apply.Authenticating API calls in real time
The NewStore platform uses access tokens to authenticate API requests . These tokens are valid for 20 hours, so they can be cached. Since NewStore's access tokens allow authoritative access, do not store them on the frontend. There are two solutions to handle authentication against NewStore when requesting information in real time:
- Extend the backend of your e-commerce system to make the API calls to NewStore. Then, send the information to the frontend.
- Create an integration layer that communicates with both the e-commerce backend and NewStore, and make the frontend use the new API layer.
Managing inventory
If you want to retrieve Available-to-Promise (ATP) information from NewStore, the platform needs to have information on inventory, and the orders must be managed within NewStore. Inventory levels can be managed completely in the NewStore platform, or they can be imported from an ERP system. Learn more about how to choose the inventory master .
Integration points
The following are the possible points to integrate your e-commerce system with NewStore:
Managing catalogs
NewStore can handle multiple regional catalogs similarly to e-commerce and Product Information Management (PIM) systems . For a seamless integration with those systems, ensure that NewStore has the same up-to-date catalogs. Export the catalogs from your e-commerce system or PIM system and create them in NewStore. When exporting the data, follow the data formatting rules of the NewStore platform for the necessary objects (product, prices, categories).
When creating catalogs, ensure that the product_id
field in NewStore matches the product identifiers in your e-commerce system.
If that's not possible, you can handle the different product identifiers on the integration layer, by passing the right identifier between the systems.
You may schedule this process to run on a regular basis (e.g. daily, or every 2-3 days) according to your business needs.
Use the Import API to import products. The following articles explain how to create the data file and how to run the import job:
See Catalog Locale Manager for Salesforce Commerce Cloud to create catalog data in NewStore exported from SFCC.
Retrieving Available to Promise (ATP)
If you don't use NewStore as the Order Management System (OMS), retrieve the ATP information from the OMS as it has visibility on all the supply and demand on all channels.
If the NewStore platform is used as the OMS, it keeps track of the availability of every item in the different stores. When a change happens in the inventory (e.g. return, transfer, count, adjustment, etc.) the platform recalculates the availability. This allows you to show the number of available items in your e-commerce system on a granular level:
- If your e-commerce system supports stores, you can export and import NewStore's ATP information for each location.
- If your e-commerce system only supports one stock quantity, or is configured to use a single location, you can:
- Export an accumulated inventory number and import that to your e-commerce system.
- Do the above, but do a real-time call to NewStore to show in-store availability on the frontend.
Use the following APIs to retrieve ATP when NewStore is used as the OMS:
- Availabilities API: to retrieve ATP of a specific product on store level.
- Availabilities Export API: to export accumulated ATP for a group of locations (e.g. locations of a region).
- Create fulfillment location group method of the Availabilities Export API: to configure the groups used for the accumulated ATP export.
Retrieving shipping and pickup options
You can retrieve the shipping and pickup options from NewStore when a customer is selecting items in the e-commerce system.
The shipping options you retrieve from NewStore include a shipping option token (the shipping_offer_token
field).
You will use this token later, when injecting the order.
Learn how shipping works .
Use the following APIs to retrieve shipping/pickup options:
- Delivery API: to generate regular shipping options for an order.
- In-store Pickup API: to generate in-store pickup options. To set up in-store pickup in the first place, read this tutorial . To see how the In-store Pickup API works, read how to retrieve stores that can fulfill an order .
Injecting orders
The e-commerce platform is responsible only for capturing the order. Once an order is confirmed, inject it into the NewStore platform for routing and management.
Use the Order Injection API to inject orders into the NewStore platform . Learn more about the order life cycle .
Retrieving order history
You can retrieve a customer's order history (including in-store orders) from NewStore in real time.
Alternatively, you can sync with the e-commerce platform to retrieve order history for the customer that was placed in the platform. However, this may be a major additional cost as some e-commerce systems count imported historical orders as part of the Gross Merchandise Volume (GMV) and bill based on these records.
Use the following APIs to retrieve order history and related information from the NewStore platform:
- Customer Profile API: to retrieve the identifier of a customer.
- Order information retrieval API:
- To retrieve the order history for a customer.
- To retrieve details of an order.
Related topics