Storefront V1 API Specification (1.0.0)
Get stores by business
Retreive a list of stores that are currently active on storefront and owned by a busines. Search results will be sorted by store id.
Authorizations:
path Parameters
| business_id required  | string (BusinessId) ^([1-9][0-9]*)$   Example:  123 Business id used for filtering stores  | 
query Parameters
| pagination_token | string (PaginationToken)    Example:  pagination_token=1111 The pagination token to retrieve the previous/next page of results.  | 
| limit | integer (Limit)   [ 1 .. 20 ] ^(0|[1-9][0-9]*)$  Default:  10  Specify the maximum number of items that may be returned for a single request.  | 
Responses
Response samples
- 200
 - 400
 - 401
 - 403
 - 404
 - 429
 - 500
 
{- "stores": [
- {
- "name": "test",
 - "id": "123",
 - "address": "123 Street Apt123, 98101",
 - "status": {
- "storefront": "open"
 
} 
} 
], - "prev_token": "239843",
 - "next_token": "239886"
 
}Get stores by business group
Retreive a list of stores that are currently active on storefront and owned by a business group. Search results will be sorted by store id.
Authorizations:
path Parameters
| business_group_id required  | string (BusinessGroupId) ^([1-9][0-9]*)$   Example:  123 Business group id used for filtering stores  | 
query Parameters
| pagination_token | string (PaginationToken)    Example:  pagination_token=1111 The pagination token to retrieve the previous/next page of results.  | 
| limit | integer (Limit)   [ 1 .. 20 ] ^(0|[1-9][0-9]*)$  Default:  10  Specify the maximum number of items that may be returned for a single request.  | 
Responses
Response samples
- 200
 - 400
 - 401
 - 403
 - 404
 - 429
 - 500
 
{- "stores": [
- {
- "name": "test",
 - "id": "123",
 - "address": "123 Street Apt123, 98101",
 - "status": {
- "storefront": "open"
 
} 
} 
], - "prev_token": "239843",
 - "next_token": "239886"
 
}Get store details
Request more details about a single store given store id
Authorizations:
path Parameters
| store_id required  | string (StoreId) ^([1-9][0-9]*)$   Example:  123 Store id  | 
Responses
Response samples
- 200
 - 400
 - 401
 - 403
 - 404
 - 429
 - 500
 
{- "id": "123",
 - "name": "Example Store",
 - "address": "123 Street Apt123, WA",
 - "phone_number": "1233333456",
 - "time_zone": "US/New York",
 - "status": {
- "storefront": "open"
 
}, - "store_hours": {
- "storefront": {
- "monday": {
- "closed": false,
 - "asap_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "asap_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
] 
}, - "tuesday": {
- "closed": false,
 - "asap_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "asap_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
] 
}, - "wednesday": {
- "closed": false,
 - "asap_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "asap_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
] 
}, - "thursday": {
- "closed": false,
 - "asap_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "asap_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
] 
}, - "friday": {
- "closed": false,
 - "asap_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "asap_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
] 
}, - "saturday": {
- "closed": false,
 - "asap_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "asap_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
] 
}, - "sunday": {
- "closed": false,
 - "asap_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "asap_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
] 
} 
} 
}, - "store_special_hours": {
- "storefront": {
- "date": "2018-01-12",
 - "hours": {
- "closed": false,
 - "asap_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "asap_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_pickup": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
], - "scheduled_delivery": [
- {
- "start": "9am",
 - "end": "10pm"
 
} 
] 
} 
} 
}, - "minimum_order_value": 0,
 - "delivery_fee": 399,
 - "average_delivery_time": 20,
 - "average_pickup_time": 10
 
}Get store menus by store id
Authorizations:
path Parameters
| store_id required  | string (StoreId) ^([1-9][0-9]*)$   Example:  123 Store id  | 
Responses
Response samples
- 200
 - 400
 - 401
 - 403
 - 404
 - 429
 - 500
 
{- "menu": {
- "name": "string",
 - "id": "string",
 - "categories": [
- {
- "name": "string",
 - "id": "string",
 - "description": "string",
 - "items": [
- {
- "name": "string",
 - "description": "string",
 - "id": "string",
 - "price": {
- "value": 399,
 - "currency": "USD"
 
}, - "special_hours": [
- {
- "start_date": "2021-06-05",
 - "end_date": "2021-07-05",
 - "hours": [
- {
- "day": null,
 - "start_time": null,
 - "end_time": null
 
} 
] 
} 
], - "extras": [
- {
- "name": "string",
 - "description": "string",
 - "id": "string",
 - "min_num_options": 0,
 - "max_num_options": 0,
 - "num_free_options": 0,
 - "min_option_choice_quantity": 0,
 - "max_option_choice_quantity": 0,
 - "min_aggregate_options_quantity": 0,
 - "max_aggregate_options_quantity": 0,
 - "options": [
- {
- "name": null,
 - "description": null,
 - "id": null,
 - "price": null,
 - "special_hours": [ ],
 - "extras": [ ],
 - "original_image_url": null
 
} 
] 
} 
], - "original_image_url": "string"
 
} 
] 
} 
] 
} 
}Search nearby stores by business
Search for stores that are currently active on storefront and within a specified area given business id and location. Search results can be refined by providing additional keywords and the result will be sorted by distance.
Authorizations:
path Parameters
| business_id required  | string (BusinessId) ^([1-9][0-9]*)$   Example:  123 Business id used for filtering stores  | 
query Parameters
| lat required  | string (Latitude) ^(\+|-)?(?:90(?:(?:\.0{1,7})?)|(?:[0-9]|[1-8]...   Example:  lat=-32.1234537 latitude  | 
| lon required  | string (Longitude) ^(\+|-)?(?:180(?:(?:\.0{1,7})?)|(?:[0-9]|[1-9...   Example:  lon=-156.1234538 longitude  | 
| limit | integer (Limit)   [ 1 .. 20 ] ^(0|[1-9][0-9]*)$  Default:  10  Specify the maximum number of items that may be returned for a single request.  | 
| open_at | string (OpenAt) ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...   Example:  open_at=2018-08-22T17:20:28Z If specified, only stores that are open for business at the specified time are returned. Possible values is future UTC timestamp in ISO-8601 format within seven days from current time.  | 
| is_pickup | boolean (IsPickup)   Default:  true  If true, return stores based on store pick up raidus. Otherwise, return stores based on delivery radius. The default value is true.  | 
| search_radius | integer (StoreRadius)   [ 1 .. 10000 ]   Default:  1000  Define the distance in meters within which to return store results. The default value is 1000. Search radius is only applicable to pick ups.  | 
Responses
Response samples
- 200
 - 400
 - 401
 - 403
 - 404
 - 429
 - 500
 
{- "stores": [
- {
- "name": "test",
 - "id": "123",
 - "address": "123 Street Apt123, 98101",
 - "distance": 1.2,
 - "average_eta": 35
 
} 
] 
}Search nearby stores by business group
Search for stores that are currently active on storefront and within a specified area given business group id and location. Search results can be refined by providing additional keywords and the result will be sorted by distance.
Authorizations:
path Parameters
| business_group_id required  | string (BusinessGroupId) ^([1-9][0-9]*)$   Example:  123 Business group id used for filtering stores  | 
query Parameters
| lat required  | string (Latitude) ^(\+|-)?(?:90(?:(?:\.0{1,7})?)|(?:[0-9]|[1-8]...   Example:  lat=-32.1234537 latitude  | 
| lon required  | string (Longitude) ^(\+|-)?(?:180(?:(?:\.0{1,7})?)|(?:[0-9]|[1-9...   Example:  lon=-156.1234538 longitude  | 
| limit | integer (Limit)   [ 1 .. 20 ] ^(0|[1-9][0-9]*)$  Default:  10  Specify the maximum number of items that may be returned for a single request.  | 
| open_at | string (OpenAt) ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}...   Example:  open_at=2018-08-22T17:20:28Z If specified, only stores that are open for business at the specified time are returned. Possible values is future UTC timestamp in ISO-8601 format within seven days from current time.  | 
| is_pickup | boolean (IsPickup)   Default:  true  If true, return stores based on store pick up raidus. Otherwise, return stores based on delivery radius. The default value is true.  | 
| search_radius | integer (StoreRadius)   [ 1 .. 10000 ]   Default:  1000  Define the distance in meters within which to return store results. The default value is 1000. Search radius is only applicable to pick ups.  | 
Responses
Response samples
- 200
 - 400
 - 401
 - 403
 - 404
 - 429
 - 500
 
{- "stores": [
- {
- "name": "test",
 - "id": "123",
 - "address": "123 Street Apt123, 98101",
 - "distance": 1.2,
 - "average_eta": 35
 
} 
] 
}