Published
11/2/2021
Categories
E-Commerce

Amazon BOPIS API Integration

Recently, Endertech completed an integration between Amazon’s new BOPIS API (buy online, pickup in store) and a major mattress retailer with 300 locations on the east coast.

Introduction: Amazon BOPIS API Integration

The integration synchronizes pricing, inventory, and orders between our client’s ERP (STORIS) and their Amazon Seller account via Amazon’s Selling Partner APIs including their new BOPIS API endpoints.

Our work adds the BOPIS functionality on to a previous Amazon STORIS integration completed for typical delivery orders.

The key differences between a standard Amazon Selling Partner API integration and integration with Amazon BOPIS are:

  1. Inventory must be recorded per Store Location, known in Amazon as a “Supply Source”.

  2. Thus, Supply Sources must be first set up with their hours of operation and other properties.

  3. Orders must be differentiated from delivery orders using a new flag in the Order object

  4. Orders must be routed differently within the ERP for fulfillment via pickup vs delivery.

Setting Up Supply Sources

There are three separate API requests needed to set up a supply source.

First, initialize the supply source by providing basic information like a name, an address, and an ID. Amazon will then reply with their internal ID they have generated to refer to this supply source. We store that as a cross reference against our internal ID.

Second, we must update the supply source with details like whether it accepts pickup, whether it provide delivery, how much handling time it needs, and what its hours of operations are.

Last, we activate the supply source.

Inventory per Supply Source

In the traditional Amazon integration, there is only one inventory value to update. With BOPIS, inventory must be updated for each supply sources created.

To this end, Amazon provides a new API endpoint called the Listings Patch API. You supply that end point with the internal Amazon ID for your Supply Source, an ASIN, and the inventory available at that Supply Source.

Unfortunately, as of this writing, there is no UI within Seller Central to view this data, so you just have to trust that it got saved.

Processing Amazon BOPIS Orders

So once your Supply Sources are created, updated, and activated… and you have added listings to your Seller Central account… and you have updated the inventory for those listings at your locations… the BOPIS option will start to appear for customers purchasing in your area.

If they choose the BOPIS order, the order will come through Seller Central as normal, however in the API data, a new boolean will appear as true. It’s called “isISPU” which stands for “is store pick up”.

So, if that is true, our software will route the order differently than a delivery order. In the context of STORIS, the ERP we integrated for our client, that means we will set the pickup location to the customer selected location and we will ensure the delivery location is null.

After an order is received, Amazon BOPIS wants to know when it is ready for pickup. So our software checks when the inventory has been reserved and sends an order update message to Amazon, who forwards the status update to the customer.

Once the customer picks it up, again our software monitors for that status change and alerts Amazon.

Conclusion

If you represent an organization with a substantial retail footprint that is interested in integrating with Amazon BOPIS, we’d be happy to help you out. If your ERP has an API or other open means of communication, we can leverage what we already have with the Amazon BOPIS side of our software, and just build the half we need for your ERP.

If you’re a furniture retailer using STORIS, we already have a ready made solution for you.