Merchant configuration
To build a Buy Online, Pick up in Store solution, you must first create a location for pickup. You can then manage inventory for a location, configure inventory settings such as stock warning levels. Last, you must create a method for pickup. You can define collection instructions and assign the method to a location.
Create locations
Create one or more locations using the Create locations endpoint. Include a pickup location from which customers can pick up their orders.
Request
Response
Update location details
After you create a location, you can update its details using the Update locations endpoint.
Request
Response
Get all locations
After you create one or more locations, use the Get locations endpoint to retrieve location details.
Request
Response
Manage inventory for a location
Buy Online, Pick up in Store uses the Inventory API to manage inventory quantities in two ways:
- Absolute quantity sets or overwrites the inventory quantity of a product or variant.
- Relative quantity adjusts a product or variant’s inventory quantity by adding to or subtracting from the existing quantity.
Before setting inventory quantity to a location, check the inventory tracking configurations that have been enabled. There are three inventory tracking configurations:
- Inventory is tracked by product - This setting is used if your product has no variations. For example, champagne glasses or .
- Inventory is tracked by variant - This setting is used if your product has different attributes (variations), e.g. a shirt has various sizes and colors.
- Inventory is not tracked - This setting is used if you do not have a need to track inventory quantity, e.g. you may sell a digital asset like a PDF or digital music title. When inventory is not tracked, the product will always be considered available to sell on your storefront, even if it may not be in your physical storage location.
It’s important to know the type of tracking when making absolute or relative adjustments, as this will ultimately determine how you author your API request to set inventory quantity.
Absolute adjustments to inventory quantity
You can make absolute adjustments for inventory tracked by product. To make absolute adjustments, send a request to the Absolute adjustment endpoint.
Request
Response
You can make absolute adjustments for inventory tracked by variant.
Request
Response
Relative adjustments to inventory quantity
You can make relative adjustments to inventory tracked by product. To make relative adjustments, send a request to the Relative inventory adjustments endpoint.
Request
Response
You can also make relative adjustments to inventory tracked by variant.
Request
Response
Configure inventory settings
In addition to making absolute or relative adjustments to inventory quantities, other inventory settings can also be set, including:
- Warning Level - This is the same as the
inventory_warning_levelattribute in the Catalog API - Safety Stock - The quantity of product that is stored to prevent an out-of-stock situation. It serves as insurance against sudden or rapid fluctuations in demand. Safety stock quantity is not included in the “available to sell” quantity that may be displayed to customers on the storefront.
To do so, send a request to the Update inventory settings for a location endpoint.
You can configure inventory settings for inventory tracked by product.
Request
Response
You can configure inventory settings for inventory tracked by variant.
Request
Response
Get inventory by location
At this point you may want to view inventory by location. To do so, send a request to the Get inventory at a location endpoint.
Request
Response
[Optional step] Get a product’s inventory across all locations
Alternatively, you can view aggregate inventory information for a product, across all locations that stock it. Send a request to the Get inventory at locations endpoint and filter by product_id, variant_id, or sku.
Request
Response
Create a pickup method and assign it to a location
Once locations have been created, you can create pickup methods and assign them to a location. To do so, send a request to the Create pickup methods endpoint.
Request
Response
Add a second pickup method and assign it to a location
Some merchants offer multiple pickup options at a single location. For example, a merchant might offer both in-store pickup and curbside pickup. To achieve this, send a request to the Create pickup methods endpoint to create another pickup method and assign it to the same location.
Request
Response
Update a specific detail for a pickup method
If you need to update the original pickup method details, you can use the Pickup Methods API. Update any of the following details using the Update pickup methods endpoint:
location_iddisplay_namecollection_instructionscollection_time_description
Request
Response
[Optional step] Verify pickup method assignment
Once you have assigned the pickup methods to the location(s), you can check what you’ve configured. To do so, send a request to the Get pickup methods endpoint.